Yann Dirson <dirson@xxxxxxxxx> writes: > On Tue, 09 Nov 2010 23:46:59 -0800 > Kevin Ballard <kevin@xxxxxx> wrote: >> On Nov 9, 2010, at 11:32 PM, Yann Dirson wrote: >> >>>> Another thing to consider - the current :/foo syntax searches for >>>> the newest commit reachable from any ref. Using the ^{} syntax will >>>> require specifying a ref first. I'm not sure this is a problem >>>> though, as I'm not really sure why :/foo searches from all refs to >>>> begin with. >>> >>> The syntax could be extended so that ^{whatever} starts looking at >>> current commit (ie. HEAD), somewhat like @{whatever} looks at >>> reflog for current branch. The <ref>@<sth> is about reflogs: <ref>@{<n>}, <ref>@{<aproxidate>}, @{-<n>}, <ref>@{upstream} / <ref>@{u}. Because HEAD has separate reflog, then @{<sth>} is about current branch reflog (@{-<n>} uses HEAD reflog, though). <ref> must be something that has reflog. The <obj>^<sth> is about dereferencing: <tag>^{<objtype>} and <tag>^{}, which includes following parents <commit>^ and <commit>^<n>. Then there are odd <commit-ish>^! (returning range) and <commit-ish>^@ (all parents) but which nevertheless follow this rule. The <obj>:<sth> is (with single exception of ':/<regexp>') about selecting subitem (path): <tree-ish>:<path>, [:<stage>]:<path> >> >> :/foo doesn't start from the current commit - it searches all refs. >> However, making ^{} search all refs if not given one doesn't make >> sense for any operator except :/foo, so I don't think it's worth doing > > Yes, that's why I suggested to make it search from HEAD, not from all > refs. Perhaps '--all^{/foo}'? Just kidding... I think ;-) About n-th match: I think that ^{<n>/foo} or ^{:<n>/foo}... or ^{:nth(<n>)/foo} as generic form of e.g. ^{3rd/foo} a la Perl 6 :-) Or perhaps even full form ^{m:nth(<n>)/foo}... well, perhaps not. -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: 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