summaryrefslogtreecommitdiff
path: root/rev-parse.c
AgeCommit message (Collapse)AuthorFilesLines
2005-06-26git-rev-parse: add "--not" flag to mark subsequent heads negativeLibravatar Linus Torvalds1-15/+15
If you have two lists of heads, and you want to see ones reachable from list $a but not from list $b, just do git-rev-list $(git-rev-parse $a --not $b) which is useful for both bisecting (where "b" would be the list of known good revisions, and "a" would be the latest found bad head) and for just seeing what the difference between two sets of heads are if you want to generate a pack-file for the difference.
2005-06-24git-rev-parse: re-organize and be more carefulLibravatar Linus Torvalds1-26/+81
Output default revisions as their hex SHA1 names to be consistent. Add "--verify" flag that verifies that we output a single ref and not more (and disables ref arguments).
2005-06-20Change parent syntax to "xyz^" instead of "xyz.p"Libravatar Linus Torvalds1-5/+5
The ".pN" thing might be a common ending of a tag, and in contrast, ^ already is a special character for revisions so use that instead.
2005-06-20Make rev-parse understand "extended sha1" syntaxLibravatar Linus Torvalds1-4/+57
You can say "HEAD.p" for the "parent of HEAD". It nests, so HEAD.p2.p means parent of second parent of HEAD (which obviously depends on HEAD being a merge).
2005-06-20git-rev-parse: flush "default" head when encountering something unexpectedLibravatar Linus Torvalds1-1/+4
The unexpected thing is likely a pathname, we need the default for that too.
2005-06-20git-rev-parse: parse ".." before simple SHA1'sLibravatar Linus Torvalds1-14/+14
This fixes "<hexsha1>..*", since get_sha1() will happily ignore any garbage at the end and thus we never got to the ".." check before.
2005-06-13Teach git-rev-parse about revision-specifying argumentsLibravatar Linus Torvalds1-2/+31
Things like "--max-count=xxx" are "rev-only".
2005-06-13git-rev-parse: split "revs" and "non-revs"Libravatar Linus Torvalds1-2/+25
Sometimes we only want to output revisions, and sometimes we want to only see the stuff that wasn't revisions. Teach git-rev-parse to understand the "--revs-only" and "--no-revs" flags.
2005-06-13Add 'git-rev-parse' helper scriptLibravatar Linus Torvalds1-0/+70
It's an incredibly cheesy helper that changes human-readable revision arguments into the git-rev-list argument format. You can use it to do something like this: git-rev-list --pretty $(git-rev-parse --default HEAD "$@") which is what git-log-script will become. Here git-rev-parse will then allow you to use arguments like "v2.6.12-rc5.." or similar human-readable ranges. It's really quite stupid: "a..b" will be converted into "a" and "^b" if "a" and "b" are valid object pointers. And the "--default" case will be used if nothing but flags have been seen, so that you can default to a certain argument if there are no other ranges.