git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* HEAD branch duplicated in remotes/origin
@ 2006-06-08  7:38 Uwe Zeisberger
  2006-06-08  8:17 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Zeisberger @ 2006-06-08  7:38 UTC (permalink / raw)
  To: git

Hello,

when cloning with --use-separate-remote, $GITDIR/remotes/origin contains
two references to refs/heads/master.  This breaks `git fetch origin'.

uzeisberger@io:~/gsrc$ git --version
git version 1.4.0.rc2.ga95e

uzeisberger@io:~/gsrc$ git clone --use-separate-remote git://git.kernel.org/pub/scm/git/git.git git-copy
Checking files out...)
 100% (523/523) done

uzeisberger@io:~/gsrc$ cd git-copy

uzeisberger@io:~/gsrc/git-copy$ git fetch origin
error: no such remote ref refs/heads/master
Fetch failure: git://git.kernel.org/pub/scm/git/git.git

uzeisberger@io:~/gsrc/git-copy$ grep -n master .git/remotes/origin
2:Pull: refs/heads/master:refs/remotes/origin/master
12:Pull: refs/heads/master:refs/remotes/origin/master

uzeisberger@io:~/gsrc/git-copy$ sed -i 2d .git/remotes/origin

uzeisberger@io:~/gsrc/git-copy$ git fetch origin

uzeisberger@io:~/gsrc/git-copy$ 

I didn't look into it deeply, but I think this happens because the
remote HEAD is translated to refs/heads/master and added while master is
added once more while processing refs/heads/master explicitly.

Best regards
Uwe

-- 
Uwe Zeisberger

http://www.google.com/search?q=12+divided+by+3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HEAD branch duplicated in remotes/origin
  2006-06-08  7:38 HEAD branch duplicated in remotes/origin Uwe Zeisberger
@ 2006-06-08  8:17 ` Junio C Hamano
  2006-06-08 12:33   ` Uwe Zeisberger
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2006-06-08  8:17 UTC (permalink / raw)
  To: Uwe Zeisberger; +Cc: git

Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de> writes:

> when cloning with --use-separate-remote, $GITDIR/remotes/origin contains
> two references to refs/heads/master.

Thanks for noticing.

Very lightly tested but I think this should fix it.
-- >8 --
git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin

Under --use-separate-remote we ended up duplicating the branch
remote HEAD pointed at in $GIT_DIR/remotes/origin file.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
diff --git a/git-clone.sh b/git-clone.sh
index de59904..64318b4 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -391,11 +391,16 @@ Pull: refs/heads/$head_points_at:$origin
 		(cd "$GIT_DIR/$remote_top" && find . -type f -print) |
 		while read dotslref
 		do
-			name=`expr "$dotslref" : './\(.*\)'` &&
-			test "$use_separate_remote" = '' && {
-				test "$head_points_at" = "$name" ||
-				test "$origin" = "$name"
-			} ||
+			name=`expr "$dotslref" : './\(.*\)'`
+			if test "z$head_points_at" = "z$name"
+			then
+				continue
+			fi
+			if test "$use_separate_remote" = '' &&
+			   test "z$origin" = "z$name"
+			then
+				continue
+			fi
 			echo "Pull: refs/heads/${name}:$remote_top/${name}"
 		done >>"$GIT_DIR/remotes/$origin" &&
 		case "$use_separate_remote" in

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: HEAD branch duplicated in remotes/origin
  2006-06-08  8:17 ` Junio C Hamano
@ 2006-06-08 12:33   ` Uwe Zeisberger
  2006-06-08 16:39     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Zeisberger @ 2006-06-08 12:33 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hello Junio,

Junio C Hamano wrote:
> Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de> writes:
> 
> > when cloning with --use-separate-remote, $GITDIR/remotes/origin contains
> > two references to refs/heads/master.
> 
> Thanks for noticing.
> 
> Very lightly tested but I think this should fix it.
> -- >8 --
> git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin
> 
> Under --use-separate-remote we ended up duplicating the branch
> remote HEAD pointed at in $GIT_DIR/remotes/origin file.
> 
> Signed-off-by: Junio C Hamano <junkio@cox.net>
> ---
> diff --git a/git-clone.sh b/git-clone.sh
> index de59904..64318b4 100755
> --- a/git-clone.sh
> +++ b/git-clone.sh
> @@ -391,11 +391,16 @@ Pull: refs/heads/$head_points_at:$origin
>  		(cd "$GIT_DIR/$remote_top" && find . -type f -print) |
>  		while read dotslref
>  		do
> -			name=`expr "$dotslref" : './\(.*\)'` &&
> -			test "$use_separate_remote" = '' && {
> -				test "$head_points_at" = "$name" ||
> -				test "$origin" = "$name"
> -			} ||
> +			name=`expr "$dotslref" : './\(.*\)'`
> +			if test "z$head_points_at" = "z$name"
> +			then
> +				continue
> +			fi
> +			if test "$use_separate_remote" = '' &&
> +			   test "z$origin" = "z$name"
> +			then
> +				continue
> +			fi
>  			echo "Pull: refs/heads/${name}:$remote_top/${name}"
>  		done >>"$GIT_DIR/remotes/$origin" &&
>  		case "$use_separate_remote" in
> 
I wonder if this is easier not to add the other duplicate.  That is let
this as it is and don't add the head HEAD points at.  Don't know, didn't
look into it.

Moreover, is it sound to error if a Pull: line is duplicated?  In my
eyes at least the error message is wrong/missleading.  Otherwise the
patch works for me, but probably I only did the same testing as you.

Best regards
Uwe

-- 
Uwe Zeisberger

cal 9 1752 | grep 10

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HEAD branch duplicated in remotes/origin
  2006-06-08 12:33   ` Uwe Zeisberger
@ 2006-06-08 16:39     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2006-06-08 16:39 UTC (permalink / raw)
  To: Uwe Zeisberger; +Cc: git

Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de> writes:

> I wonder if this is easier not to add the other duplicate.

Unfortunately the above is probably easier.  The other duplicate
is coming from the lowlevel code that makes sure each of the
fetch-pack parameters is not used to match more than once.  We
should fix it eventually, though.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-08 16:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-08  7:38 HEAD branch duplicated in remotes/origin Uwe Zeisberger
2006-06-08  8:17 ` Junio C Hamano
2006-06-08 12:33   ` Uwe Zeisberger
2006-06-08 16:39     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).