diff options
| -rw-r--r-- | project.py | 32 |
1 files changed, 20 insertions, 12 deletions
| @@ -1589,6 +1589,9 @@ class Project: | |||
| 1589 | self._FastForward(revid) | 1589 | self._FastForward(revid) |
| 1590 | self._CopyAndLinkFiles() | 1590 | self._CopyAndLinkFiles() |
| 1591 | 1591 | ||
| 1592 | def _dorebase(): | ||
| 1593 | self._Rebase(upstream="@{upstream}") | ||
| 1594 | |||
| 1592 | def _dosubmodules(): | 1595 | def _dosubmodules(): |
| 1593 | self._SyncSubmodules(quiet=True) | 1596 | self._SyncSubmodules(quiet=True) |
| 1594 | 1597 | ||
| @@ -1680,19 +1683,24 @@ class Project: | |||
| 1680 | if pub: | 1683 | if pub: |
| 1681 | not_merged = self._revlist(not_rev(revid), pub) | 1684 | not_merged = self._revlist(not_rev(revid), pub) |
| 1682 | if not_merged: | 1685 | if not_merged: |
| 1683 | if upstream_gain and not force_rebase: | 1686 | if upstream_gain: |
| 1684 | # The user has published this branch and some of those | 1687 | if force_rebase: |
| 1685 | # commits are not yet merged upstream. We do not want | 1688 | # Try to rebase local published but not merged changes |
| 1686 | # to rewrite the published commits so we punt. | 1689 | # on top of the upstream changes. |
| 1687 | fail( | 1690 | syncbuf.later1(self, _dorebase, not verbose) |
| 1688 | LocalSyncFail( | 1691 | else: |
| 1689 | "branch %s is published (but not merged) and is " | 1692 | # The user has published this branch and some of those |
| 1690 | "now %d commits behind. Fix this manually or rerun " | 1693 | # commits are not yet merged upstream. We do not want |
| 1691 | "with the --rebase option to force a rebase." | 1694 | # to rewrite the published commits so we punt. |
| 1692 | % (branch.name, len(upstream_gain)), | 1695 | fail( |
| 1693 | project=self.name, | 1696 | LocalSyncFail( |
| 1697 | "branch %s is published (but not merged) and " | ||
| 1698 | "is now %d commits behind. Fix this manually " | ||
| 1699 | "or rerun with the --rebase option to force a " | ||
| 1700 | "rebase." % (branch.name, len(upstream_gain)), | ||
| 1701 | project=self.name, | ||
| 1702 | ) | ||
| 1694 | ) | 1703 | ) |
| 1695 | ) | ||
| 1696 | return | 1704 | return |
| 1697 | syncbuf.later1(self, _doff, not verbose) | 1705 | syncbuf.later1(self, _doff, not verbose) |
| 1698 | return | 1706 | return |
