--- a/README Tue May 23 10:49:59 2017 +0200
+++ b/README Tue May 23 10:50:56 2017 +0200
@@ -112,6 +112,11 @@
Changelog
=========
+6.3.0 - in progress
+-------------------
+
+ - olog: add an 'obslog' alias
+
6.2.1 -- 2017-05-23
-------------------
--- a/hgext3rd/evolve/debugcmd.py Tue May 23 10:49:59 2017 +0200
+++ b/hgext3rd/evolve/debugcmd.py Tue May 23 10:50:56 2017 +0200
@@ -10,7 +10,10 @@
# * We could have the same code in core as `hg debugobsolete --stat`,
# * We probably want a way for the extension to hook in for extra data.
-from mercurial import node
+from mercurial import (
+ obsolete,
+ node,
+)
from mercurial.i18n import _
@@ -41,7 +44,8 @@
store = repo.obsstore
unfi = repo.unfiltered()
nm = unfi.changelog.nodemap
- ui.write(_('markers total: %9i\n') % len(store._all))
+ nbmarkers = len(store._all)
+ ui.write(_('markers total: %9i\n') % nbmarkers)
sucscount = [0, 0, 0, 0]
known = 0
parentsdata = 0
@@ -51,6 +55,8 @@
clustersmap = {}
# same data using parent information
pclustersmap = {}
+ size_v0 = []
+ size_v1 = []
for mark in store:
if mark[0] in nm:
known += 1
@@ -72,6 +78,8 @@
# same with parent data
nodes.update(parents)
_updateclustermap(nodes, mark, pclustersmap)
+ size_v0.append(len(obsolete._fm0encodeonemarker(mark)))
+ size_v1.append(len(obsolete._fm1encodeonemarker(mark)))
# freezing the result
for c in clustersmap.values():
@@ -95,6 +103,27 @@
for key in sorted(metakeys):
ui.write((' %15s: %9i\n' % (key, metakeys[key])))
+ size_v0.sort()
+ size_v1.sort()
+ if size_v0:
+ ui.write('marker size:\n')
+ # format v1
+ ui.write(' format v1:\n')
+ ui.write((' smallest length: %9i\n' % size_v1[0]))
+ ui.write((' longer length: %9i\n' % size_v1[-1]))
+ median = size_v1[nbmarkers // 2]
+ ui.write((' median length: %9i\n' % median))
+ mean = sum(size_v1) // nbmarkers
+ ui.write((' mean length: %9i\n' % mean))
+ # format v0
+ ui.write(' format v0:\n')
+ ui.write((' smallest length: %9i\n' % size_v0[0]))
+ ui.write((' longer length: %9i\n' % size_v0[-1]))
+ median = size_v0[nbmarkers // 2]
+ ui.write((' median length: %9i\n' % median))
+ mean = sum(size_v0) // nbmarkers
+ ui.write((' mean length: %9i\n' % mean))
+
allclusters = list(set(clustersmap.values()))
allclusters.sort(key=lambda x: len(x[1]))
ui.write(('disconnected clusters: %9i\n' % len(allclusters)))
--- a/hgext3rd/evolve/metadata.py Tue May 23 10:49:59 2017 +0200
+++ b/hgext3rd/evolve/metadata.py Tue May 23 10:50:56 2017 +0200
@@ -5,7 +5,7 @@
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
-__version__ = '6.2.2.dev'
+__version__ = '6.3.0.dev'
testedwith = '3.8.4 3.9.2 4.0.2 4.1.2 4.2'
minimumhgversion = '3.8'
buglink = 'https://bz.mercurial-scm.org/'
--- a/hgext3rd/evolve/obshistory.py Tue May 23 10:49:59 2017 +0200
+++ b/hgext3rd/evolve/obshistory.py Tue May 23 10:50:56 2017 +0200
@@ -12,6 +12,7 @@
commands,
error,
graphmod,
+ obsolete,
node as nodemod,
scmutil,
)
@@ -25,7 +26,7 @@
eh = exthelper.exthelper()
@eh.command(
- 'olog',
+ 'obslog|olog',
[('G', 'graph', True, _("show the revision DAG")),
('r', 'rev', [], _('show the specified revision or revset'), _('REV'))
] + commands.formatteropts,
@@ -337,6 +338,30 @@
fm.write('debugobshistory.verb', '%s', verb,
label="evolve.verb")
+
+ effectflag = metadata.get('ef1')
+ if effectflag is not None:
+ try:
+ effectflag = int(effectflag)
+ except ValueError:
+ effectflag = None
+ if effectflag:
+ effect = []
+
+ # XXX should be a dict
+ if effectflag & DESCCHANGED:
+ effect.append('description')
+ if effectflag & METACHANGED:
+ effect.append('meta')
+ if effectflag & PARENTCHANGED:
+ effect.append('parent')
+ if effectflag & DIFFCHANGED:
+ effect.append('content')
+
+ if effect:
+ fmteffect = fm.formatlist(effect, 'debugobshistory.effect', sep=', ')
+ fm.write('debugobshistory.effect', '(%s)', fmteffect)
+
fm.plain(' by ')
fm.write('debugobshistory.marker_user', '%s', metadata['user'],
@@ -355,3 +380,99 @@
label="evolve.node")
fm.plain("\n")
+
+# logic around storing and using effect flags
+DESCCHANGED = 1 << 0 # action changed the description
+METACHANGED = 1 << 1 # action change the meta (user, date, branch, etc...)
+PARENTCHANGED = 1 << 2 # action change the parent
+DIFFCHANGED = 1 << 3 # action change diff introduced by the changeset
+
+def geteffectflag(relation):
+ """compute the effect flag by comparing the source and destination"""
+ effects = 0
+
+ source = relation[0]
+
+ for changectx in relation[1]:
+ # Check if description has changed
+ if changectx.description() != source.description():
+ effects |= DESCCHANGED
+
+ # Check if known meta has changed
+ if (changectx.user() != source.user()
+ or changectx.date() != source.date()
+ or changectx.branch() != source.branch()):
+ effects |= METACHANGED
+
+ # Check if at least one of the parent has changes
+ if changectx.parents() != source.parents():
+ effects |= PARENTCHANGED
+
+ if not _cmpdiff(source, changectx):
+ effects |= DIFFCHANGED
+
+ return effects
+
+def _getdiffline(iterdiff):
+ """return a cleaned up line"""
+ try:
+ line = iterdiff.next()
+ except StopIteration:
+ return None
+ return line
+
+def _cmpdiff(leftctx, rightctx):
+ """return True if both ctx introduce the "same diff"
+
+ This is a first and basic implementation, with many shortcoming.
+ """
+ leftdiff = leftctx.diff(git=1)
+ rightdiff = rightctx.diff(git=1)
+ left, right = (0, 0)
+ while None not in (left, right):
+ left = _getdiffline(leftdiff)
+ right = _getdiffline(rightdiff)
+ if left != right:
+ return False
+ return True
+
+@eh.wrapfunction(obsolete, 'createmarkers')
+def createmarkerswithbits(orig, repo, relations, flag=0, date=None,
+ metadata=None, **kwargs):
+ """compute 'effect-flag' and augment the created markers
+
+ Wrap obsolete.createmarker in order to compute the effect of each
+ relationship and store them as flag in the metadata.
+
+ While we experiment, we store flag in a metadata field. This field is
+ "versionned" to easilly allow moving to other meaning for flags.
+
+ The comparison of description or other infos just before creating the obs
+ marker might induce overhead in some cases. However it is a good place to
+ start since it automatically makes all markers creation recording more
+ meaningful data. In the future, we can introduce way for commands to
+ provide precomputed effect to avoid the overhead.
+ """
+ if not repo.ui.configbool('experimental', 'evolution.effect-flags', False):
+ return orig(repo, relations, flag, date, metadata, **kwargs)
+ if metadata is None:
+ metadata = {}
+ tr = repo.transaction('add-obsolescence-marker')
+ try:
+ for r in relations:
+ # Compute the effect flag for each obsmarker
+ effect = geteffectflag(r)
+
+ # Copy the metadata in order to add them, we copy because the
+ # effect flag might be different per relation
+ m = metadata.copy()
+ # we store the effect even if "0". This disctinct markers created
+ # without the feature with markers recording a no-op.
+ m['ef1'] = "%d" % effect
+
+ # And call obsolete.createmarkers for creating the obsmarker for real
+ orig(repo, [r], flag, date, m, **kwargs)
+
+ tr.close()
+ finally:
+ tr.release()
--- a/tests/test-discovery-obshashrange.t Tue May 23 10:49:59 2017 +0200
+++ b/tests/test-discovery-obshashrange.t Tue May 23 10:50:56 2017 +0200
@@ -34,24 +34,10 @@
* @0000000000000000000000000000000000000000 (*)> serve --stdio (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 0o) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (8r, 0o) (glob)
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 0o) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (8r, 0o) (glob)
* @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> blackbox (glob)
$ rm .hg/blackbox.log
@@ -168,11 +154,11 @@
$ rm ../server/.hg/blackbox.log
$ hg blackbox
* @0000000000000000000000000000000000000000 (*)> pull --rev 4 (glob)
- * @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
* @0000000000000000000000000000000000000000 (*)> updated stablerange cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (5r, 3o) (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (5r, 3o) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated base branch cache in *.???? seconds (glob)
+ * @0000000000000000000000000000000000000000 (*)> wrote base branch cache with 1 labels and 1 nodes (glob)
* @0000000000000000000000000000000000000000 (*)> 5 incoming changes - new heads: bebd167eb94d (glob)
* @0000000000000000000000000000000000000000 (*)> pull --rev 4 exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> blackbox (glob)
@@ -250,12 +236,11 @@
received listkey for "phases": 58 bytes
$ hg -R ../server blackbox
* @0000000000000000000000000000000000000000 (*)> serve --stdio (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated stablerange cache in *.???? seconds (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
- * @0000000000000000000000000000000000000000 (*)> updated stablerange cache in *.???? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
* @0000000000000000000000000000000000000000 (*)> 1 incoming changes - new heads: 45f8b879de92 (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> blackbox (glob)
@@ -312,10 +297,10 @@
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> add foo (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> add foo exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> commit -m foo (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated served branch cache in *.???? seconds (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 0o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated served branch cache in *.???? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> commit -m foo exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete ffffffffffffffffffffffffffffffffffffffff 45f8b879de922f6a6e620ba04205730335b6fc7e (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
@@ -344,7 +329,7 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete 22222222222222222bbbbbbbbbbbbb2222222222 2dc09a01254db841290af0538aa52f6f52c776e3 exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> push (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 2/6 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> push exited True after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> push exited 1 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
$ rm .hg/blackbox.log
$ hg debugobsolete | sort
@@ -423,13 +408,12 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> log -G exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r 6 (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 2/6 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (2r, 0o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated served branch cache in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated stablerange cache in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache reset - new markers affect cached ranges (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (2r, 3o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 3o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (2r, 3o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated served branch cache in *.???? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 2 incoming changes - new heads: f69452c5b1af (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r 6 exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
@@ -569,12 +553,11 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated stablerange cache in *.???? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated served branch cache in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated stablerange cache in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> rollback (glob)
@@ -619,11 +602,8 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-obscache cache reset (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (9r, 12o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated stablerange cache in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
@@ -745,11 +725,11 @@
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> pull (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated stablerange cache in *.???? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 0o) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated served branch cache in *.???? seconds (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (1r, 0o) (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated base branch cache in *.???? seconds (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote base branch cache with 1 labels and 2 nodes (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> 1 incoming changes - new heads: 45f8b879de92 (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> pull exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G (glob)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-evolve-effectflags.t Tue May 23 10:50:56 2017 +0200
@@ -0,0 +1,110 @@
+Test the 'effect-flags' feature
+
+Global setup
+============
+
+ $ . $TESTDIR/testlib/common.sh
+ $ cat >> $HGRCPATH <<EOF
+ > [ui]
+ > interactive = true
+ > [phases]
+ > publish=False
+ > [extensions]
+ > evolve =
+ > rebase =
+ > [experimental]
+ > evolution.effect-flags = 1
+ > EOF
+
+ $ hg init $TESTTMP/effect-flags
+ $ cd $TESTTMP/effect-flags
+ $ mkcommit ROOT
+
+amend touching the description only
+-----------------------------------
+
+ $ mkcommit A0
+ $ hg amend -m "A1"
+
+check result
+
+ $ hg debugobsolete --rev .
+ 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (*) {'ef1': '1', 'user': 'test'} (glob)
+ $ hg obslog .
+ @ fdf9bde5129a (2) A1
+ |
+ x 471f378eab4c (1) A0
+ rewritten(description) by test (*) as fdf9bde5129a (glob)
+
+
+amend touching the metadata only
+--------------------------------
+
+ $ mkcommit B0
+ $ hg amend -u "bob <bob@bob.com>"
+
+check result
+
+ $ hg debugobsolete --rev .
+ ef4a313b1e0ade55718395d80e6b88c5ccd875eb 5485c92d34330dac9d7a63dc07e1e3373835b964 0 (*) {'ef1': '2', 'user': 'test'} (glob)
+ $ hg obslog .
+ @ 5485c92d3433 (4) B0
+ |
+ x ef4a313b1e0a (3) B0
+ rewritten(meta) by test (*) as 5485c92d3433 (glob)
+
+
+rebase (parents change)
+-----------------------
+
+ $ mkcommit C0
+ $ mkcommit D0
+ $ hg rebase -r . -d 'desc(B0)'
+ rebasing 6:2ee0a31bd600 "D0" (tip)
+
+check result
+
+ $ hg debugobsolete --rev .
+ 2ee0a31bd600ca999a5e6e69bfdfde3f9c78a6f9 131ac3eecd92fb2dfd2fc59bb5e0b8efbe9e9201 0 (*) {'ef1': '4', 'user': 'test'} (glob)
+ $ hg obslog .
+ @ 131ac3eecd92 (7) D0
+ |
+ x 2ee0a31bd600 (6) D0
+ rewritten(parent) by test (*) as 131ac3eecd92 (glob)
+
+
+amend touching the diff
+-----------------------
+
+ $ mkcommit E0
+ $ echo 42 >> E0
+ $ hg amend
+
+check result
+
+ $ hg debugobsolete --rev .
+ 5734caf1004261ffc2ed05763b82bf9d75ba3788 0 {f75604747b4fd2dfebe7f48c6e629aea15e3b237} (*) {'ef1': '0', 'user': 'test'} (glob)
+ f75604747b4fd2dfebe7f48c6e629aea15e3b237 bed7e49faeb8ae06649b547a755d50f5bb0be220 0 (*) {'ef1': '8', 'user': 'test'} (glob)
+ $ hg obslog .
+ @ bed7e49faeb8 (10) E0
+ |
+ x f75604747b4f (8) E0
+ rewritten(content) by test (*) as bed7e49faeb8 (glob)
+
+
+amend with multiple effect (desc and meta)
+-------------------------------------------
+
+ $ mkcommit F0
+ $ hg amend -m F1 -u "bob <bob@bob.com>"
+
+check result
+
+ $ hg debugobsolete --rev .
+ 713ccc39944e10bd35b7f6eaed3eef0eab60e50b 7d0186621c5ba1b0f7c5c99668d43273cb44c2fe 0 (*) {'ef1': '3', 'user': 'test'} (glob)
+ $ hg obslog .
+ @ 7d0186621c5b (12) F1
+ |
+ x 713ccc39944e (11) F0
+ rewritten(description, meta) by test (*) as 7d0186621c5b (glob)
+
--- a/tests/test-evolve-obshistory.t Tue May 23 10:49:59 2017 +0200
+++ b/tests/test-evolve-obshistory.t Tue May 23 10:50:56 2017 +0200
@@ -59,7 +59,7 @@
x 471f378eab4c (1) A0
rewritten by test (*20*) as 4ae3a4151de9 (glob)
- $ hg olog 4ae3a4151de9 --no-graph -Tjson | python -m json.tool
+ $ hg obslog 4ae3a4151de9 --no-graph -Tjson | python -m json.tool
[
{
"debugobshistory.markers": [],
@@ -86,7 +86,7 @@
"debugobshistory.shortdescription": "A0"
}
]
- $ hg olog --hidden 471f378eab4c
+ $ hg obslog --hidden 471f378eab4c
x 471f378eab4c (1) A0
rewritten by test (*20*) as 4ae3a4151de9 (glob)
--- a/tests/test-evolve.t Tue May 23 10:49:59 2017 +0200
+++ b/tests/test-evolve.t Tue May 23 10:50:56 2017 +0200
@@ -793,6 +793,17 @@
more than 2 successors: 0
available keys:
user: 10
+ marker size:
+ format v1:
+ smallest length: 69
+ longer length: 69
+ median length: 69
+ mean length: 69
+ format v0:
+ smallest length: * (glob)
+ longer length: * (glob)
+ median length: * (glob)
+ mean length: * (glob)
disconnected clusters: 1
any known node: 1
smallest length: 10
--- a/tests/test-prune.t Tue May 23 10:49:59 2017 +0200
+++ b/tests/test-prune.t Tue May 23 10:50:56 2017 +0200
@@ -354,6 +354,17 @@
more than 2 successors: 0
available keys:
user: 7
+ marker size:
+ format v1:
+ smallest length: 69
+ longer length: 69
+ median length: 69
+ mean length: 69
+ format v0:
+ smallest length: * (glob)
+ longer length: * (glob)
+ median length: * (glob)
+ mean length: * (glob)
disconnected clusters: 7
any known node: 7
smallest length: 1