On Tue, 12 Jul 2005, Petr Baudis wrote:
>
> Could we please have the branch name written to .git/head-name in case
> we switch the branch?
I wouldn't mind per se, but on the other hand I really _hate_ having
"parallel" information that can get out of sync. If you have two places
holding the same information, they had better match. And this is something
that sounds like it could very easily start to not match, and then we're
screwed.
So I'd _much_ rather see instead:
- .git/head-name is a cogito-specific thing that is only active while
cogito is _seeking_. So then "cg-unseek" ends up being pretty much
equivalent to
[ -e .git/head-name ] || die "You weren't seeking"
git checkout $(cat .git/head-name)
rm .git/head-name
This way "head-name" is really never even supposed to be "in sync" with
.git/HEAD, and there are no synchronization issues.
- in order for a "git checkout" to not get confused and possibly throwing
a cogito temporary head away (and so that git-fsck-cache is happy
during a seek), would it be possible to make "seek" use a real
temporary branch instead? Ie, "cg-seek" would be something like
[ -e .git/head-name ] && die "You are already seeking"
readlink .git/HEAD > .git/head-name
echo $seekpoint > .git/refs/heads/cg-seek-point
git checkout -f cg-seek-point
or similar?
Then "cg-seek" and "cg-unseek" would continue to work, but the core git
layer would never be confused because they're really using normal
branches?
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html