From: Junio C Hamano Date: Thu, 09 Dec 2010 06:22:40 GMT Subject: Re: [PATCH 0/2] [RFD] Using gitrevisions :/search style with other operators Message-ID: <7vsjy7h3db.fsf@alter.siamese.dyndns.org> In-Reply-To: <20101209015926.GA31119@burratino> Jonathan Nieder writes: > Jakub Narebski wrote: > >> You would need HEAD{^{/foo}^@}x3, or use special rule that HEAD^{/foo}x2 >> means really HEAD^{/foo}^@^{/foo}, with ^@ used to join them. > > That said, does ^2x500 really do something meaningful that a person > would ever need? I like the > > ^{:nth(3)/foo} > > syntax because perl6 supports m:nth(3)/foo/, suggesting a menu of > already-defined modifiers to implement when they prove useful,... Can you explain what the colon in "$commit^{:nth(3)/foo}" is doing? Are we declaring anything that begins with ':' is a magic inside ^{...} construct? I do not think nth($n) without specifying where to start (iow, what the current ":/foo" implementation does but with "three levels deep") makes any sense, but because the main point of your argument is that we can have modifies other than nth($n) that may make sense in such a context, I would want to make sure anything we come up with is extensible to that syntax. On the "starting from any ref" front, I think "!" (as in ":/!some magic") was the introducer we reserved for such a magic some time ago, so perhaps on the "starting from this commit" side, "^{!magic/foo}" may be more appropriate?