Linus Torvalds wrote:
On Wed, 1 Mar 2006, Andreas Ericsson wrote:
Eric Wong wrote:
Should rev-parse be taught to be less strict and look for basenames
that can't be found in heads/ and tags/ in other directories?
It already does. The search order is this, for a ref named 'foo':
$GIT_DIR/foo
$GIT_DIR/refs/foo
$GIT_DIR/refs/tags/foo
$GIT_DIR/refs/heads/foo
Yes, but I think Eric wanted to avoid having to write the prefix part,
which git won't let you do right now.
If you have a ref in .git/refs/svn-tracker/git-svn-HEAD, you would have to
write out all of "svn-tracker/git-svn-HEAD", because unlike a "real
branch", get_sha1() won't look into the "svn-tracker" without it being
explicitly mentioned.
Now, some tools will actually do "for_each_ref()" and check the ref-name
against each of them (so if you pass in "foo", it will check them afainst
_any_ ref-subdirectory that contains "foo"). But get_sha1() won't.
Didn't know that. The day is not a complete waste then.
We could fix get_sha1(), but part of the logic was that other
subdirectories are special, and as such they _should_ be mentioned, so
that a file in such a special directory isn't ever confused with a real
branch.
But if you were to use for example .git/refs/git-svn/tracking as the
svn-tracking reference head, and then you'd be perfectly able to use
git log git-svn/tracking..
to see what you've done since the last svn import?
Personally I'm all for namespace separation. I'm assuming the script has
the tracker-branch hardcoded anyway, so I don't really understand why it
would be necessary to keep other refs in a separate directory and, if it
*is* necessary, why that subdirectory can't be .git/refs/heads/svn.
Eric mentioned earlier that the tracking-branch can't be committed to
(ever), so the user convenience for searching other directories should
be nearly non-existant.
Perhaps I'm missing something obvious. Perhaps I'm just stupid. Perhaps
the pub just opened and I don't feel like reading it twice to make sure
I understood. ;)
--
Andreas Ericsson andreas.ericsson@xxxxxx
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html