self.__author = field[1]
if field[0] == 'committer':
self.__committer = field[1]
- self.__log = ''.join(lines[i:])
+ self.__log = ''.join(lines[i+1:])
def get_id_hash(self):
return self.__id_hash
return commit_id
+def apply_diff(rev1, rev2):
+ """Apply the diff between rev1 and rev2 onto the current
+ index. This function doesn't need to raise an exception since it
+ is only used for fast-pushing a patch. If this operation fails,
+ the pushing would fall back to the three-way merge.
+ """
+ return os.system('git-diff-tree -p %s %s | git-apply --index 2> /dev/null'
+ % (rev1, rev2)) == 0
+
def merge(base, head1, head2):
"""Perform a 3-way merge between base, head1 and head2 into the
local tree