[PATCH 5 of 5 evolve-ext] evolve: make --rev solve only unstability by default

Laurent Charignon lcharignon at fb.com
Wed May 13 17:04:23 UTC 2015


# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1431536286 25200
#      Wed May 13 09:58:06 2015 -0700
# Node ID 30d386135d2e02b676a58926250247011461d131
# Parent  f7b2e0e5e05e76d181c99e6ed3fbcc9508cc0c33
evolve: make --rev solve only unstability by default

Before this patch evolve --rev was solving all the troubles in the
specified revision. This patch restricts it to unstable only as this is
generally what people expect to happen. The --bumped and --divergent flags
can be used to have the same behavior than before and solve all of the
troubles.

diff --git a/hgext/evolve.py b/hgext/evolve.py
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -1242,7 +1242,8 @@
      ('', 'confirm', False,
         'ask for confirmation before performing the action'),
     ('A', 'any', False, 'also consider troubled changesets unrelated to current working directory'),
-    ('r', 'rev', '', 'solves troubles of these revisions'),
+    ('r', 'rev', '', 'solves troubles of these revisions, only solve unstable by default' 
+        'use --bumped or --divergent to also solve bumped and divergent'),
     ('', 'bumped', False, 'with --rev: solves only bumped changesets'),
     ('', 'divergent', False, 'with --rev: solves only divergent changesets'),
     ('', 'unstable', False, 'with --rev: solves only unstable changesets'),
@@ -1273,6 +1274,11 @@
 
     With --any, evolve picks any troubled changeset to repair.
 
+    With --rev, one can choose to solve troubles in a specified revset:
+
+    - hg evolve --rev <revset> --divergent will only solve divergence in the specified revset
+    - hg evolve --rev <revset> --divergent --unstable will solve divergence and unstability in the specified revset
+    - hg evolve --rev <revset>  will only solve unstability in the specified revset
     The working directory is updated to the newly created revision.
     """
 
@@ -1313,7 +1319,7 @@
         if specifictypes:
             troubled = repo.revs(' or '.join(specifictypes))
         else:
-            troubled = repo.revs('troubled()')
+            troubled = repo.revs('unstable()')
         _revs = revs & troubled
         if not _revs:
             ui.write_err("No troubled changes in the specified revset\n")
diff --git a/tests/test-evolve.t b/tests/test-evolve.t
--- a/tests/test-evolve.t
+++ b/tests/test-evolve.t
@@ -946,7 +946,7 @@
   |/
   o  0	: a0 - test
   
-  $ hg evolve -r 12
+  $ hg evolve -r 12 --bumped
   recreate:[12] add new file bumped
   atop:[11] a2
   computing new diff



More information about the Mercurial-devel mailing list