-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 <joeyh@debian.org> Thu, 22 Jan 2009 02:54:12 -0500
+ -- Joey Hess <joeyh@debian.org> Thu, 22 Jan 2009 15:39:33 -0500
mr (0.37) unstable; urgency=low
+++ /dev/null
-# 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
- }