Code

Teach "git clone" about rsync sources
authorLinus Torvalds <torvalds@g5.osdl.org>
Sat, 9 Jul 2005 00:07:12 +0000 (17:07 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 9 Jul 2005 00:07:12 +0000 (17:07 -0700)
That will be the normal way of cloning anonymously for a while, so let's
make sure it's easy to use.

git-clone-script

index 19697427ecfac400809eee9ba7c1625eea13f409..01707e92aac0c2ed654d14df230e19ab9378fa94 100755 (executable)
@@ -79,4 +79,16 @@ yes,yes)
        ;;
 esac
 
-cd "$D" && git clone-pack "$repo"
+case "$repo" in
+rsync://*)
+       rsync -avz --ignore-existing "$repo/objects/" "$D/.git/objects/" &&
+       rsync -avz --ignore-existing "$repo/refs/" "$D/.git/refs/"
+       ;;
+http://*)
+       echo "Somebody should add http fetch" >&2
+       exit 1
+       ;;
+*)
+       cd "$D" && git-clone-pack "$repo"
+       ;;
+esac