On Wed, 8 Dec 2010, Nguyán ThÃi Ngác Duy wrote: > Let's start off from where the previous discussion [1] stopped. People > seem to agree ref^{/regex} is a good choice. But we have not come to > conclusion how to specify the count yet. Possible suggestions are > > - ref^{/foo}2 > - ref^{2/foo} > - ref^{:2/foo} > - ref^{2nd/foo} > > For whatever syntax chosen, :/ should benefit too. I notice that :/! > is reserved for future use. Perhaps :/!2/regex is not too cryptic? I wonder if it would be possible to make :/<regex> (which looks a bit like searching the index) to be an alias to --all^{/<regex>}... Or if we can make ^{/<regex>} to act on revision range specified by earlier commits, so for example foo..bar^{/<regex>} would work. > I'd also like to do case-insensitive regex, by the way. :/!2i/regex > looks a bit ugly. The '2nd' idea came from Perl 6 regexp / grammars, see for example https://github.com/perlpilot/perl6-docs/blob/master/intro/p6-regex-intro.pod There are two other modifiers for matching a pattern some number of times or only matching, say, the third time we see a pattern in a string. These modifiers are a little strange in that their short-hand forms consist of a number followed by some text: modifier short-hand meaning :x() :1x,:4x,:12x match some number of times :nth() :1st,:2nd,:3rd,:4th match only the Nth occurance Here are some examples to illustrate these modifiers: $_ = "foo bar baz blat"; m :3x/ a / # matches the "a" characters in each word m :nth(3)/ \w+ / # matches "baz" So it could be e.g. 'foo^{:2nd/<regexp>}' (note that there is no trailing / closing regexp, i.e. it is not 'foo^{:2nd/<regexp>/}'). So if we chose this, why don't we follow Perl 6 rule of combining modifiers http://perlcabal.org/syn/S05.html#Modifiers, so it would be foo^{:2nd:i/<regexp>} or foo^{:i:nth(2)/<regexp>} As to :/!<regexp> form: isn't it reserved for non-match? If not, then perhaps :/!2nd:i/<regexp> > [1] http://mid.gmane.org/9D675671-693D-4B59-AF2A-0EFE4C537362@xxxxxx > > Nguyán ThÃi Ngác Duy (2): > get_sha1_oneline: allow to input commit_list > get_sha1: support ref^{/regex} syntax > > Documentation/revisions.txt | 7 ++++++ > sha1_name.c | 45 ++++++++++++++++++++++++++++++++---------- > 2 files changed, 41 insertions(+), 11 deletions(-) Thank you for working on this. -- Jakub Narebski Poland -- 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