summaryrefslogtreecommitdiff
path: root/include/git2/revwalk.h
Commit message (Collapse)AuthorAgeFilesLines
* Diff iteratorsRussell Belfer2012-09-051-1/+1
| | | | | | | | | | | This refactors the diff output code so that an iterator object can be used to traverse and generate the diffs, instead of just the `foreach()` style with callbacks. The code has been rearranged so that the two styles can still share most functions. This also replaces `GIT_REVWALKOVER` with `GIT_ITEROVER` and uses that as a common error code for marking the end of iteration when using a iterator style of object.
* Replace incorrect 'it' with 'if' in documentationKevin Sawicki2012-07-031-2/+2
|
* Fix spelling errors.Bruce Mitchener2012-05-191-4/+4
|
* errors: Rename the generic return codesVicent Martí2012-05-181-11/+11
|
* Move git_merge_base() to is own header and document itCarlos Martín Nieto2012-04-121-3/+0
|
* Implement git_merge_base()Carlos Martín Nieto2012-04-121-0/+3
| | | | | | It's implemented in revwalk.c so it has access to the revision walker's commit cache and related functions. The algorithm is the one used by git, modified so it fits better with the library's functions.
* revwalk: allow pushing/hiding a reference by nameCarlos Martín Nieto2012-04-121-0/+22
| | | | | | The code was already there, so factor it out and let users push an OID by giving it a reference name. Only refs to commits are supported. Annotated tags will throw an error.
* revwalk: add convenience function to push/hide HEADCarlos Martín Nieto2012-02-271-0/+16
| | | | | | It's not unusual to want the walker to act on HEAD, so add a convencience function for the case that the user doesn't already have a resolved HEAD reference.
* revwalk: introduce pushing and hiding by globCarlos Martín Nieto2012-02-271-0/+30
| | | | | | | git_revwalk_{push,hide}_glob() lets you push the OIDs of references that match the specified glob. This is the basics for what git.git does with the rev-list options --branches, --tags, --remotes and --glob.
* Update Copyright headerschu2012-02-131-1/+1
| | | | Signed-off-by: schu <schu-github@schulog.org>
* Tabify everythingVicent Marti2011-09-191-5/+5
| | | | | | There were quite a few places were spaces were being used instead of tabs. Try to catch them all. This should hopefully not break anything. Except for `git blame`. Oh well.
* Cleanup legal dataVicent Marti2011-09-191-22/+4
| | | | | | | | | | 1. The license header is technically not valid if it doesn't have a copyright signature. 2. The COPYING file has been updated with the different licenses used in the project. 3. The full GPLv2 header in each file annoys me.
* Standardized doxygen @return lines for int functions to say "GIT_SUCCESS or ↵David Boyce2011-09-131-3/+3
| | | | an error code".
* Update documentationVicent Marti2011-06-161-3/+3
| | | | Fix all the missmatched arguments in the docs
* Fix headers for the new Revision WalkerVicent Marti2011-03-161-1/+1
| | | | | | The "oid.h" header is now included instead of "object.h". The old "revwalk.h" header has been removed; it was empty.
* Change the Revwalk reset behavior to the old versionVicent Marti2011-03-161-8/+57
| | | | | The `reset` call now removes the pushed commits so we can reuse the revwalker. The API documentation has been updated with the details.
* Rewrite the Revision WalkerVicent Marti2011-03-141-3/+5
| | | | | | | | | | | | | | | | | | | | | The new revision walker uses an internal Commit object storage system, custom memory allocator and much improved topological and time sorting algorithms. It's about 20x times faster than the previous implementation when browsing big repositories. The following external API calls have changed: `git_revwalk_next` returns an OID instead of a full commit object. The initial call to `git_revwalk_next` is no longer blocking when iterating through a repo with a time-sorting mode. Iterating with Topological or inverted modes still makes the initial call blocking to preprocess the commit list, but this block should be mostly unnoticeable on most repositories (topological preprocessing times at 0.3s on the git.git repo). `git_revwalk_push` and `git_revwalk_hide` now take an OID instead of a full commit object.
* Move the external includes folder from `src` to `include`Vicent Marti2011-03-031-0/+136
Signed-off-by: Vicent Marti <tanoku@gmail.com>