To be more pythonic: merged methods create_reference and create_reference_symbolic
and added force-Option. To make a new symbolic reference you have provide symbolic=True
as an additional parameter. If force=True references will although be overridden.
Otherwise an exception is raised if the references exists.
Examples:
# normal reference
repo.create_reference('refs/heads/foo', repo.head.hex)
# override reference with new value
repo.create_reference('refs/heads/foo', repo.head.hex, force=True)
# symbolic reference
repo.create_reference('refs/tags/foo', 'refs/heads/master', symbolic = True)
This catches up with changes in libgit2:
commit 9d7ac675d06dab2e000ad32f9248631af0191f85
Author: nulltoken <emeric.fermas@gmail.com>
Date: Tue Aug 21 11:45:16 2012 +0200
tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
Added missing support for a diff against workdir or an index.
The latter one differs from `git diff HEAD` because git itself
does a merge of workdir and index (see docs of git_diff_workdir_to_tree).
You do not have to lookup and resolve the HEAD reference anymore if you simply want
the last commit. Repository has now a head-getter which combines all these steps.
example:
repo = Repository('.')
head = repo.head
print(head.message)