1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
**********************************************************************
git-log
**********************************************************************
----------------------------------------------------------------------
Showing HEAD commit logs
----------------------------------------------------------------------
======================================================================
Show HEAD commit
======================================================================
.. code-block:: bash
$ git log -1
.. code-block:: python
>>> commit = repo[repo.head.target]
>>> commit.message
'commit message'
======================================================================
Traverse commit history
======================================================================
.. code-block:: bash
$ git log
.. code-block:: python
>>> last = repo[repo.head.target]
>>> for commit in repo.walk(last.id, pygit2.enums.SortMode.TIME):
>>> print(commit.message) # or some other operation
======================================================================
Show trailers from the last commit
======================================================================
.. code-block:: bash
$ git log --format='%(trailers:key=Bug)'
.. code-block:: python
>>> last = repo[repo.head.target]
>>> for commit in repo.walk(last.id, pygit2.enums.SortMode.TIME):
>>> print(commit.message_trailers.get('Bug'))
----------------------------------------------------------------------
References
----------------------------------------------------------------------
- git-log_.
- `libgit2 discussion about walker behavior
<https://github.com/libgit2/libgit2/issues/3041>`_. Note that the libgit2's
walker functions differently than ``git-log`` in some ways.
.. _git-log: https://www.kernel.org/pub/software/scm/git/docs/git-log.html
|