ls-remote: fix rsync:// to report HEAD
authorJunio C Hamano <junkio@cox.net>
Thu, 25 May 2006 04:36:14 +0000 (21:36 -0700)
committerJunio C Hamano <junkio@cox.net>
Thu, 25 May 2006 04:36:14 +0000 (21:36 -0700)
This prevented recent git-clone from checking out the working
tree files in the cloned repository.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-ls-remote.sh

index b6882a9..2fdcaf7 100755 (executable)
@@ -58,11 +58,19 @@ http://* | https://* )
        ;;
 
 rsync://* )
-       mkdir $tmpdir
+       mkdir $tmpdir &&
+       rsync -rlq "$peek_repo/HEAD" $tmpdir &&
        rsync -rq "$peek_repo/refs" $tmpdir || {
                echo "failed    slurping"
                exit
        }
+       head=$(cat "$tmpdir/HEAD") &&
+       case "$head" in
+       ref:' '*)
+               head=$(expr "z$head" : 'zref: \(.*\)') &&
+               head=$(cat "$tmpdir/$head") || exit
+       esac &&
+       echo "$head     HEAD"
        (cd $tmpdir && find refs -type f) |
        while read path
        do