branching: merge with stable
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sat, 10 Nov 2018 00:55:34 +0100
changeset 4232 424b498aac00
parent 4221 db70de7c1698 (current diff)
parent 4231 3eb78bdcdd7c (diff)
child 4233 efd542942d98
branching: merge with stable
CHANGELOG
hgext3rd/evolve/cmdrewrite.py
hgext3rd/evolve/evolvecmd.py
hgext3rd/topic/__init__.py
tests/test-grab.t
--- a/CHANGELOG	Fri Oct 26 12:54:40 2018 +0530
+++ b/CHANGELOG	Sat Nov 10 00:55:34 2018 +0100
@@ -2,6 +2,14 @@
 =========
 
 
+8.3.2 - in progress
+-------------------
+
+  * evolve: not longer attempt to translate revision's descriptions (issue6016)
+  * evolve: fix compatibility with mercurial 4.8's narrow extension.
+  * pick: fix summary help text
+  * topic: only use pager when it make senses
+
 8.3.1 -- 2018-10-25
 -------------------
 
--- a/hgext3rd/evolve/cmdrewrite.py	Fri Oct 26 12:54:40 2018 +0530
+++ b/hgext3rd/evolve/cmdrewrite.py	Sat Nov 10 00:55:34 2018 +0100
@@ -1328,8 +1328,7 @@
     ],
     _('[-r] rev'))
 def cmdpick(ui, repo, *revs, **opts):
-    """grabs a commit, move it on the top of working directory parent and
-    updates to it."""
+    """move a commit on the top of working directory parent and updates to it."""
 
     cont = opts.get('continue')
     abort = opts.get('abort')
--- a/hgext3rd/evolve/compat.py	Fri Oct 26 12:54:40 2018 +0530
+++ b/hgext3rd/evolve/compat.py	Sat Nov 10 00:55:34 2018 +0100
@@ -214,6 +214,7 @@
         return bool(upres[-1])
     return bool(upres.unresolvedcount)
 
+hg48 = util.safehasattr(copies, 'stringutil')
 # code imported from Mercurial core at ae17555ef93f + patch
 def fixedcopytracing(repo, c1, c2, base):
     """A complete copy-patse of copies._fullcopytrace with a one line fix to
@@ -280,8 +281,12 @@
             }
 
     # find interesting file sets from manifests
-    addedinm1 = m1.filesnotin(mb)
-    addedinm2 = m2.filesnotin(mb)
+    if hg48:
+        addedinm1 = m1.filesnotin(mb, repo.narrowmatch())
+        addedinm2 = m2.filesnotin(mb, repo.narrowmatch())
+    else:
+        addedinm1 = m1.filesnotin(mb)
+        addedinm2 = m2.filesnotin(mb)
     bothnew = sorted(addedinm1 & addedinm2)
     if tca == base:
         # unmatched file from base
@@ -294,9 +299,16 @@
         # unmatched file from topological common ancestors (no DAG rotation)
         # need to recompute this for directory move handling when grafting
         mta = tca.manifest()
-        u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1.filesnotin(mta),
-                                             m2.filesnotin(mta),
-                                             baselabel='topological common ancestor')
+        if hg48:
+            m1f = m1.filesnotin(mta, repo.narrowmatch())
+            m2f = m2.filesnotin(mta, repo.narrowmatch())
+            baselabel = 'topological common ancestor'
+            u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1f, m2f,
+                                                 baselabel=baselabel)
+        else:
+            u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1.filesnotin(mta),
+                                                 m2.filesnotin(mta),
+                                                 baselabel='topological common ancestor')
 
     for f in u1u:
         copies._checkcopies(c1, c2, f, base, tca, dirtyc1, limit, data1)
--- a/hgext3rd/evolve/evolvecmd.py	Fri Oct 26 12:54:40 2018 +0530
+++ b/hgext3rd/evolve/evolvecmd.py	Sat Nov 10 00:55:34 2018 +0100
@@ -1015,6 +1015,8 @@
     tovisit = list(parents(rev))
     while tovisit:
         r = tovisit.pop()
+        if r == -1:
+            continue
         succsets = obsutil.successorssets(repo, tonode(r))
         if not succsets:
             tovisit.extend(parents(r))
--- a/hgext3rd/evolve/utility.py	Fri Oct 26 12:54:40 2018 +0530
+++ b/hgext3rd/evolve/utility.py	Sat Nov 10 00:55:34 2018 +0100
@@ -161,8 +161,8 @@
     promptmsg = customheader + "\n"
     for idx, rev in enumerate(revs):
         curctx = repo[rev]
-        revmsg = _("%d: [%s] %s\n" % (idx, curctx,
-                                      curctx.description().split("\n")[0]))
+        revmsg = "%d: [%s] %s\n" % (idx, curctx,
+                                    curctx.description().split("\n")[0])
         promptmsg += revmsg
 
     promptmsg += _("q: quit the prompt\n")
--- a/hgext3rd/topic/__init__.py	Fri Oct 26 12:54:40 2018 +0530
+++ b/hgext3rd/topic/__init__.py	Sat Nov 10 00:55:34 2018 +0100
@@ -652,9 +652,8 @@
                         " '_' and '.' characters")
             raise error.Abort(_("invalid topic name: '%s'") % topic, hint=helptxt)
 
-    ui.pager('topics')
-
     if list:
+        ui.pager('topics')
         if clear or rev:
             raise error.Abort(_("cannot use --clear or --rev with --list"))
         if not topic:
@@ -700,6 +699,7 @@
             ui.status(_('marked working directory as topic: %s\n') % topic)
         return _changecurrenttopic(repo, topic)
 
+    ui.pager('topics')
     # `hg topic --current`
     ret = 0
     if current and not ct:
--- a/tests/test-grab.t	Fri Oct 26 12:54:40 2018 +0530
+++ b/tests/test-grab.t	Sat Nov 10 00:55:34 2018 +0100
@@ -20,8 +20,7 @@
   
   aliases: grab
   
-  grabs a commit, move it on the top of working directory parent and
-      updates to it.
+  move a commit on the top of working directory parent and updates to it.
   
   options: