From: Joey Hess Date: Thu, 22 Jan 2009 20:39:36 +0000 (-0500) Subject: Remove gitless lib. It turned out to be better to simply use git clone --shared when... X-Git-Url: https://git.madduck.net/code/myrepos.git/commitdiff_plain/59260c55beafe7096bae16359588eb89ff90d0e3?ds=inline Remove gitless lib. It turned out to be better to simply use git clone --shared when checking out. Sorry for the churn.. --- diff --git a/debian/changelog b/debian/changelog index ccc021d..bf08485 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -mr (0.38) UNRELEASED; urgency=low +mr (0.38) unstable; urgency=low - * gitless: Use --shared when cloning repos, avoids problems with hard links - etc. + * Remove gitless lib. It turned out to be better to simply + use git clone --shared when checking out. Sorry for the churn.. - -- Joey Hess Thu, 22 Jan 2009 02:54:12 -0500 + -- Joey Hess Thu, 22 Jan 2009 15:39:33 -0500 mr (0.37) unstable; urgency=low diff --git a/lib/gitless b/lib/gitless deleted file mode 100644 index 20c2e5e..0000000 --- a/lib/gitless +++ /dev/null @@ -1,45 +0,0 @@ -# This adds a special type of git repository, where the .git directory -# is stored on a file server, to avoid wasting space with it on the client. -# One example use is storing a music collection in git, where you can spare -# the extra space needed for .git on your file server, but not on your -# laptop. This fills basically the same niche as unison. -# -# To make mr use this file, add a line like this inside the [DEFAULT] -# section of your ~/.mrconfig -#include = cat /usr/share/mr/gitless -# -# And an example repo using it would look something like: -#[lib/sound] -#checkout = gitless_checkout turtle /media/turtle/home/joey/lib sound -# -# In this example, the file server's hostname is "turtle", -# and it's mounted on /media/turtle. The file server contains a sound.git -# repository in the specified directory under that mount point. -# When mr checks out that repository, it will create a sound.hostname -# directory on the server, containing just the .git directory, and symlink -# the client's .git directory to it. After checkout, normal git and mr -# commands can be used, as long as the file server is available. - -lib = - gitless_checkout() { - server="$1" - remotebase="$2" - dir="$3" - hostname="$(hostname)" - if [ "$hostname" = "$server" ]; then - git clone "$dir.git" "$dir" - cd "$dir" - else - if [ ! -d "$remotebase/$dir.$hostname" ]; then - git clone --shared --no-checkout "$remotebase/$dir.git" "$remotebase/$dir.$hostname" - fi - mkdir -p "$dir" - cd "$dir" - ln -sf "$remotebase/$dir.$hostname/.git" - git reset --hard - fi - - # disable auto gc, because it breaks repo hard links, - # and is not smart to run over a networked filesystem - git config gc.auto 0 - }