summaryrefslogtreecommitdiff
path: root/rev-list.c
Commit message (Collapse)AuthorAgeFilesLines
* pretty_print_commit: add different formatsLinus Torvalds2005-06-051-10/+20
| | | | | | | | You can ask to print out "raw" format (full headers, full body), "medium" format (author and date, full body) or "short" format (author only, condensed body). Use "git-rev-list --pretty=short HEAD | less -S" for an example.
* git-rev-list: allow arbitrary head selections, use git-rev-tree syntaxLinus Torvalds2005-06-041-24/+21
| | | | | | | | | | | | | | | | | | | | | | | This makes git-rev-list use the same command line syntax to mark the commits as git-rev-tree does, and instead of just allowing a start and end commit, it allows an arbitrary list of "interesting" and "uninteresting" commits. For example, imagine that you had three branches (a, b and c) that you are interested in, but you don't want to see stuff that already exists in another persons three releases (x, y and z). You can do git-rev-list a b c ^x ^y ^z (order doesn't matter, btw - feel free to put the uninteresting ones first or otherwise swithc them around), and it will show all the commits that are reachable from a/b/c but not reachable from x/y/z. The old syntax "git-rev-list start end" would not be written as "git-rev-list start ^end", or "git-rev-list ^end start". There's no limit to the number of heads you can specify (unlike git-rev-tree, which can handle a maximum of 16 heads).
* git-rev-list: split out commit limiting from main() too.Linus Torvalds2005-06-021-17/+21
| | | | Ok, now I'm happier.
* git-rev-list: factor out the commit printing from "main()"Linus Torvalds2005-06-021-36/+50
| | | | | | Functions that do many things are bad. We should basically just parse the arguments in main(). We're not quite there yet, but it's a step in the right direction.
* git-rev-list: add "--pretty" command line optionLinus Torvalds2005-06-011-5/+22
| | | | | | | | | | | | That pretty-prints the resulting commit messages, so git-rev-list --pretty HEAD v2.6.12-rc5 | less -S basically ends up being a log of the changes between -rc5 and current head. It uses the pretty-printing helper function I just extracted from diff-tree.c.
* git-rev-list: add "--parents" command line flagLinus Torvalds2005-05-301-2/+14
| | | | | It makes rev-list show the list of parents, the same way git-rev-tree does (but without the expense).
* git-rev-list: use proper lazy reachability analysisLinus Torvalds2005-05-301-5/+50
| | | | | | | | | | | | This mean sthat you can give a beginning/end pair to git-rev-list, and it will show all entries that are reachable from the beginning but not the end. For example git-rev-list v2.6.12-rc5 v2.6.12-rc4 shows all commits that are in -rc5 but are not in -rc4.
* git-rev-list: add "end" commit and "--header" flagLinus Torvalds2005-05-251-15/+42
| | | | | | | | | | The "end" commit is just faking it right now, it's sorting things purely by date, so this is _not_ a reachability analysis. Some day. The "--header" flag causes the commit message to be printed out, with a NUL character separator after it for parseability. This allows you to do things like use "grep -z" to grep for certain authors etc.
* [PATCH] cleanup of in-code namesAlexey Nezhdanov2005-05-191-1/+1
| | | | | | | Fixes all in-code names that leaved during "big name change". Signed-off-by: Alexey Nezhdanov <snake@penza-gsm.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] control/limit output of git-rev-listKay Sievers2005-05-061-2/+31
| | | | | | | | | | | | | | | gitweb.cgi's default view is the log of the last day and git-rev-list can stop crawling the whole repo if we have all our data to display in the browser. Also the rss-feed query needs only the last 20 items. This will speeds up these queries dramatically. usage: rev-list [OPTION] commit-id --max-count=nr --max-age=epoch --min-age=epoch Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Add "get_sha1()" helper function.Linus Torvalds2005-05-011-1/+1
| | | | | | | | | | | | This allows the programs to use various simplified versions of the SHA1 names, eg just say "HEAD" for the SHA1 pointed to by the .git/HEAD file etc. For example, this commit has been done with git-commit-tree $(git-write-tree) -p HEAD instead of the traditional "$(cat .git/HEAD)" syntax.
* [PATCH] Allow multiple date-ordered listsDaniel Barkalow2005-04-231-1/+1
| | | | | | | | | | | Make pop_most_recent_commit() return the same objects multiple times, but only if called with different bits to mark. This is necessary to make merge-base work again. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Add "rev-list" program that uses the new time-based commit listing.Linus Torvalds2005-04-231-0/+23
This is probably what you'd want to see for "git log".