[PATCH] rebase: abort if *any* commit in rebase set is public
Martin von Zweigbergk
martinvonz at google.com
Sat Mar 11 18:47:25 UTC 2017
# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1489257344 28800
# Sat Mar 11 10:35:44 2017 -0800
# Node ID de5616a5d81c49449fdebc80af76b15ed5adc795
# Parent c134a33b1d73896a616475127797ad7fcfa0608d
rebase: abort if *any* commit in rebase set is public
diff -r c134a33b1d73 -r de5616a5d81c hgext/rebase.py
--- a/hgext/rebase.py Wed Mar 01 16:19:41 2017 -0800
+++ b/hgext/rebase.py Sat Mar 11 10:35:44 2017 -0800
@@ -326,11 +326,11 @@
self.ui.status(_('nothing to rebase\n'))
return _nothingtorebase()
- root = min(rebaseset)
- if not self.keepf and not self.repo[root].mutable():
- raise error.Abort(_("can't rebase public changeset %s")
- % self.repo[root],
- hint=_("see 'hg help phases' for details"))
+ for root in self.repo.set('roots(%ld)', rebaseset):
+ if not self.keepf and not self.repo[root].mutable():
+ raise error.Abort(_("can't rebase public changeset %s")
+ % self.repo[root],
+ hint=_("see 'hg help phases' for details"))
(self.originalwd, self.target, self.state) = result
if self.collapsef:
diff -r c134a33b1d73 -r de5616a5d81c tests/test-rebase-scenario-global.t
--- a/tests/test-rebase-scenario-global.t Wed Mar 01 16:19:41 2017 -0800
+++ b/tests/test-rebase-scenario-global.t Sat Mar 11 10:35:44 2017 -0800
@@ -329,6 +329,10 @@
abort: can't rebase public changeset e1c4361dd923
(see 'hg help phases' for details)
[255]
+ $ hg rebase -d 5 -r '1 + (6::)'
+ abort: can't rebase public changeset e1c4361dd923
+ (see 'hg help phases' for details)
+ [255]
$ hg rebase -d 5 -b 6 --keep
rebasing 6:e1c4361dd923 "C"
More information about the Mercurial-devel
mailing list