- def invoke_and_commit(self, ops, before_commit):
- lock = self._library._lock()
+ def invoke_and_commit(self, ops,
+ before_commit, rollback=False):
+ lock = self._library.lock()
ops(self._library, entry_path)
message, user = before_commit(self)
self._library._commit(message, user)
ops(self._library, entry_path)
message, user = before_commit(self)
self._library._commit(message, user)
# def commit(self, message, user):
# """Make a new commit."""
# self.invoke_and_commit(message, user, lambda *a: True)
# def commit(self, message, user):
# """Make a new commit."""
# self.invoke_and_commit(message, user, lambda *a: True)
- main.merge_with(local, user=user, message=message)
- no_changes = False
+ success, changed = main.merge_with(local, user=user, message=message)
- main.merge_with(local, user=user, message=message)
- no_changes = False
+ success, changed = main.merge_with(local, user=user, message=message)
- local.merge_with(main, user=user, message='Local branch update.')
- no_changes = False
+ success, changed = local.merge_with(main, user=user, \
+ message='$AUTO$ Local branch update during share.')
+
- local.merge_with(main, user=user, message='Local branch update.')
- local = self.shelf()
- main.merge_with(local, user=user, message=message)
+ success, changed = local.merge_with(main, user=user, \
+ message='$AUTO$ Local branch update during share.')
- print "no_changes: ", no_changes
- return no_changes
+ if not success:
+ return False
+
+ if changed:
+ local = local.latest()
+
+ success, changed = main.merge_with(local, user=user,\
+ message=message)
+
+ return success, changed