Fast-forward a fully merged topic branch during 'repo sync'
Instead of trying to rebase the changes on a topic branch that
has been fully merged into the upstream branch we track, we should
just fast-forward the topic branch to the new upstream revision.
This way the branch doesn't try to rewrite commits that are already
merged in the upstream.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/project.py b/project.py
index 120264f..b8a347d 100644
--- a/project.py
+++ b/project.py
@@ -563,6 +563,15 @@
_info("[%s] Consider merging or rebasing the"
" unpublished commits.", self.name)
return True
+ else:
+ # We can fast-forward safely.
+ #
+ try:
+ self._FastForward(rev)
+ except GitError:
+ return False
+ self._CopyFiles()
+ return True
if merge == rev:
try: