* 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).