Merry Christmas! This series introduces two new syntax: @{~foo} and ^{~foo}. Both syntax allow an external program to run and return the result. So users can extend the ref/sha1 syntax as they want. External commands are defined similar to aliases in config. The former does ref->ref mapping. The latter does SHA-1->SHA-1 mapping. Both allow @{} and ^{} in the result respectively, so you can make a chain of mapping (*). This should allow Kevin to add "search the n-th commit that matches 'foo'" syntax. I think this is something nice to have. For one thing, commonly used mappings can be collected in config file and distributed. Shell requirements can be loosened because you don't need shell backquotes (OK I'm always on a shell so this is moot, but an IDE, maybe). OK time for movies.. (*) They can also make infinite chain. I don't think I can stop them from doing that. Nguyán ThÃi Ngác Duy (5): alias: add functions to do param substitution and alias running get_sha1: allow custom SHA-1 mapping with $SHA1^{~alias} syntax sha1_name: move interpret_nth_prior_checkout closer to interpret_branch_name interpret_branch_name: takes @{u} code out and reorder the function get_sha1: allow custom ref mapping with $ref@{~alias} syntax Documentation/config.txt | 18 +++ Documentation/revisions.txt | 12 ++ alias.c | 167 ++++++++++++++++++++++- cache.h | 13 ++ sha1_name.c | 321 ++++++++++++++++++++++++++++++++---------- t/t1511-rev-parse-caret.sh | 45 ++++++ t/t1512-rev-parse-at.sh | 63 +++++++++ 7 files changed, 557 insertions(+), 82 deletions(-) create mode 100755 t/t1512-rev-parse-at.sh -- 1.7.3.3.476.g10a82 -- 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