Merge remote-tracking branch 'carlos/merge-docs'

This commit is contained in:
J. David Ibáñez
2014-07-08 14:07:56 +02:00

View File

@@ -6,12 +6,13 @@ Merge
.. automethod:: pygit2.Repository.merge_base .. automethod:: pygit2.Repository.merge_base
.. automethod:: pygit2.Repository.merge .. automethod:: pygit2.Repository.merge
.. automethod:: pygit2.Repository.merge_analysis
The merge method The merge method
================= =================
The method does a merge over the current working copy. The method does a merge over the current working copy.
It gets an Oid object as a parameter and returns a MergeResult object. It gets an Oid object as a parameter.
As its name says, it only does the merge, does not commit nor update the As its name says, it only does the merge, does not commit nor update the
branch reference in the case of a fastforward. branch reference in the case of a fastforward.
@@ -21,17 +22,14 @@ merge with the default ones defined in GIT_MERGE_OPTS_INIT libgit2 constant.
Example:: Example::
>>> branch_head_hex = '5ebeeebb320790caf276b9fc8b24546d63316533' >>> other_branch_tip = '5ebeeebb320790caf276b9fc8b24546d63316533'
>>> branch_id = self.repo.get(branch_head_hex).id >>> repo.merge(other_branch_tip)
>>> merge_result = self.repo.merge(branch_id)
The MergeResult object You can now inspect the index file for conflicts and get back to the
====================== user to resolve if there are. Once there are no conflicts left, you
can create a commit with these two parents.
Represents the result of a merge and contains these fields: >>> user = repo.default_signature()
>>> tree = repo.index.write_tree()
- is_uptodate: bool, if there wasn't any merge because the repo was already >>> new_commit = repo.create_commit('HEAD', user, user, tree,
up to date [repo.head.target, other_branch_tip])
- is_fastforward: bool, whether the merge was fastforward or not
- fastforward_id: Oid, in the case it was a fastforward, this is the
forwarded id.