Junio C Hamano, Fri, May 11, 2007 22:54:47 +0200:
Show 16 quoted lines
> Alex Riesen <raa.lkml@gmail.com> writes:
>
> > not only from the three defined: heads, tags and remotes.
> >
> > Noticed when I tried to fetch the references created by git-p4-import.bat:
> > they are placed into separate namespace (refs/p4import/, to avoid showing
> > them in git-branch output). As canon_refs_list_for_fetch always prepended
> > refs/heads/ it was impossible, and annoying: it worked before. Normally,
> > the p4import references are useless anywhere but in the directory managed
> > by perforce, but in this special case the cloned directory was supposed
> > to be a backup, including the p4import branch: it keeps information about
> > where the imported perforce state came from.
>
> Have no objection to the patch itself, but mind pointing out
> where we broke it (I suspect it is around 1.5.0)?
>
Maybe even much earlier. According to
git log -p --decorate -- git-fetch-script git-parse-remote-script
commit ac4b0cff00b7629657e61a1d6e1f1a1250d03198
Author: Junio C Hamano <junkio@cox.net>
Date: Sat Aug 20 02:52:24 2005 -0700 [PATCH] Start adding the $GIT_DIR/remotes/ support.
+canon_refs_list_for_fetch () {
+ for ref
+ do
+ expr "$ref" : '.*:' >/dev/null || ref="${ref}:"
+ remote=$(expr "$ref" : '\([^:]*\):')
+ local=$(expr "$ref" : '[^:]*:\(.*\)')
+ case "$remote" in
+ '') remote=HEAD ;;
+ *) remote="refs/heads/$remote" ;;
+ esac
+ case "$local" in
+ '') local= ;;
+ *) local="refs/heads/$local" ;;
+ esac
+ echo "${remote}:${local}"
+ done
+}it was this way since at least Aug 2005.