Commit log
- Repository.walk(oid: Oid | None, sort_mode: enums.SortMode = enums.SortMode.NONE) Walker
Start traversing the history from the given commit. The following SortMode values can be used to control the walk:
NONE. Sort the output with the same default method from git: reverse chronological order. This is the default sorting for new walkers.
TOPOLOGICAL. Sort the repository contents in topological order (no parents before all of its children are shown); this sorting mode can be combined with time sorting to produce git’s –date-order`.
TIME. Sort the repository contents by commit time; this sorting mode can be combined with topological sorting.
REVERSE. Iterate through the repository contents in reverse order; this sorting mode can be combined with any of the above.
Example:
>>> from pygit2 import Repository >>> from pygit2.enums import SortMode >>> repo = Repository('.git') >>> for commit in repo.walk(repo.head.target, SortMode.TOPOLOGICAL): ... print(commit.message) >>> for commit in repo.walk(repo.head.target, SortMode.TOPOLOGICAL | SortMode.REVERSE): ... print(commit.message) >>>
- Walker.hide(oid: Oid)
Mark a commit (and its ancestors) uninteresting for the output.
- Walker.push(oid: Oid)
Mark a commit to start traversal from.
- Walker.reset()
Reset the walking machinery for reuse.
- Walker.sort(mode: enums.SortMode)
Change the sorting mode (this resets the walker).
- Walker.simplify_first_parent()
Simplify the history by first-parent.