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. 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? (or use HEAD, if you prefer that over "tracking") Linus - : 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