Sun, 03 May 2020 20:11:37 +0800 obslog: use unfiltered repo for --no-graph implementation too
Anton Shestakov <av6@dwimlabs.net> [Sun, 03 May 2020 20:11:37 +0800] rev 5321
obslog: use unfiltered repo for --no-graph implementation too repo.unfiltered() is used for graph version of obslog, because if we want to filter non-local changesets, we only have to provide --filternonlocal flag on the command line and _nodesandmarkers() will handle filtering. But that means for obslog without -f to work correctly we need to provide unfiltered repo to that function. With this patch both implementations of obslog (--graph and --no-graph) see the same repo.
Thu, 09 Apr 2020 20:02:32 +0200 tests: don't assume that echo will unescape \\
Joerg Sonnenberger <joerg@bec.de> [Thu, 09 Apr 2020 20:02:32 +0200] rev 5320
tests: don't assume that echo will unescape \\
Thu, 09 Apr 2020 19:52:30 +0200 tests: avoid non-portable sed command
Joerg Sonnenberger <joerg@bec.de> [Thu, 09 Apr 2020 19:52:30 +0200] rev 5319
tests: avoid non-portable sed command sed -i is a GNU extension and the i command without newline as well. Just create the file from scratch with printf to side-step the issue.
Thu, 09 Apr 2020 19:51:03 +0200 tests: check for file existance in a portable way
Joerg Sonnenberger <joerg@bec.de> [Thu, 09 Apr 2020 19:51:03 +0200] rev 5318
tests: check for file existance in a portable way The precise output of ls is highly OS specific, so just use the simpler test command.
Thu, 09 Apr 2020 19:50:03 +0200 tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de> [Thu, 09 Apr 2020 19:50:03 +0200] rev 5317
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems ls on 2BSD derived systems historically defaults to -A for root, so use it unconditionally for consistent results.
Thu, 09 Apr 2020 14:49:31 +0200 tests: silence potential warnings about uname -o
Joerg Sonnenberger <joerg@bec.de> [Thu, 09 Apr 2020 14:49:31 +0200] rev 5316
tests: silence potential warnings about uname -o The option is not supported on the BSDs, but also not relevant as it is only used to detect msys.
Tue, 24 Mar 2020 23:43:28 +0100 evolve: remove unused divergenceflag and splitflag of MultipleSuccessorsError draft
Manuel Jacob <me@manueljacob.de> [Tue, 24 Mar 2020 23:43:28 +0100] rev 5315
evolve: remove unused divergenceflag and splitflag of MultipleSuccessorsError
Sat, 21 Mar 2020 20:36:41 +0100 evolve: consider all obsolete ancestors when finding new parent for orphan draft
Manuel Jacob <me@manueljacob.de> [Sat, 21 Mar 2020 20:36:41 +0100] rev 5314
evolve: consider all obsolete ancestors when finding new parent for orphan Both the old and the new logic have in common that the orphan changeset is moved to the tipmost successor of one or more ancestors of the orphan changeset. The previous logic considered only the first non-pruned ancestor of the orphan changeset. The new logic considers all obsolete ancestors of the orphan changeset. The logic in _possibledestination() had to be changed to be consistent with the new logic.
Fri, 01 May 2020 21:05:37 +0200 py3: fix debugstablerangecache
Joerg Sonnenberger <joerg@bec.de> [Fri, 01 May 2020 21:05:37 +0200] rev 5313
py3: fix debugstablerangecache
Wed, 29 Apr 2020 00:44:14 +0800 topic: provide cache to successorssets() in _singlesuccessor()
Anton Shestakov <av6@dwimlabs.net> [Wed, 29 Apr 2020 00:44:14 +0800] rev 5312
topic: provide cache to successorssets() in _singlesuccessor() Since we're using obsutil.successorssets() in a loop, it may help performance to have cache.
Wed, 29 Apr 2020 00:43:13 +0800 evolve: provide cache to successorssets() in _singlesuccessor()
Anton Shestakov <av6@dwimlabs.net> [Wed, 29 Apr 2020 00:43:13 +0800] rev 5311
evolve: provide cache to successorssets() in _singlesuccessor() Since we're using obsutil.successorssets() in a loop, it may help performance to have cache.
Wed, 29 Apr 2020 00:28:15 +0800 evolve: provide cache to successorssets() in _possibledestination()
Anton Shestakov <av6@dwimlabs.net> [Wed, 29 Apr 2020 00:28:15 +0800] rev 5310
evolve: provide cache to successorssets() in _possibledestination() Since we're using obsutil.successorssets() in a loop, it may help performance to have cache.
Sun, 29 Mar 2020 17:41:48 +0700 obslog: support --all with --no-graph
Anton Shestakov <av6@dwimlabs.net> [Sun, 29 Mar 2020 17:41:48 +0700] rev 5309
obslog: support --all with --no-graph
Sun, 29 Mar 2020 17:21:56 +0700 obslog: support --filternonlocal with --no-graph
Anton Shestakov <av6@dwimlabs.net> [Sun, 29 Mar 2020 17:21:56 +0700] rev 5308
obslog: support --filternonlocal with --no-graph
Wed, 18 Mar 2020 19:20:17 +0700 obshistory: restructure templates a bit, drop default verb ("pruned")
Anton Shestakov <av6@dwimlabs.net> [Wed, 18 Mar 2020 19:20:17 +0700] rev 5307
obshistory: restructure templates a bit, drop default verb ("pruned") We always have a verb provided to the templates now, this should be fine.
Mon, 16 Mar 2020 19:13:33 +0700 obshistory: prepare data for displaymarkers() in a separate function
Anton Shestakov <av6@dwimlabs.net> [Mon, 16 Mar 2020 19:13:33 +0700] rev 5306
obshistory: prepare data for displaymarkers() in a separate function
Mon, 13 Jan 2020 16:32:25 +0700 obshistory: make patchavailable() handle predecessors too
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 16:32:25 +0700] rev 5305
obshistory: make patchavailable() handle predecessors too
Tue, 17 Mar 2020 19:37:08 +0700 tests: make sure not to test the same thing twice
Anton Shestakov <av6@dwimlabs.net> [Tue, 17 Mar 2020 19:37:08 +0700] rev 5304
tests: make sure not to test the same thing twice A block under this one already tests obslog --no-graph with -f. Right now there's no difference in output, but maybe some day obslog --no-graph will actually support --filternonlocal.
Wed, 11 Mar 2020 19:05:45 +0700 obshistory: rename precursors to predecessors in displayrevs()
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 19:05:45 +0700] rev 5303
obshistory: rename precursors to predecessors in displayrevs()
Wed, 11 Mar 2020 18:09:11 +0700 obshistory: rename _debugobshistorydisplaymarker() to displaymarkers()
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 18:09:11 +0700] rev 5302
obshistory: rename _debugobshistorydisplaymarker() to displaymarkers() Apart from the obvious change, the function now can show multiple markers, not just one.
Wed, 11 Mar 2020 18:06:30 +0700 obshistory: rename graph/revs-displaying functions
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 18:06:30 +0700] rev 5301
obshistory: rename graph/revs-displaying functions Same idea as the previous patch, but with a "display" prefix.
Wed, 11 Mar 2020 18:03:52 +0700 obshistory: rename node/ctx-displaying functions
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 18:03:52 +0700] rev 5300
obshistory: rename node/ctx-displaying functions Not just for debug, and yes we know it's obshistory-related.
Thu, 23 Apr 2020 03:06:30 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Apr 2020 03:06:30 +0200] rev 5299
branching: merge with stable
Mon, 20 Apr 2020 00:05:05 +0800 topic: use generationssubrel less directly, because it was recently renamed stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 20 Apr 2020 00:05:05 +0800] rev 5298
topic: use generationssubrel less directly, because it was recently renamed
Tue, 07 Apr 2020 15:39:23 +0200 auto-publish: issue the capabilities in all cases stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Apr 2020 15:39:23 +0200] rev 5297
auto-publish: issue the capabilities in all cases It seems better to message client that we support the capabilities in all cases.
Thu, 16 Apr 2020 18:32:14 +0800 packaging: add an entry to debian/changelog mentioning the previous change stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 16 Apr 2020 18:32:14 +0800] rev 5296
packaging: add an entry to debian/changelog mentioning the previous change
Thu, 16 Apr 2020 01:10:22 +0800 packaging: bump minimum required version of mercurial in debian/control stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 16 Apr 2020 01:10:22 +0800] rev 5295
packaging: bump minimum required version of mercurial in debian/control
Thu, 16 Apr 2020 12:51:05 +0200 [debian] package 9.3.1-3 for bionic ubuntu draft stable
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 16 Apr 2020 12:51:05 +0200] rev 5294
[debian] package 9.3.1-3 for bionic ubuntu
Wed, 15 Apr 2020 21:52:29 +0800 tests: update output to match 1b8fd4af3318 in core
Anton Shestakov <av6@dwimlabs.net> [Wed, 15 Apr 2020 21:52:29 +0800] rev 5293
tests: update output to match 1b8fd4af3318 in core CORE-TEST-OUTPUT-UPDATE: 1b8fd4af3318
Fri, 10 Apr 2020 10:13:48 +0800 manifest: now that there's only one legacy.py, exclude it stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 10 Apr 2020 10:13:48 +0800] rev 5292
manifest: now that there's only one legacy.py, exclude it After the last patch, this file is only included because of package_dir in setup.py (i.e. just once), so we can ignore it with just one clause. But package_dir starts with "./", so we need to add it to the pattern.
Thu, 09 Apr 2020 23:41:55 +0800 manifest: don't include .py files from hgext3rd/ twice stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 09 Apr 2020 23:41:55 +0800] rev 5291
manifest: don't include .py files from hgext3rd/ twice They are already included by default because we've given package_dir to setup().
Thu, 09 Apr 2020 23:35:20 +0800 manifest: just include all .py .sh and .t files from tests/ recursively stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 09 Apr 2020 23:35:20 +0800] rev 5290
manifest: just include all .py .sh and .t files from tests/ recursively
Thu, 09 Apr 2020 23:10:08 +0800 manifest: make sure exclusions and prunes are last, because order matters stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 09 Apr 2020 23:10:08 +0800] rev 5289
manifest: make sure exclusions and prunes are last, because order matters
Wed, 08 Apr 2020 16:16:09 +0200 branching: merge 9.3.1 release into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 08 Apr 2020 16:16:09 +0200] rev 5288
branching: merge 9.3.1 release into default
Wed, 08 Apr 2020 21:09:36 +0800 packaging: mark as developer version stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 21:09:36 +0800] rev 5287
packaging: mark as developer version
Wed, 08 Apr 2020 21:08:42 +0800 Added tag 9.3.1 for changeset 8d955635cf45 stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 21:08:42 +0800] rev 5286
Added tag 9.3.1 for changeset 8d955635cf45
Wed, 08 Apr 2020 21:07:06 +0800 packaging: prepare version 9.3.1 stable 9.3.1
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 21:07:06 +0800] rev 5285
packaging: prepare version 9.3.1
Wed, 08 Apr 2020 01:17:01 +0800 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:17:01 +0800] rev 5284
test-compat: merge mercurial-4.7 into mercurial-4.6
Wed, 08 Apr 2020 01:16:59 +0800 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:59 +0800] rev 5283
test-compat: merge mercurial-4.8 into mercurial-4.7
Wed, 08 Apr 2020 01:16:57 +0800 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:57 +0800] rev 5282
test-compat: merge mercurial-4.9 into mercurial-4.8
Wed, 08 Apr 2020 01:16:56 +0800 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:56 +0800] rev 5281
test-compat: merge mercurial-5.0 into mercurial-4.9
Wed, 08 Apr 2020 01:16:54 +0800 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:54 +0800] rev 5280
test-compat: merge mercurial-5.1 into mercurial-5.0
Wed, 08 Apr 2020 01:16:53 +0800 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:53 +0800] rev 5279
test-compat: merge mercurial-5.2 into mercurial-5.1
Wed, 08 Apr 2020 01:16:51 +0800 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:16:51 +0800] rev 5278
test-compat: merge stable into mercurial-5.2
Wed, 08 Apr 2020 01:02:23 +0800 topic: hg <= 4.8 compatibility for wrapping exchange._checkpublish() stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:02:23 +0800] rev 5277
topic: hg <= 4.8 compatibility for wrapping exchange._checkpublish() phase-divergent update to 1a81bbc94d45:
Tue, 07 Apr 2020 19:33:40 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Apr 2020 19:33:40 +0200] rev 5276
branching: merge with stable
Wed, 08 Apr 2020 01:02:23 +0800 topic: check that exchange._checkpublish() exists before wrapping it stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Apr 2020 01:02:23 +0800] rev 5275
topic: check that exchange._checkpublish() exists before wrapping it
Thu, 12 Mar 2020 02:08:39 +0100 head-checking: also test single head enforcement with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 12 Mar 2020 02:08:39 +0100] rev 5274
head-checking: also test single head enforcement with topic They are an important part of why we want this.
Mon, 06 Apr 2020 07:26:40 +0200 head-checking: ignore obsoleted section when checking head creation locally stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 07:26:40 +0200] rev 5273
head-checking: ignore obsoleted section when checking head creation locally Same as for the server side check, these do not need to be taken in account.
Wed, 11 Mar 2020 23:56:11 +0100 head-checking: ignore obsolete section when checking for single heads stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Mar 2020 23:56:11 +0100] rev 5272
head-checking: ignore obsolete section when checking for single heads This overwrite the core code that enforce single heads to ignore obsolete section. That way older obsolete version of a branch no longer prevent the new version to be pushed.
Mon, 06 Apr 2020 05:08:23 +0200 head-checking: update changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 05:08:23 +0200] rev 5271
head-checking: update changelog
Mon, 06 Apr 2020 03:06:04 +0200 head-checking: add test variant mixing branch and topics stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 03:06:04 +0200] rev 5270
head-checking: add test variant mixing branch and topics
Mon, 06 Apr 2020 02:56:43 +0200 head-checking: add test variants with topics stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 02:56:43 +0200] rev 5269
head-checking: add test variants with topics
Mon, 06 Apr 2020 02:17:43 +0200 head-checking: backport fix from 7d5455b988ec stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 02:17:43 +0200] rev 5268
head-checking: backport fix from 7d5455b988ec See 7d5455b988ec for details. Having a version in the evolve repository allow us to check the behavior when topic is enabled. It will also become the base of further head checking fix and topic compatibility.
Mon, 06 Apr 2020 04:01:58 +0200 head-checking: filter out obsolete heads when checking for new heads stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 04:01:58 +0200] rev 5267
head-checking: filter out obsolete heads when checking for new heads This does not affect any tests right now, but this will be useful for the next changeset. This is also the start of a more aggressive removal of obsolete heads in places where it does not make sense to take them into account.
Mon, 06 Apr 2020 05:05:07 +0200 topics: fix auto-publish=abort with servers publishing bare branches stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Apr 2020 05:05:07 +0200] rev 5266
topics: fix auto-publish=abort with servers publishing bare branches Before this change, servers that automatically publish bare branches were detected as "non publishing" and the check for automatic publishing on push assumed nothing was to be published. Now we signal the server-side config to clients via a new capability so that they can adjust their behavior.
Sat, 21 Mar 2020 15:04:18 +0100 evolve: fixed some typos in stablerangecache LONG_MESSAGE (issue6279) stable
Yohann Rebattu <yohann@rebattu.fr> [Sat, 21 Mar 2020 15:04:18 +0100] rev 5265
evolve: fixed some typos in stablerangecache LONG_MESSAGE (issue6279) phase-divergent update to bf37ba1c80ee
Sat, 21 Mar 2020 15:04:18 +0100 evolve: fixed some typos in stablerangecache LONG_MESSAGE, fix #6279 stable
Yohann Rebattu <yohann@rebattu.fr> [Sat, 21 Mar 2020 15:04:18 +0100] rev 5264
evolve: fixed some typos in stablerangecache LONG_MESSAGE, fix #6279
Sat, 21 Mar 2020 15:04:18 +0100 evolve: fixed some typos in stablerangecache LONG_MESSAGE, fix #6279
Yohann Rebattu <yohann@rebattu.fr> [Sat, 21 Mar 2020 15:04:18 +0100] rev 5263
evolve: fixed some typos in stablerangecache LONG_MESSAGE, fix #6279
Fri, 03 Apr 2020 19:10:29 +0200 branching: merge stable in default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Apr 2020 19:10:29 +0200] rev 5262
branching: merge stable in default
Thu, 12 Mar 2020 06:18:57 +0100 WIP: fix draft
Manuel Jacob <me@manueljacob.de> [Thu, 12 Mar 2020 06:18:57 +0100] rev 5261
WIP: fix
Thu, 12 Mar 2020 03:13:17 +0100 WIP: rotate loop draft
Manuel Jacob <me@manueljacob.de> [Thu, 12 Mar 2020 03:13:17 +0100] rev 5260
WIP: rotate loop
Thu, 12 Mar 2020 06:18:44 +0100 WIP: test draft
Manuel Jacob <me@manueljacob.de> [Thu, 12 Mar 2020 06:18:44 +0100] rev 5259
WIP: test
Fri, 06 Mar 2020 14:35:35 -0800 build: make docs/conf.py compatible with py3 draft
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Mar 2020 14:35:35 -0800] rev 5258
build: make docs/conf.py compatible with py3 I don't even know what this file does, but it made our Debian build fail on py3 because it attempted to pass unicode to `mercurial.ui.setconfig()`.
Thu, 16 Jan 2020 11:33:53 +0700 obshistory: add _debugobshistorydisplaypredsandmarkers() and test it draft
Anton Shestakov <av6@dwimlabs.net> [Thu, 16 Jan 2020 11:33:53 +0700] rev 5257
obshistory: add _debugobshistorydisplaypredsandmarkers() and test it
Mon, 13 Jan 2020 16:32:25 +0700 obshistory: make patchavailable() handle predecessors too draft
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 16:32:25 +0700] rev 5256
obshistory: make patchavailable() handle predecessors too
Wed, 15 Jan 2020 16:28:35 +0700 templatekw: add obsorigin keyword draft
Anton Shestakov <av6@dwimlabs.net> [Wed, 15 Jan 2020 16:28:35 +0700] rev 5255
templatekw: add obsorigin keyword
Tue, 14 Jan 2020 20:58:26 +0700 obshistory: implement predecessorsandmarkers() for obsorigin draft
Anton Shestakov <av6@dwimlabs.net> [Tue, 14 Jan 2020 20:58:26 +0700] rev 5254
obshistory: implement predecessorsandmarkers() for obsorigin
Sun, 02 Feb 2020 11:06:21 +0100 fold: proposal for output improvement draft
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 11:06:21 +0100] rev 5253
fold: proposal for output improvement Listing other changeset we got folded with seems like a good idea. We need to think about the case where changesets we got folded with is filtered.
Fri, 27 Dec 2019 20:40:13 -0800 obslog: add display of precursor information to the default template draft
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Fri, 27 Dec 2019 20:40:13 -0800] rev 5252
obslog: add display of precursor information to the default template This will still only be output when the user passes --precursors to the command (otherwise the data just won't be there). This addresses a common user request, where they actually would find more intuitive to use --precursors --no-successors.
Fri, 27 Dec 2019 20:38:10 -0800 obslog: add flags to control the output of precursors and successors draft
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Fri, 27 Dec 2019 20:38:10 -0800] rev 5251
obslog: add flags to control the output of precursors and successors With just this change, precursors are only shown in structured output.
Sat, 01 Feb 2020 10:54:20 +0100 obslog: extract display of a markers to its own function draft
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Sat, 01 Feb 2020 10:54:20 +0100] rev 5250
obslog: extract display of a markers to its own function
Mon, 27 Jan 2020 14:55:35 +0700 tests: allow an empty merge commit to have tests pass without too many changes draft stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 27 Jan 2020 14:55:35 +0700] rev 5249
tests: allow an empty merge commit to have tests pass without too many changes Not the greatest fix, but this allows us to have the same test case for all versions of Mercurial. Hash of 29 changes because instead of both parents only one is set in hg 5.3.
Sun, 26 Jan 2020 20:52:25 +0700 uncommit: use repo.setparents() instead of repo.dirstate.setparents() draft stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jan 2020 20:52:25 +0700] rev 5248
uncommit: use repo.setparents() instead of repo.dirstate.setparents() setparents() was added to localrepository class in 2012, and now we finally have some differences between calling repo.setparents() vs repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3. This patch fixes potential quick-access desync problems where repo[b'.'] would be different from repo.dirstate.p1().
Sun, 26 Jan 2020 20:57:20 +0700 touch: use repo.setparents() instead of repo.dirstate.setparents() draft stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jan 2020 20:57:20 +0700] rev 5247
touch: use repo.setparents() instead of repo.dirstate.setparents() setparents() was added to localrepository class in 2012, and now we finally have some differences between calling repo.setparents() vs repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3. This patch fixes potential quick-access desync problems where repo[b'.'] would be different from repo.dirstate.p1().
Sun, 26 Jan 2020 20:57:39 +0700 evolve: use repo.setparents() instead of repo.dirstate.setparents() draft stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jan 2020 20:57:39 +0700] rev 5246
evolve: use repo.setparents() instead of repo.dirstate.setparents() setparents() was added to localrepository class in 2012, and now we finally have some differences between calling repo.setparents() vs repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3. This patch fixes an actual quick-access desync problem where repo[b'.'] would be different from repo.dirstate.p1(), as demonstrated by test-evolve-phase-divergence.t when ran on hg 5.3rc0 and later. Modified _uncommitdirstate() too, because it is used in dirstatedance(), which sometimes follows repo.setparents() calls.
Mon, 02 Sep 2019 20:09:05 +0700 tests: demonstrate that evolve swaps parents of merge commits draft stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Sep 2019 20:09:05 +0700] rev 5245
tests: demonstrate that evolve swaps parents of merge commits Tests currently pass, don't forget to change FIXME items.
Wed, 22 Jan 2020 21:41:25 +0700 ci: cache pytype-related files between runs draft
Anton Shestakov <av6@dwimlabs.net> [Wed, 22 Jan 2020 21:41:25 +0700] rev 5244
ci: cache pytype-related files between runs
Sun, 10 Nov 2019 16:32:34 +0530 evolve: add pre-check logic for creation of phase divergence locally draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 10 Nov 2019 16:32:34 +0530] rev 5243
evolve: add pre-check logic for creation of phase divergence locally Changes in tests reflect the added behaviour.
Sun, 10 Nov 2019 18:08:57 +0530 evolve: add test to show that user can create phase-divergence locally draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 10 Nov 2019 18:08:57 +0530] rev 5242
evolve: add test to show that user can create phase-divergence locally After resolution of phase-divergence, user can locally create phase-divergence by rewriting the old bumped (obsolete now) changeset. Next patch will be adding the pre-check logic for creation of this phase-divergence.
Mon, 30 Dec 2019 00:24:09 +0530 evolve: remove unnecessary code since it's been covered already draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 30 Dec 2019 00:24:09 +0530] rev 5241
evolve: remove unnecessary code since it's been covered already We don't need this logic any more since the case of "two divergent csets where one is the parent of other" has been handled correctly by the logic present in method _prepcontentdivresolution() This is how things works in method _prepcontentdivresolution() for our case i.e "content-divergence with parent-child relation": cset_b (content-divergent) | cset_a (content-divergent) | ~ Acc. to revision selection criteria: "divergent" = min_revision(cset_a, cset_b) So always "divergent" will be cset_a and "other" will be "cset_b" and resolution parent will be the successor of parent of cset_a Both the csets will be merged and resolution cset will be based on correct revision. The result could be wrong only in the case when "divergent" is cset_b which is not possible acc. to the current logic.
Mon, 30 Dec 2019 00:43:17 +0530 test: no need to look at full log draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 30 Dec 2019 00:43:17 +0530] rev 5240
test: no need to look at full log
Sun, 29 Dec 2019 23:59:41 +0530 evolve: refactor content-divergence resolution logic draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 29 Dec 2019 23:59:41 +0530] rev 5239
evolve: refactor content-divergence resolution logic > What is the case we are looking at? This is about refactoring the part of content-div resolution logic where it decides which cset should be relocated and where. > What is a "topologicial common ancestors" vs a "greatest common ancestors"? `tca` is an ancestor which we can decide/find by looking at the at graph visually for e.g ``` c3(*) c4(*) | | c2(x) c1(x) c5 | / \ | / c0 ``` (c5 is the successor of c2 and c1) now here, `tca` of c3 and c4 is: c0 `gca` of c3 and c4 is: c5 > What is the new top-level logic/behavior that makes it better? The old code had some unnecessary edge cases just because we were using `gca`, since it can point to a revision that is not a topological ancestor. For e.g see b779b40f996e Eventually, the code around this was getting messy unnecessarily. So I looked into it and found a simple and more robust approach. And in new code, it is simple and straightforward (and easy to understand), where we handle the following 4 cases when solving content-div: 1) when both are on the same parent => (no need to do anything special, and simply proceed) 2) both are on the different parent but a) `tca` is the parent of one of them or b) there is no non-obsolete revision between `tca` and one of the divergent cset. => (relocate one to the other side and proceed) 3) both are on different parents and `tca` is not the parent of any of them and there is at least one non-obsolete cset between tca and both the divergent cset i.e (tca::div1) and (tca::div2) both the ranges have at least one non-obs revision. => (this is the case which we don't handle yet, but the solution would be to prompt the user to choose an evolve destination.) 4) both are in the parent-child relation => (both are merged and new cset will be based on the successor of `tca`) Changes in test-evolve-issue5958.t demonstrate that new code also covered case4 because in a resolution of "two divergent csets with parent-child relation" there should be one cset as a result and no orphan revs (as you can see there was an orphan before this patch).
Mon, 30 Dec 2019 00:11:00 +0530 evolve: remove duplicated code draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 30 Dec 2019 00:11:00 +0530] rev 5238
evolve: remove duplicated code See at line 500.
Mon, 25 Nov 2019 02:41:16 +0530 evolve: make necessary changes in a test to reflect a fix in next patch draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 02:41:16 +0530] rev 5237
evolve: make necessary changes in a test to reflect a fix in next patch
Mon, 23 Dec 2019 01:03:45 +0530 evolve: add quotes around the action in msg of pre-checking draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 23 Dec 2019 01:03:45 +0530] rev 5236
evolve: add quotes around the action in msg of pre-checking
Wed, 04 Dec 2019 21:06:39 +0530 metaedit: use pre-checking before rewriting csets draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 04 Dec 2019 21:06:39 +0530] rev 5235
metaedit: use pre-checking before rewriting csets Changes in test file demonstrate the changed behaviour.
Sat, 14 Dec 2019 13:31:45 +0530 evolve: update the pre-check message for risk of orphans draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 14 Dec 2019 13:31:45 +0530] rev 5234
evolve: update the pre-check message for risk of orphans
Sun, 10 Nov 2019 16:32:34 +0530 evolve: add pre-check logic for creation of phase divergence locally draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 10 Nov 2019 16:32:34 +0530] rev 5233
evolve: add pre-check logic for creation of phase divergence locally Changes in tests reflect the added behaviour.
Sun, 10 Nov 2019 18:08:57 +0530 evolve: add test to show that user can create phase-divergence locally draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 10 Nov 2019 18:08:57 +0530] rev 5232
evolve: add test to show that user can create phase-divergence locally After resolution of phase-divergence, user can locally create phase-divergence by rewriting the old bumped (obsolete now) changeset. Next patch will be adding the pre-check logic for creation of this phase-divergence.
Mon, 04 Nov 2019 00:18:55 +0530 evolve: remove a check which is already done by rewriteutil.precheck() draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 00:18:55 +0530] rev 5231
evolve: remove a check which is already done by rewriteutil.precheck() We have tests to check if fold is being performed on public cset. There is no changes in test files because testing that never touched the part this patch removes, and already caught in rewriteutil.precheck()
Mon, 04 Nov 2019 01:30:50 +0530 evolve: add pre-check logic for content-divergence in rewriteutil.precheck() draft
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 01:30:50 +0530] rev 5230
evolve: add pre-check logic for content-divergence in rewriteutil.precheck() For now, pre-check will abort if rewriting a rev create divergence (and config experimental.evolution.allowdivergence is not set to True). But this behaviour can be improved where instead of abort maybe we can confirm the user to either proceed with divergence or some other options depends on what command user is running. Changes in test file are used to overrides the pre-check for testing purpose (using experimental.evolution.allowdivergence=yes).
Thu, 26 Dec 2019 10:21:31 -0800 topic: make in-memory rebase preserve topic draft
Martin von Zweigbergk <martinvonz@google.com> [Thu, 26 Dec 2019 10:21:31 -0800] rev 5229
topic: make in-memory rebase preserve topic The override code thought that `__init__` would return the runtime instance, but it's actually the first argument to the function (the `self` argument), so the code had no effect at all before this patch. I think the bug only affected in-memory rebase because the in-working-copy rebase used the current topic, which was set correctly since 5156a67f66a6 (topics: update current topic to the topic of newly rebased commit (issue5551), 2017-06-29).
Wed, 18 Dec 2019 14:10:56 +0100 Temporary commit for time measurement of test file + pandoc draft
Boris Feld <boris.feld@octobus.net> [Wed, 18 Dec 2019 14:10:56 +0100] rev 5228
Temporary commit for time measurement of test file + pandoc
Wed, 18 Dec 2019 14:10:49 +0100 ci: Add CI job for building the documentation draft
Boris Feld <boris.feld@octobus.net> [Wed, 18 Dec 2019 14:10:49 +0100] rev 5227
ci: Add CI job for building the documentation
Fri, 22 Nov 2019 18:56:42 +0100 tutorial: compile the tutorial in rst so it can be included draft
Boris Feld <boris.feld@octobus.net> [Fri, 22 Nov 2019 18:56:42 +0100] rev 5226
tutorial: compile the tutorial in rst so it can be included
Fri, 22 Nov 2019 18:29:27 +0100 tutorial: run the tutorial test file to update to latests ui messages draft
Boris Feld <boris.feld@octobus.net> [Fri, 22 Nov 2019 18:29:27 +0100] rev 5225
tutorial: run the tutorial test file to update to latests ui messages
Fri, 22 Nov 2019 18:28:01 +0100 ignore: fix hgignore to point to the correct folder draft
Boris Feld <boris.feld@octobus.net> [Fri, 22 Nov 2019 18:28:01 +0100] rev 5224
ignore: fix hgignore to point to the correct folder Files might have been imported initially as docs/training but were moved to docs/tutorial and the hgignore was likely forgotten.
Thu, 12 Sep 2019 15:38:11 +0700 stack: rename stack.revs into stack.indexedrevs draft
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Sep 2019 15:38:11 +0700] rev 5223
stack: rename stack.revs into stack.indexedrevs They are accessible by an index, and are sorted. But they don't include all revisions for show in showstack().
Thu, 12 Sep 2019 15:22:50 +0700 stack: return from behindcount() early draft
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Sep 2019 15:22:50 +0700] rev 5222
stack: return from behindcount() early Reduces indentation.
Thu, 12 Sep 2019 14:44:19 +0700 stack: use self._revs in stack.behindcount() draft
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Sep 2019 14:44:19 +0700] rev 5221
stack: use self._revs in stack.behindcount() This code also doesn't care about the order of revisions, it just wants all revs except stack base, and that's what self._revs is.
Thu, 12 Sep 2019 14:42:38 +0700 stack: use self._revs in stack.heads() draft
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Sep 2019 14:42:38 +0700] rev 5220
stack: use self._revs in stack.heads() No code cares about the ordering of the heads anyway, so let's use the unordered property that doesn't need to be sliced (because it doesn't include base).
Tue, 04 Sep 2018 19:53:08 +0200 pick: Add a test to check that pick pick the right content draft
Boris Feld <boris.feld@octobus.net> [Tue, 04 Sep 2018 19:53:08 +0200] rev 5219
pick: Add a test to check that pick pick the right content
Thu, 01 Feb 2018 18:26:56 +0100 WIP on handling stacks draft
Boris Feld <boris.feld@octobus.net> [Thu, 01 Feb 2018 18:26:56 +0100] rev 5218
WIP on handling stacks
Mon, 15 Jan 2018 17:46:40 +0100 test: add a test for current behavior of precursors revset draft
Boris Feld <boris.feld@octobus.net> [Mon, 15 Jan 2018 17:46:40 +0100] rev 5217
test: add a test for current behavior of precursors revset The precursors revset currently returns the closest predecessors of a revset. If these predecessors are not known locally, it returns an empty list.
Sun, 29 Mar 2020 16:00:57 +0700 obshistory: give a more correct name to a variable
Anton Shestakov <av6@dwimlabs.net> [Sun, 29 Mar 2020 16:00:57 +0700] rev 5216
obshistory: give a more correct name to a variable This variable holds a list of predecessors, which obslog presents to graphmod as parents so the latter could understand the data without the need to introduce another graph edge type specifically for predecessors. Also remove debug comments.
Sun, 29 Mar 2020 16:08:43 +0700 tests: unindent lines that only have one leading space stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 29 Mar 2020 16:08:43 +0700] rev 5215
tests: unindent lines that only have one leading space One space is not even defined in our .t files syntax.
Fri, 27 Mar 2020 17:37:34 +0700 rewind: make __rewind-hash__ extra field be bytes stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Mar 2020 17:37:34 +0700] rev 5214
rewind: make __rewind-hash__ extra field be bytes
Fri, 27 Mar 2020 17:37:03 +0700 touch: make __touch-noise__ extra field be bytes stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Mar 2020 17:37:03 +0700] rev 5213
touch: make __touch-noise__ extra field be bytes
Fri, 27 Mar 2020 04:30:22 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Mar 2020 04:30:22 +0100] rev 5212
branching: merge with stable
Wed, 25 Mar 2020 17:44:08 -0400 evolve: fix some documentation grammar/typos
Eric Spishak-Thomas <emspishak@gmail.com> [Wed, 25 Mar 2020 17:44:08 -0400] rev 5211
evolve: fix some documentation grammar/typos
Wed, 25 Mar 2020 17:44:08 -0400 evolve: fix some documentation grammar/typos stable
Eric Spishak-Thomas <emspishak@gmail.com> [Wed, 25 Mar 2020 17:44:08 -0400] rev 5210
evolve: fix some documentation grammar/typos
Wed, 25 Mar 2020 21:48:32 +0100 changelog: mention the recent evolve improvements stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Mar 2020 21:48:32 +0100] rev 5209
changelog: mention the recent evolve improvements
Sat, 21 Mar 2020 00:46:37 +0100 tests: merge two tests about split changesets stable
Manuel Jacob <me@manueljacob.de> [Sat, 21 Mar 2020 00:46:37 +0100] rev 5208
tests: merge two tests about split changesets Because the removed test case is essentially already included in the succeeding one, the tests are merged by removing the first.
Wed, 11 Mar 2020 16:05:53 +0100 evolve: support successors of ancestor of orphan with multiple roots stable
Manuel Jacob <me@manueljacob.de> [Wed, 11 Mar 2020 16:05:53 +0100] rev 5207
evolve: support successors of ancestor of orphan with multiple roots The previous code checked that the set of successors has a single root. However, there’s no reason to require that in general. Example: o 6 | o 5 |\ | o 4 | | o | 3 |/ | * 2 | | | x 1 |/ o 0 1 is obsoleted by 3, 4 and 6. We are considering the case when 2 gets evolved. The roots are [3, 4] and the heads are [6]. Before the change, the user was asked which destination to choose, but there was only one choice (6). After the change, 6 is chosen as the destination.
Wed, 11 Mar 2020 16:04:06 +0100 evolve: support ancestor of orphan split with unrelated changeset in between stable
Manuel Jacob <me@manueljacob.de> [Wed, 11 Mar 2020 16:04:06 +0100] rev 5206
evolve: support ancestor of orphan split with unrelated changeset in between This is done by searching for roots and heads within the range delimited on both sides by the target revs instead of just within the target revs. Example: o 5 | o 4 | o 3 | | * 2 | | | x 1 |/ o 0 1 is obsoleted by 3 and 5. We are considering the case when 2 gets evolved. Before the change, both roots and heads were [3, 5]. The user was offered a choice between 3 and 5 as the destination. After the change, roots are [3] and heads are [5]. 5 is chosen as the destination.
Wed, 11 Mar 2020 18:50:39 +0100 exchange: deal with empty obscommon stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Mar 2020 18:50:39 +0100] rev 5205
exchange: deal with empty obscommon The case can happen, we better support it.
Fri, 20 Mar 2020 12:37:44 +0700 topic: compat with tr.changes[b'phases'], it's now a list
Anton Shestakov <av6@dwimlabs.net> [Fri, 20 Mar 2020 12:37:44 +0700] rev 5204
topic: compat with tr.changes[b'phases'], it's now a list
Thu, 19 Mar 2020 20:09:18 +0530 topic: fix compatibility issues caused because of change in transaction API
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 19 Mar 2020 20:09:18 +0530] rev 5203
topic: fix compatibility issues caused because of change in transaction API In 36f08ae87ef687be53a59bd87376bcfbe4479205 in core mercurial, `_validator` attribute to transaction class was removed and a dict was introduced. It added a `addvalidator()` function to transaction class which can be used to register multiple validator callbacks. This updates the code to use `addvalidator()` when `_validator` attribute is not present.
Fri, 06 Mar 2020 02:42:03 +0100 obsexchange: fallback to simpler request for dumb http server stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 02:42:03 +0100] rev 5202
obsexchange: fallback to simpler request for dumb http server If the http server cannot accept many arguments, avoid sending too large requests (at the cost of more data exchanged). A better solution would be to aggregate contiguous range, but this is a question for later.
Fri, 06 Mar 2020 02:46:51 +0100 obsexchange: swap the 'common' and 'missing' clause stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 02:46:51 +0100] rev 5201
obsexchange: swap the 'common' and 'missing' clause
Fri, 06 Mar 2020 02:41:53 +0100 obsdiscovery: avoid considering locally hidden changeset stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 02:41:53 +0100] rev 5200
obsdiscovery: avoid considering locally hidden changeset This looks like a dubious optimisation
Wed, 11 Mar 2020 18:29:46 +0100 obsdiscovery: add a test where some common node are hidden stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Mar 2020 18:29:46 +0100] rev 5199
obsdiscovery: add a test where some common node are hidden This is useful to prevent regression.
Fri, 13 Mar 2020 19:11:43 +0700 tests: use appropriate Python (2 or 3) for dummyssh stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 13 Mar 2020 19:11:43 +0700] rev 5198
tests: use appropriate Python (2 or 3) for dummyssh
Wed, 11 Mar 2020 18:28:26 +0100 evolve: add missing 'of' in message stable
Manuel Jacob <me@manueljacob.de> [Wed, 11 Mar 2020 18:28:26 +0100] rev 5197
evolve: add missing 'of' in message The message refers to the changeset that is currently evolved. Therefore the message needs an additional 'of' to be correct.
Fri, 06 Mar 2020 18:39:40 +0100 test: fix graph label in test-push-checkheads-pruned-B5.t stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 18:39:40 +0100] rev 5196
test: fix graph label in test-push-checkheads-pruned-B5.t They were wrong.
Wed, 11 Mar 2020 16:11:04 +0700 readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 16:11:04 +0700] rev 5195
readme: mention compat string format
Wed, 11 Mar 2020 15:55:36 +0700 readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net> [Wed, 11 Mar 2020 15:55:36 +0700] rev 5194
readme: copywrite the section about branch policy, wrap long lines
(0) -3000 -1000 -128 tip