Fri, 08 May 2020 22:50:09 +0800 test-compat: merge mercurial-4.7 into mercurial-4.6 draft mercurial-4.6 tip
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 22:50:09 +0800] rev 5368
test-compat: merge mercurial-4.7 into mercurial-4.6
Fri, 08 May 2020 22:18:15 +0800 test-compat: merge mercurial-4.8 into mercurial-4.7 draft mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 22:18:15 +0800] rev 5367
test-compat: merge mercurial-4.8 into mercurial-4.7
Fri, 08 May 2020 20:36:32 +0800 test-compat: merge mercurial-4.9 into mercurial-4.8 draft mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 20:36:32 +0800] rev 5366
test-compat: merge mercurial-4.9 into mercurial-4.8
Fri, 08 May 2020 20:36:31 +0800 test-compat: merge mercurial-5.0 into mercurial-4.9 draft mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 20:36:31 +0800] rev 5365
test-compat: merge mercurial-5.0 into mercurial-4.9
Fri, 08 May 2020 20:36:29 +0800 test-compat: merge mercurial-5.1 into mercurial-5.0 draft mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 20:36:29 +0800] rev 5364
test-compat: merge mercurial-5.1 into mercurial-5.0
Fri, 08 May 2020 20:36:28 +0800 test-compat: merge mercurial-5.2 into mercurial-5.1 draft mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 20:36:28 +0800] rev 5363
test-compat: merge mercurial-5.2 into mercurial-5.1
Fri, 08 May 2020 20:24:22 +0800 test-compat: merge mercurial-5.3 into mercurial-5.2 draft mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 20:24:22 +0800] rev 5362
test-compat: merge mercurial-5.3 into mercurial-5.2
Fri, 08 May 2020 19:49:07 +0800 test-compat: back out changeset 591a0afd2ef3 draft mercurial-5.3
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:49:07 +0800] rev 5361
test-compat: back out changeset 591a0afd2ef3
Fri, 08 May 2020 19:44:48 +0800 test-compat: back out changeset 51e38bf936cf draft mercurial-5.3
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:44:48 +0800] rev 5360
test-compat: back out changeset 51e38bf936cf
Fri, 08 May 2020 19:22:36 +0800 test-compat: back out changeset 4da1d21231ae draft mercurial-5.3
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:22:36 +0800] rev 5359
test-compat: back out changeset 4da1d21231ae
Fri, 08 May 2020 19:19:26 +0800 test-compat: back out changeset 7d0d066329f4 draft mercurial-5.3
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:19:26 +0800] rev 5358
test-compat: back out changeset 7d0d066329f4
Fri, 08 May 2020 19:10:14 +0800 test-compat: create a compatibility branch for Mercurial 5.3 draft mercurial-5.3
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:10:14 +0800] rev 5357
test-compat: create a compatibility branch for Mercurial 5.3 Mercurial 5.4 have been released, so the stable branch is no longer about 5.3.
Fri, 08 May 2020 18:46:20 +0800 Added tag 10.0.0 for changeset 0b5d1b0b3336 draft stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:46:20 +0800] rev 5356
Added tag 10.0.0 for changeset 0b5d1b0b3336
Fri, 08 May 2020 18:45:49 +0800 packaging: prepare evolve version 10.0.0 draft stable 10.0.0
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:45:49 +0800] rev 5355
packaging: prepare evolve version 10.0.0
Fri, 08 May 2020 18:45:17 +0800 changelog: update for evolve 10.0.0 draft stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:45:17 +0800] rev 5354
changelog: update for evolve 10.0.0
Fri, 08 May 2020 18:22:26 +0800 branching: merge into stable in preparation for release draft stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:22:26 +0800] rev 5353
branching: merge into stable in preparation for release
Thu, 07 May 2020 19:47:59 -0700 utility: deal with having multiple draft default
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Thu, 07 May 2020 19:47:59 -0700] rev 5352
utility: deal with having multiple When a revision has multiple prune obsolescence markers, it's thought to be a split, and the way we try to deal with splits currently crashes.
Sun, 03 May 2020 15:39:56 +0800 changelog: summarize the last couple of features
Anton Shestakov <av6@dwimlabs.net> [Sun, 03 May 2020 15:39:56 +0800] rev 5351
changelog: summarize the last couple of features
Wed, 29 Apr 2020 21:57:59 +0800 obshistory: create _fatemarkers() similar to _originmarkers()
Anton Shestakov <av6@dwimlabs.net> [Wed, 29 Apr 2020 21:57:59 +0800] rev 5350
obshistory: create _fatemarkers() similar to _originmarkers()
Thu, 07 May 2020 01:29:48 +0200 obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 May 2020 01:29:48 +0200] rev 5349
obslog: makes --origin flag the default Test change have been carefully validated.
Thu, 07 May 2020 01:29:24 +0200 obslog: add a --origin flag to show predecessors instead of successors
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 May 2020 01:29:24 +0200] rev 5348
obslog: add a --origin flag to show predecessors instead of successors This flag will be turned on by default in the next changeset.
Tue, 21 Apr 2020 23:45:11 +0800 obslog: add preliminary support for showing predecessors
Anton Shestakov <av6@dwimlabs.net> [Tue, 21 Apr 2020 23:45:11 +0800] rev 5347
obslog: add preliminary support for showing predecessors This functionality is not yet used right now, but will be in the next patch.
Fri, 24 Apr 2020 01:15:38 +0800 obshistory: add _originmarkers() function to be used for obslog --origin
Anton Shestakov <av6@dwimlabs.net> [Fri, 24 Apr 2020 01:15:38 +0800] rev 5346
obshistory: add _originmarkers() function to be used for obslog --origin
Fri, 08 May 2020 04:02:22 +0200 evolve: rename `evolve_source_*` to `divergence_source_*`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 May 2020 04:02:22 +0200] rev 5345
evolve: rename `evolve_source_*` to `divergence_source_*` This makes it clearer that this comes from divergence resolution.
Thu, 07 May 2020 07:57:14 -0700 evolve: mark new hash-salting extras keys as uninteresting for effect flag
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 May 2020 07:57:14 -0700] rev 5344
evolve: mark new hash-salting extras keys as uninteresting for effect flag The user doesn't care if the `evolve_source_local`/`evolve_source_other` values in the extras changed, so this patch adds them to the blacklist that already exists for that purpose. This should also fix the flakiness we've seen in some tests. The flakiness seemed to stem from `mercurial.obsutil.geteffectflag()` not sorting extras keys. That means we ran into it relatively often for the `evolve_source_local`/`evolve_source_other` keys because there were two of them. That sorting bug should be fixed upstream.
Mon, 09 Dec 2019 11:09:11 -0800 evolve: handle relocation during divergence resolution producing no changes
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 11:09:11 -0800] rev 5343
evolve: handle relocation during divergence resolution producing no changes When resolving divergence and the two divergent commits have different parents, we start by rebasing one of them to have the same parent as the other. That step can result in no changes to commit. When it does, we would crash with a TypeError before this patch. This patch fixes it by instead creating an empty commit in that scenario. The existing code then continues to attempt to merge it, which produces no changes, and no commit is created on top. The other side of the divergence is marked as successor as usual, so orphans from the side that became empty will be evolved to the right place (see test).
Mon, 09 Dec 2019 10:05:24 -0800 tests: show crash from divergence resolution resulting in empty commit
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:05:24 -0800] rev 5342
tests: show crash from divergence resolution resulting in empty commit When relocating a commit results in an empty commit (because the changes are already in the destination), we get a TypeError from evolve.
Thu, 30 Apr 2020 10:05:14 -0700 evolve: always create commit when resolving divergence
Martin von Zweigbergk <martinvonz@google.com> [Thu, 30 Apr 2020 10:05:14 -0700] rev 5341
evolve: always create commit when resolving divergence When resolving content-divergence, the final commit we create may end up empty (which means that Mercurial won't even create it). We've had code for handling that in evolve ever since 41bf6c27a122 (evolve: stabilize now handle conflicting changeset, 2012-08-23). However, that resolved the issue by marking on the divergent commits as successor. As Pierre-Yves has pointed out (in other code reviews), we should instead be creating a new successor. So that's what this patch does. It does that by setting `ui.allowemptycommit` while creating the final commit. However, that is not enough, because we may end up creating the same nodeid as already existed (we'd then end up trying to mark the "new" commit a successor of itself). To solve that, we add some salt to the commit extras. That salt affects lots of tests.
Tue, 05 May 2020 16:29:52 +0800 tests: replace an X+X revset with something meaningful
Anton Shestakov <av6@dwimlabs.net> [Tue, 05 May 2020 16:29:52 +0800] rev 5340
tests: replace an X+X revset with something meaningful The change in aab2afc2bd82 seem to have been make too hastily.
Tue, 05 May 2020 16:54:24 +0800 tests: update section headers and comments in obslog-related tests
Anton Shestakov <av6@dwimlabs.net> [Tue, 05 May 2020 16:54:24 +0800] rev 5339
tests: update section headers and comments in obslog-related tests
Tue, 05 May 2020 16:52:59 +0800 tests: use common obshistory_setup.sh script instead of manual setup
Anton Shestakov <av6@dwimlabs.net> [Tue, 05 May 2020 16:52:59 +0800] rev 5338
tests: use common obshistory_setup.sh script instead of manual setup This is now consistent with other test-evolve-obshistory*.t tests.
Tue, 05 May 2020 16:27:02 +0800 tests: remove "second diverged revision" from a phase divergence test
Anton Shestakov <av6@dwimlabs.net> [Tue, 05 May 2020 16:27:02 +0800] rev 5337
tests: remove "second diverged revision" from a phase divergence test It was basically testing the same thing twice with a different comment.
Tue, 05 May 2020 15:43:43 +0800 obshistory: omit duplicate notes of obsolescence operations
Anton Shestakov <av6@dwimlabs.net> [Tue, 05 May 2020 15:43:43 +0800] rev 5336
obshistory: omit duplicate notes of obsolescence operations When folding changesets, it's possible to provide a --note flag to e.g. fold or prune, which will store a note for that operation. But since there would be more than one marker for the fold operation and the provided note would be stored in all of them, _markersnotes() previously would return the same text message many times. We don't really want to see the same thing over and over, so let's make notes a set(). This will also make unrelated operations with the same note show the message only once, which is probably an improvement too.
Tue, 05 May 2020 20:25:33 +0200 changelog: adjust
Joerg Sonnenberger <joerg@bec.de> [Tue, 05 May 2020 20:25:33 +0200] rev 5335
changelog: adjust The changes only apply to newly created sqlite database. There are code pathes that drop existing ones, but that's a more complicated condition.
Sun, 03 May 2020 20:59:34 +0200 changelog: mention the sqlite fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 May 2020 20:59:34 +0200] rev 5334
changelog: mention the sqlite fix
Wed, 01 Apr 2020 09:21:29 -0700 evolve: extract function for relocating divergent commit
Martin von Zweigbergk <martinvonz@google.com> [Wed, 01 Apr 2020 09:21:29 -0700] rev 5333
evolve: extract function for relocating divergent commit There was some duplication here, so let's extract to a function. I'm going to add a little bit more shared code next.
Sun, 03 May 2020 01:01:19 +0200 caches: preserve permissions of top-level .hg
Joerg Sonnenberger <joerg@bec.de> [Sun, 03 May 2020 01:01:19 +0200] rev 5332
caches: preserve permissions of top-level .hg When using hg on a shared filesystem on UNIX, cache files normally inherit the permissions of the .hg directory. This is most commonly used to ensure everything is writable by all users. The sqlite3 cache files don't have a way to directly set the permission, so check if a special mode is necessary and try to apply them to newly created database files.
Sat, 02 May 2020 23:31:31 +0800 changelog: mention obsorigin template keyword
Anton Shestakov <av6@dwimlabs.net> [Sat, 02 May 2020 23:31:31 +0800] rev 5331
changelog: mention obsorigin template keyword
Tue, 10 Mar 2020 17:18:09 +0700 templatekw: add obsorigin keyword
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Mar 2020 17:18:09 +0700] rev 5330
templatekw: add obsorigin keyword
Fri, 24 Apr 2020 01:14:34 +0800 obshistory: add predecessorsandmarkers()
Anton Shestakov <av6@dwimlabs.net> [Fri, 24 Apr 2020 01:14:34 +0800] rev 5329
obshistory: add predecessorsandmarkers()
Fri, 24 Apr 2020 01:09:30 +0800 obshistory: add a function to group predsets by fold-id
Anton Shestakov <av6@dwimlabs.net> [Fri, 24 Apr 2020 01:09:30 +0800] rev 5328
obshistory: add a function to group predsets by fold-id
Tue, 21 Apr 2020 23:40:44 +0800 obshistory: add _predecessorsverb() similar to _successorsetverb()
Anton Shestakov <av6@dwimlabs.net> [Tue, 21 Apr 2020 23:40:44 +0800] rev 5327
obshistory: add _predecessorsverb() similar to _successorsetverb()
Sat, 25 Apr 2020 18:51:23 +0800 obshistory: add a docstring to patchavailable()
Anton Shestakov <av6@dwimlabs.net> [Sat, 25 Apr 2020 18:51:23 +0800] rev 5326
obshistory: add a docstring to patchavailable()
Fri, 01 May 2020 07:44:01 -0700 tests: avoid referring to commits by hash in a few places
Martin von Zweigbergk <martinvonz@google.com> [Fri, 01 May 2020 07:44:01 -0700] rev 5325
tests: avoid referring to commits by hash in a few places This patch means that the next patch can be written without manual editing of the test cases.
Fri, 01 May 2020 07:43:15 -0700 tests: add more verification of output to divergence tests
Martin von Zweigbergk <martinvonz@google.com> [Fri, 01 May 2020 07:43:15 -0700] rev 5324
tests: add more verification of output to divergence tests It's not obvious what the obsmarkers should look like in these tests and adding them highlights a bug that happens when commit we create to resolve the divergence doesn't get created because it would be empty. I also added a few graphlog calls to check that the divergence-resolution commit is in the right place (has right parentage).
Mon, 16 Dec 2019 11:14:39 -0800 tests: add debugobsolete calls before many obslog calls
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Dec 2019 11:14:39 -0800] rev 5323
tests: add debugobsolete calls before many obslog calls As requested by Pierre-Yves. The main reason is to catch superfluous creation of obsmarkers, as well as any future changes to how the obsmarkers get created.
Sun, 03 May 2020 01:45:04 +0200 stablerangecache: sanity check subranges
Joerg Sonnenberger <joerg@bec.de> [Sun, 03 May 2020 01:45:04 +0200] rev 5322
stablerangecache: sanity check subranges Try to detect invalid conditions on insert as would result in deep recursions and final aborts much later. This has been observed on two different machines and the check makes it hopefully possible to find the origin of the problem.
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
Tue, 10 Mar 2020 19:05:08 +0700 compat: update hg-X.Y compat comments and test them
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Mar 2020 19:05:08 +0700] rev 5193
compat: update hg-X.Y compat comments and test them
Tue, 10 Mar 2020 19:04:33 +0700 contrib: add a script to check release in compat comments that have node hash
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Mar 2020 19:04:33 +0700] rev 5192
contrib: add a script to check release in compat comments that have node hash
Tue, 10 Mar 2020 11:50:40 +0100 changelog: add an entry about the cleanup
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 11:50:40 +0100] rev 5191
changelog: add an entry about the cleanup
Mon, 09 Mar 2020 18:47:18 +0700 evolve: drop compat for pre-4.5 context.memfilectx()
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Mar 2020 18:47:18 +0700] rev 5190
evolve: drop compat for pre-4.5 context.memfilectx()
Mon, 09 Mar 2020 18:36:10 +0700 compat: update a couple of obviously outdated version comments
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Mar 2020 18:36:10 +0700] rev 5189
compat: update a couple of obviously outdated version comments
Sat, 07 Mar 2020 23:16:31 +0700 evolve: drop pre 4.0 compat for dirstate.parentchange()
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 23:16:31 +0700] rev 5188
evolve: drop pre 4.0 compat for dirstate.parentchange()
Sat, 07 Mar 2020 22:38:14 +0700 evolve: drop 4.5 compat for scmutil.resolvehexnodeidprefix()
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 22:38:14 +0700] rev 5187
evolve: drop 4.5 compat for scmutil.resolvehexnodeidprefix()
Sat, 07 Mar 2020 02:26:49 +0700 evolve: drop 4.5 compatibility for patch in tryimportone()
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 02:26:49 +0700] rev 5186
evolve: drop 4.5 compatibility for patch in tryimportone()
Sat, 07 Mar 2020 02:03:28 +0700 evolve: drop 4.5 compatibility with `patch.extract` API
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 02:03:28 +0700] rev 5185
evolve: drop 4.5 compatibility with `patch.extract` API
Sat, 07 Mar 2020 01:43:40 +0700 evolve: drop 4.5 compatibility for template keywords
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 01:43:40 +0700] rev 5184
evolve: drop 4.5 compatibility for template keywords
Sat, 07 Mar 2020 01:36:33 +0700 topic: drop 4.5 compatibility for template keywords
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Mar 2020 01:36:33 +0700] rev 5183
topic: drop 4.5 compatibility for template keywords
Wed, 04 Mar 2020 16:30:38 +0100 compat: drop 4.5 compatibility for strdiff
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 16:30:38 +0100] rev 5182
compat: drop 4.5 compatibility for strdiff
Wed, 04 Mar 2020 16:30:19 +0100 compat: drop 4.5 compatibility layer for log utility
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 16:30:19 +0100] rev 5181
compat: drop 4.5 compatibility layer for log utility
Tue, 10 Mar 2020 11:07:06 +0100 compat: drop 4.5 related compatibility around wireprotocol module
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 11:07:06 +0100] rev 5180
compat: drop 4.5 related compatibility around wireprotocol module
Tue, 10 Mar 2020 11:06:37 +0100 compat: directly use status attribute instead of the compat layer
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 11:06:37 +0100] rev 5179
compat: directly use status attribute instead of the compat layer With 4.5 dropped, this compat layer is no longer needed.
Tue, 10 Mar 2020 11:07:34 +0100 compat: directly use function from dateutil
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 11:07:34 +0100] rev 5178
compat: directly use function from dateutil Since support for 4.5 have been dropped we no longer needs this indirection.
Wed, 04 Mar 2020 16:14:03 +0100 compat: drop 4.5 compatibility for `_filterederror`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 16:14:03 +0100] rev 5177
compat: drop 4.5 compatibility for `_filterederror`
Wed, 04 Mar 2020 16:03:23 +0100 compat: drop import compatibility <= 4.5 for `forcebytestr`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 16:03:23 +0100] rev 5176
compat: drop import compatibility <= 4.5 for `forcebytestr` We no longer support 4.5
Wed, 04 Mar 2020 15:21:32 -0800 tests: adapt now that Mercurial clears the merge state for empty wdir
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Mar 2020 15:21:32 -0800] rev 5175
tests: adapt now that Mercurial clears the merge state for empty wdir `hg evolve` forgot to clear the merge state when its attempt to commit resulted in no commit because the working copy had no changes. That resulted in test-evolve-issue5967.t showing a conflict state that shouldn't be there. The responsibility for clearing the merge state was moved into Mercurial in Mercurial in 6a34e438461b (commit: clear resolved mergestate even if working copy is clean, 2020-02-28), so the bug is now fixed in `hg evolve`, which impacts that test case. CORE-TEST-OUTPUT-UPDATE: 6a34e438461b
Fri, 06 Mar 2020 21:37:28 +0700 tests: add more involved tests for obslog -T now that everything is a property
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Mar 2020 21:37:28 +0700] rev 5174
tests: add more involved tests for obslog -T now that everything is a property
Tue, 25 Feb 2020 18:07:30 +0700 obslog: remove the separate "obslog -f" implementation and use the common one
Anton Shestakov <av6@dwimlabs.net> [Tue, 25 Feb 2020 18:07:30 +0700] rev 5173
obslog: remove the separate "obslog -f" implementation and use the common one
Tue, 25 Feb 2020 17:47:54 +0700 obslog: provide successors and multiple markers to marker-displaying function
Anton Shestakov <av6@dwimlabs.net> [Tue, 25 Feb 2020 17:47:54 +0700] rev 5172
obslog: provide successors and multiple markers to marker-displaying function
Tue, 18 Feb 2020 18:16:11 +0800 obslog: make date template property into dates
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 18:16:11 +0800] rev 5171
obslog: make date template property into dates
Tue, 18 Feb 2020 18:10:58 +0800 obslog: make note template property into notes
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 18:10:58 +0800] rev 5170
obslog: make note template property into notes
Tue, 18 Feb 2020 18:07:11 +0800 obslog: make operation template property into operations
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 18:07:11 +0800] rev 5169
obslog: make operation template property into operations
Tue, 18 Feb 2020 17:58:22 +0800 obslog: make user template property into users
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 17:58:22 +0800] rev 5168
obslog: make user template property into users
Tue, 18 Feb 2020 17:31:41 +0800 obslog: have at least one test that shows multiple dates with -f flag
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 17:31:41 +0800] rev 5167
obslog: have at least one test that shows multiple dates with -f flag
Tue, 18 Feb 2020 15:21:14 +0800 obslog: use fm.data() instead of fm.write() because it's all templates now
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Feb 2020 15:21:14 +0800] rev 5166
obslog: use fm.data() instead of fm.write() because it's all templates now
Fri, 06 Mar 2020 22:06:05 +0700 tests: add checkheads-related cap
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Mar 2020 22:06:05 +0700] rev 5165
tests: add checkheads-related cap CORE-TEST-OUTPUT-UPDATE: edc8504bc26b
Wed, 04 Mar 2020 17:49:58 +0100 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 17:49:58 +0100] rev 5164
branching: merge stable back into default evolve 9.3.0 have been released.
Sat, 29 Feb 2020 15:18:00 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 15:18:00 +0700] rev 5163
test-compat: merge mercurial-4.7 into mercurial-4.6
Sat, 29 Feb 2020 15:17:31 +0700 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 15:17:31 +0700] rev 5162
test-compat: merge mercurial-4.8 into mercurial-4.7
Sat, 29 Feb 2020 15:17:13 +0700 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 15:17:13 +0700] rev 5161
test-compat: merge mercurial-4.9 into mercurial-4.8
Fri, 28 Feb 2020 23:23:02 +0700 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 23:23:02 +0700] rev 5160
test-compat: merge mercurial-5.0 into mercurial-4.9
Fri, 28 Feb 2020 23:18:48 +0700 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 23:18:48 +0700] rev 5159
test-compat: merge mercurial-5.1 into mercurial-5.0
Fri, 28 Feb 2020 23:10:48 +0700 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 23:10:48 +0700] rev 5158
test-compat: merge mercurial-5.2 into mercurial-5.1
Fri, 28 Feb 2020 22:48:46 +0700 test-compat: back out changeset 2371d40f0878 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 22:48:46 +0700] rev 5157
test-compat: back out changeset 2371d40f0878
Fri, 28 Feb 2020 21:44:36 +0700 test-compat: back out changeset bb2042ff6444 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 21:44:36 +0700] rev 5156
test-compat: back out changeset bb2042ff6444
Fri, 28 Feb 2020 21:09:51 +0700 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 21:09:51 +0700] rev 5155
test-compat: merge stable into mercurial-5.2
Sat, 29 Feb 2020 14:59:23 +0700 packaging: mark as developer version stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 14:59:23 +0700] rev 5154
packaging: mark as developer version
Sat, 29 Feb 2020 14:55:37 +0700 packaging: add tag 9.3.0 for changeset 583dc6ef3eb2 stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 14:55:37 +0700] rev 5153
packaging: add tag 9.3.0 for changeset 583dc6ef3eb2
Wed, 04 Mar 2020 16:53:48 +0100 packaging: prepare version 9.3.0 stable 9.3.0 @
Anton Shestakov <av6@dwimlabs.net> [Wed, 04 Mar 2020 16:53:48 +0100] rev 5152
packaging: prepare version 9.3.0
Wed, 04 Mar 2020 15:47:08 +0100 branching: preserve test change on stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 15:47:08 +0100] rev 5151
branching: preserve test change on stable CORE-TEST-OUTPUT-UPDATE: baf3fe2977cc CORE-TEST-OUTPUT-UPDATE: 14d0e89520a2
Wed, 04 Mar 2020 17:08:05 +0100 topic: extend topic gating to descendant stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 17:08:05 +0100] rev 5150
topic: extend topic gating to descendant If a changeset with topic as descendant without topic, we need to exclude them too when using: topic.server-gate-topic-changesets.
Wed, 04 Mar 2020 16:53:32 +0100 changelog: more entries for 9.3.0, sorting stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 04 Mar 2020 16:53:32 +0100] rev 5149
changelog: more entries for 9.3.0, sorting
Wed, 04 Mar 2020 16:36:32 +0100 compat: fix subsettable import for mercurial <= 4.8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 16:36:32 +0100] rev 5148
compat: fix subsettable import for mercurial <= 4.8
Wed, 04 Mar 2020 16:05:28 +0100 compat: officialy drop compatibility with mercurial 4.5 stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 04 Mar 2020 16:05:28 +0100] rev 5147
compat: officialy drop compatibility with mercurial 4.5
Wed, 04 Mar 2020 15:45:33 +0100 test-compat: back out changeset 591a0afd2ef3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 15:45:33 +0100] rev 5146
test-compat: back out changeset 591a0afd2ef3
Fri, 28 Feb 2020 20:19:16 +0700 test-compat: back out changeset 51e38bf936cf stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 20:19:16 +0700] rev 5145
test-compat: back out changeset 51e38bf936cf
Fri, 28 Feb 2020 20:18:42 +0700 branching: merge into stable in preparation for release stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 28 Feb 2020 20:18:42 +0700] rev 5144
branching: merge into stable in preparation for release
Sat, 29 Feb 2020 14:26:50 +0700 branching: closing test-compat branch for mercurial-4.5 mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Feb 2020 14:26:50 +0700] rev 5143
branching: closing test-compat branch for mercurial-4.5
Wed, 04 Mar 2020 15:17:29 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 15:17:29 +0100] rev 5142
branching: merge with stable
Wed, 04 Mar 2020 15:09:22 +0100 tests: update graph output after core change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 15:09:22 +0100] rev 5141
tests: update graph output after core change CORE-TEST-OUTPUT-UPDATE: 14d0e89520a2
Wed, 04 Mar 2020 13:17:00 +0100 fix: reinstall import from the right location
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Mar 2020 13:17:00 +0100] rev 5140
fix: reinstall import from the right location
Wed, 19 Feb 2020 01:35:23 +0100 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 19 Feb 2020 01:35:23 +0100] rev 5139
topic: option to hide topic changesets to plain client This is the first version of an option that make topic changeset hidden to client without the extension. It might become the default in the future.
Tue, 03 Mar 2020 17:20:05 +0700 readme: update heptapod link stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Mar 2020 17:20:05 +0700] rev 5138
readme: update heptapod link
Mon, 02 Mar 2020 17:12:09 +0000 py3-exceptions: wrap more Exceptions in forcebytestr before formatting stable
willstott101@gmail.com [Mon, 02 Mar 2020 17:12:09 +0000] rev 5137
py3-exceptions: wrap more Exceptions in forcebytestr before formatting
Tue, 04 Feb 2020 16:22:40 -0800 touch: allow divergence with -A even if allowdivergence=no
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Feb 2020 16:22:40 -0800] rev 5136
touch: allow divergence with -A even if allowdivergence=no This is a phase-divergent update to 731b5a89a784. 1f92a6aa40d6 (evolve: add pre-check logic for content-divergence in rewriteutil.precheck(), 2019-11-04) taught `rewriteutil.precheck()` to check for divergence. It also set allowdivergence=yes in test-touch.t to silence the error. However, if one does *not* have that set, it is no longer possible to allow divergence with `hg touch -A`. This patch fixes that.
Tue, 04 Feb 2020 16:22:40 -0800 touch: allow divergence with -A even if allowdivergence=no
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Feb 2020 16:22:40 -0800] rev 5135
touch: allow divergence with -A even if allowdivergence=no 1f92a6aa40d6 (evolve: add pre-check logic for content-divergence in rewriteutil.precheck(), 2019-11-04) taught `rewriteutil.precheck()` to check for divergence. It also set allowdivergence=yes in test-touch.t to silence the error. However, if one does *not* have that set, it is no longer possible to allow divergence with `hg touch -A`. This patch fixes that.
Tue, 04 Feb 2020 13:43:16 -0800 tests: add test of `hg touch -A`
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Feb 2020 13:43:16 -0800] rev 5134
tests: add test of `hg touch -A` There didn't seem to be any before. It currently passes because the test case incorrectly (IMO) sets `evolution.allowdivergence = True`.
Sat, 22 Feb 2020 18:36:32 +0100 release-checklist: do not forget to move the '@' bookmark stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 22 Feb 2020 18:36:32 +0100] rev 5133
release-checklist: do not forget to move the '@' bookmark
Wed, 19 Feb 2020 13:13:09 +0530 topic: use `%d` for integers instead of `%s` on py3 stable
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 19 Feb 2020 13:13:09 +0530] rev 5132
topic: use `%d` for integers instead of `%s` on py3 I have system mercurial using py3 which lead me to the traceback pointing to this.
Sat, 15 Feb 2020 16:52:56 +0800 prune: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net> [Sat, 15 Feb 2020 16:52:56 +0800] rev 5131
prune: actually track folds using fold-* metadata in obsmarkers
Thu, 13 Feb 2020 19:13:36 +0800 packaging: handle docs in a separate block in MANIFEST.in
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Feb 2020 19:13:36 +0800] rev 5130
packaging: handle docs in a separate block in MANIFEST.in
Thu, 13 Feb 2020 19:08:31 +0800 packaging: simplify inclusion of docs in MANIFEST.in
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Feb 2020 19:08:31 +0800] rev 5129
packaging: simplify inclusion of docs in MANIFEST.in
Thu, 13 Feb 2020 19:04:00 +0800 packaging: simply prune some directories in MANIFEST.in in a dedicated block
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Feb 2020 19:04:00 +0800] rev 5128
packaging: simply prune some directories in MANIFEST.in in a dedicated block exclude+recursive-exclude is basically prune.
Tue, 04 Feb 2020 13:00:05 -0800 metaedit: replace a compat condition with a less specific proxy
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Feb 2020 13:00:05 -0800] rev 5127
metaedit: replace a compat condition with a less specific proxy Same reasoning as for the previous patch. In this case, the closest commit I could find was 36 commits later (3d35304bd09b).
Tue, 04 Feb 2020 12:46:55 -0800 fold: replace a compat condition with a less specific proxy
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Feb 2020 12:46:55 -0800] rev 5126
fold: replace a compat condition with a less specific proxy If `scmutil.cleanupnodes()` is overridden, the check in `scmutil.cleanupnodes.__code__.co_varnames` will fail. Let's use a less specific proxy for that condition so extensions are safely override `scmutil.cleanupnodes()`. I picked `util.safehasattr(scmutil, 'nullrev')` as the proxy. That basically checks for Mercurial commit d739f423bf06, which is two commits later than the commit we actually care about.
Tue, 11 Feb 2020 17:21:43 +0800 tests: drop useless "(glob)" for timezone offsets
Anton Shestakov <av6@dwimlabs.net> [Tue, 11 Feb 2020 17:21:43 +0800] rev 5125
tests: drop useless "(glob)" for timezone offsets
Tue, 04 Feb 2020 14:07:29 +0700 changelog: obslog shows folds now
Anton Shestakov <av6@dwimlabs.net> [Tue, 04 Feb 2020 14:07:29 +0700] rev 5124
changelog: obslog shows folds now
Tue, 14 Jan 2020 20:20:13 +0700 obslog: use _successorsetverb() in regular obslog too
Anton Shestakov <av6@dwimlabs.net> [Tue, 14 Jan 2020 20:20:13 +0700] rev 5123
obslog: use _successorsetverb() in regular obslog too It was already used for obslog --filternonlocal.
Sun, 02 Feb 2020 16:18:18 +0100 release: do not forget to tweet about it
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 16:18:18 +0100] rev 5122
release: do not forget to tweet about it
Sun, 02 Feb 2020 15:49:31 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 15:49:31 +0100] rev 5121
branching: merge with stable
Sun, 02 Feb 2020 13:40:13 +0100 release: fix a silly typo stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 13:40:13 +0100] rev 5120
release: fix a silly typo
Sun, 02 Feb 2020 13:28:47 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 13:28:47 +0100] rev 5119
branching: merge with stable
Sun, 02 Feb 2020 13:25:23 +0100 release: add missing checklist items stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Feb 2020 13:25:23 +0100] rev 5118
release: add missing checklist items
Sat, 01 Feb 2020 11:24:46 +0100 heptapod: add an issue template for new version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Feb 2020 11:24:46 +0100] rev 5117
heptapod: add an issue template for new version
Thu, 30 Jan 2020 18:14:14 +0100 packaging: create a release check list stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Jan 2020 18:14:14 +0100] rev 5116
packaging: create a release check list This should help other to release version of evolve.
Tue, 14 Jan 2020 19:42:06 +0700 obshistory: add 'folded' to the list of precise verbs
Anton Shestakov <av6@dwimlabs.net> [Tue, 14 Jan 2020 19:42:06 +0700] rev 5115
obshistory: add 'folded' to the list of precise verbs It's used for templates and for obslog --filternonlocal, but not for regular obslog.
Sat, 11 Jan 2020 19:53:11 +0700 metaedit: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:53:11 +0700] rev 5114
metaedit: actually track folds using fold-* metadata in obsmarkers
Sat, 11 Jan 2020 19:52:56 +0700 fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:52:56 +0700] rev 5113
fold: actually track folds using fold-* metadata in obsmarkers
Sun, 02 Feb 2020 15:51:10 +0700 tests: adjust test output for an early return in mergecopies()
Anton Shestakov <av6@dwimlabs.net> [Sun, 02 Feb 2020 15:51:10 +0700] rev 5112
tests: adjust test output for an early return in mergecopies() CORE-TEST-OUTPUT-UPDATE: baf3fe2977cc
Sat, 01 Feb 2020 12:50:10 +0100 branching
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Feb 2020 12:50:10 +0100] rev 5111
branching
Fri, 31 Jan 2020 14:50:37 +0100 packaging: mark as developer version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Jan 2020 14:50:37 +0100] rev 5110
packaging: mark as developer version This avoid confusion when installing from source.
Fri, 31 Jan 2020 15:03:59 +0100 Added tag 9.2.2 for changeset ef41094c34e1 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Jan 2020 15:03:59 +0100] rev 5109
Added tag 9.2.2 for changeset ef41094c34e1
Fri, 31 Jan 2020 14:44:45 +0100 packaging: prepare version 9.2.2 stable 9.2.2
Anton Shestakov <av6@dwimlabs.net> [Fri, 31 Jan 2020 14:44:45 +0100] rev 5108
packaging: prepare version 9.2.2
Fri, 31 Jan 2020 14:52:38 +0100 packaging: update tested with version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Jan 2020 14:52:38 +0100] rev 5107
packaging: update tested with version We have tested this with 5.3rc so let mark 5.3 as tested too.
Fri, 31 Jan 2020 14:44:39 +0100 packaging: update changelog for version 9.2.2 stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 31 Jan 2020 14:44:39 +0100] rev 5106
packaging: update changelog for version 9.2.2
Thu, 30 Jan 2020 14:32:11 +0700 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:11 +0700] rev 5105
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 30 Jan 2020 14:32:10 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:10 +0700] rev 5104
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 30 Jan 2020 14:32:09 +0700 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:09 +0700] rev 5103
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 30 Jan 2020 14:32:08 +0700 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:08 +0700] rev 5102
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 30 Jan 2020 14:32:06 +0700 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:06 +0700] rev 5101
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 30 Jan 2020 14:32:05 +0700 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:05 +0700] rev 5100
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 30 Jan 2020 14:32:04 +0700 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:04 +0700] rev 5099
test-compat: merge mercurial-5.2 into mercurial-5.1
Thu, 30 Jan 2020 14:32:03 +0700 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:03 +0700] rev 5098
test-compat: merge stable into mercurial-5.2
Mon, 27 Jan 2020 14:55:35 +0700 tests: allow an empty merge commit to have tests pass without too many changes stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 27 Jan 2020 14:55:35 +0700] rev 5097
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.
Tue, 28 Jan 2020 20:12:04 +0700 compat: add a context manager that calls _quick_access_changeid_invalidate() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 Jan 2020 20:12:04 +0700] rev 5096
compat: add a context manager that calls _quick_access_changeid_invalidate()
Fri, 17 Jan 2020 20:40:24 +0700 evolve: provide branch argument to overlayworkingctx.tomemctx() stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 Jan 2020 20:40:24 +0700] rev 5095
evolve: provide branch argument to overlayworkingctx.tomemctx() This is related to upstream 2ecbc4ec87d8 and fixes test-evolve.t.
Thu, 23 Jan 2020 19:33:40 +0700 evolve: compatibility with copies.graftcopies() from hg 5.3 stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 19:33:40 +0700] rev 5094
evolve: compatibility with copies.graftcopies() from hg 5.3
Fri, 15 Nov 2019 08:14:06 -0800 cmdrewrite: avoid accessing scmutil.status fields by index stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 08:14:06 -0800] rev 5093
cmdrewrite: avoid accessing scmutil.status fields by index Support for indexed access is going away in Mercurial. Accessing the fields by name is clearer anyway.
Thu, 23 Jan 2020 17:41:00 +0700 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:41:00 +0700] rev 5092
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 23 Jan 2020 17:40:59 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:59 +0700] rev 5091
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 23 Jan 2020 17:40:57 +0700 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:57 +0700] rev 5090
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 23 Jan 2020 17:40:56 +0700 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:56 +0700] rev 5089
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 23 Jan 2020 17:40:54 +0700 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:54 +0700] rev 5088
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 23 Jan 2020 17:40:52 +0700 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:52 +0700] rev 5087
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 23 Jan 2020 17:40:51 +0700 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:51 +0700] rev 5086
test-compat: merge mercurial-5.2 into mercurial-5.1
Thu, 23 Jan 2020 18:22:47 +0700 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 18:22:47 +0700] rev 5085
test-compat: merge stable into mercurial-5.2
Thu, 23 Jan 2020 18:19:36 +0700 tests: use --tool flag instead of --config ui.merge stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 18:19:36 +0700] rev 5084
tests: use --tool flag instead of --config ui.merge Makes this test not fail on older hg versions.
Mon, 04 Nov 2019 00:18:55 +0530 evolve: remove a check which is already done by rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 00:18:55 +0530] rev 5083
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()
Thu, 23 Jan 2020 11:05:38 +0100 test-compat: create a compatibility branch for Mercurial 5.2 mercurial-5.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jan 2020 11:05:38 +0100] rev 5082
test-compat: create a compatibility branch for Mercurial 5.2 Mercurial 5.3rc have been released, so the stable branch is no longer about 5.2.
Thu, 23 Jan 2020 11:01:46 +0100 contrib: make merge-test-compat.sh more topic-friendly stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 11:01:46 +0100] rev 5081
contrib: make merge-test-compat.sh more topic-friendly
Mon, 20 Jan 2020 22:43:11 +0700 contrib: shellcheck merge-test-compat.sh stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 20 Jan 2020 22:43:11 +0700] rev 5080
contrib: shellcheck merge-test-compat.sh
Mon, 04 Nov 2019 01:30:50 +0530 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 01:30:50 +0530] rev 5079
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).
Wed, 01 Jan 2020 21:36:21 +0530 evolve: rename a function to make it explicit
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 01 Jan 2020 21:36:21 +0530] rev 5078
evolve: rename a function to make it explicit
Tue, 21 Jan 2020 23:48:41 +0700 obsdiscovery: compatibility when importing forcebytestr() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 21 Jan 2020 23:48:41 +0700] rev 5077
obsdiscovery: compatibility when importing forcebytestr()
Tue, 03 Dec 2019 14:56:25 +0700 heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Dec 2019 14:56:25 +0700] rev 5076
heptapod-ci: add pytype job, allow it to fail for now
Sun, 08 Dec 2019 02:17:11 +0530 evolve: add a new method picksplitsuccessor() in utility.py
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 08 Dec 2019 02:17:11 +0530] rev 5075
evolve: add a new method picksplitsuccessor() in utility.py This patch adds the logic to return a single successor of a rev which was split. If split revisions are on a single topological branch then we return highest one; otherwise prompt user to choose an evolve destination.
Mon, 20 Jan 2020 22:52:05 +0700 changelog: add missing entries stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 20 Jan 2020 22:52:05 +0700] rev 5074
changelog: add missing entries
Wed, 15 Jan 2020 15:28:44 +0700 compat: also import datestr from dateutil
Anton Shestakov <av6@dwimlabs.net> [Wed, 15 Jan 2020 15:28:44 +0700] rev 5073
compat: also import datestr from dateutil
Mon, 13 Jan 2020 15:36:24 +0700 obshistory: remove unused ismetablacklisted()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:36:24 +0700] rev 5072
obshistory: remove unused ismetablacklisted() Code that used this function was removed in 461b9a91b662. But we still need to add one item currently missing from METABLACKLIST in core: touch noise.
Mon, 13 Jan 2020 15:05:34 +0700 obshistory: remove unused successorsetallmarkers()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:05:34 +0700] rev 5071
obshistory: remove unused successorsetallmarkers() This function was used in code that was removed in 901186e1fe05.
Mon, 13 Jan 2020 15:04:02 +0700 obshistory: remove unused _successorsetdates() and _successorsetusers()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:04:02 +0700] rev 5070
obshistory: remove unused _successorsetdates() and _successorsetusers() They were used by preparesuccessorset() that was removed in the previous patch.
Mon, 13 Jan 2020 14:59:08 +0700 obshistory: remove unused preparesuccessorset()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 14:59:08 +0700] rev 5069
obshistory: remove unused preparesuccessorset() It was used in code that was removed in 901186e1fe05.
Sat, 11 Jan 2020 20:10:06 +0700 obshistory: use effect flags from obsutil
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 20:10:06 +0700] rev 5068
obshistory: use effect flags from obsutil They were added there in 51aadc0d0da2::187bc224554a (hg 4.4).
Sat, 11 Jan 2020 20:06:26 +0700 obshistory: make a {flag value: description} dict for _markerseffects()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 20:06:26 +0700] rev 5067
obshistory: make a {flag value: description} dict for _markerseffects()
Sat, 11 Jan 2020 19:49:45 +0700 obshistory: factor out _markerseffects()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:49:45 +0700] rev 5066
obshistory: factor out _markerseffects()
Sat, 11 Jan 2020 19:24:21 +0700 obshistory: factor out _markerspreciseverb()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:24:21 +0700] rev 5065
obshistory: factor out _markerspreciseverb()
Fri, 17 Jan 2020 20:40:24 +0700 evolve: provide branch argument to overlayworkingctx.tomemctx()
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 Jan 2020 20:40:24 +0700] rev 5064
evolve: provide branch argument to overlayworkingctx.tomemctx() This is related to upstream 2ecbc4ec87d8 and fixes test-evolve.t.
Wed, 08 Jan 2020 18:44:18 +0700 changelog: mention all the cleanups as one item
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Jan 2020 18:44:18 +0700] rev 5063
changelog: mention all the cleanups as one item
Wed, 08 Jan 2020 15:34:34 +0700 templatekw: drop obsfatedata and related code
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Jan 2020 15:34:34 +0700] rev 5062
templatekw: drop obsfatedata and related code AFAIU, this function exists so that people could hack together a replacement template for {obsfate} if they weren't satisfied with the default, but only on older versions. It seems that 3d0f8918351b::d0f1e3d3ef4d was the series introducing obsfate* functions that can show specific obsmarker properties, and that was included in hg 4.4. obsfatedata was already claimed to be removed in 35ffd7a4b339 and then more of its usage was removed in 9882fed37ea9. There are no users in evolve and in core hg, no tests and nothing else mentions obsfatedata.
Tue, 07 Jan 2020 16:33:37 +0700 templatekw: drop obsfateprinter() and obsfatelineprinter()
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:33:37 +0700] rev 5061
templatekw: drop obsfateprinter() and obsfatelineprinter() They were unused (probably because their versions were already pushed to hg 4.4).
Tue, 07 Jan 2020 16:30:18 +0700 compat: drop isobsnotesupported() that checks if storing notes is supported
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:30:18 +0700] rev 5060
compat: drop isobsnotesupported() that checks if storing notes is supported The check is identical to checking if core has e27f1f04c2cf (hg 4.4).
Tue, 07 Jan 2020 16:05:44 +0700 templatekw: use literal set syntax
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:05:44 +0700] rev 5059
templatekw: use literal set syntax According to https://www.mercurial-scm.org/wiki/SupportedPythonVersions, we don't support Python 2.6 since 4.3.
Sat, 04 Jan 2020 21:07:38 +0700 obshistory: remove obsfateverb/obsfateprinter patching compatibility
Anton Shestakov <av6@dwimlabs.net> [Sat, 04 Jan 2020 21:07:38 +0700] rev 5058
obshistory: remove obsfateverb/obsfateprinter patching compatibility obsutil.obsfateverb() was introduced in 3d0f8918351b (hg 4.4) and renamed in b81ad5b78a81 (hg 4.5). Considering the supported evolve versions, the first check is unnecessary (the condition is always True) obsutil.obsfateprinter() was introduced in e27f1f04c2cf (hg 4.4).
Fri, 03 Jan 2020 23:32:48 +0700 obshistory: drop unused keyword argument to _getobsfateandsuccs()
Anton Shestakov <av6@dwimlabs.net> [Fri, 03 Jan 2020 23:32:48 +0700] rev 5057
obshistory: drop unused keyword argument to _getobsfateandsuccs()
Thu, 02 Jan 2020 01:16:18 +0700 obshistory: use successorsandmarkers() from obsutil, drop local variant
Anton Shestakov <av6@dwimlabs.net> [Thu, 02 Jan 2020 01:16:18 +0700] rev 5056
obshistory: use successorsandmarkers() from obsutil, drop local variant It's been in core since 4.4 and is identical to the version removed by this patch, except it returns None if ctx is not obsolete.
Tue, 31 Dec 2019 21:41:22 +0700 compat: drop code from 35b2d201eb71 (compatibility with hg 4.3)
Anton Shestakov <av6@dwimlabs.net> [Tue, 31 Dec 2019 21:41:22 +0700] rev 5055
compat: drop code from 35b2d201eb71 (compatibility with hg 4.3)
Thu, 26 Dec 2019 22:32:44 +0700 tests: rename precursors to predecessors in test-evolve-templates.t
Anton Shestakov <av6@dwimlabs.net> [Thu, 26 Dec 2019 22:32:44 +0700] rev 5054
tests: rename precursors to predecessors in test-evolve-templates.t
Thu, 28 Nov 2019 11:41:17 +0700 evolve: correct spelling of superseded everywhere else
Anton Shestakov <av6@dwimlabs.net> [Thu, 28 Nov 2019 11:41:17 +0700] rev 5053
evolve: correct spelling of superseded everywhere else
Thu, 28 Nov 2019 11:37:56 +0700 evolve: use obsutil._getobsfate() directly
Anton Shestakov <av6@dwimlabs.net> [Thu, 28 Nov 2019 11:37:56 +0700] rev 5052
evolve: use obsutil._getobsfate() directly It's been there since 4.5 (265cd9e19d26), we can safely rely on it. It's necessary though to use the correct spelling of superseded.
Sat, 28 Dec 2019 23:20:05 +0530 evolve: remove dead code
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 28 Dec 2019 23:20:05 +0530] rev 5051
evolve: remove dead code
Sat, 07 Dec 2019 23:13:40 +0530 evolve: use utility._singlesuccessor() in _solveunstable()
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 07 Dec 2019 23:13:40 +0530] rev 5050
evolve: use utility._singlesuccessor() in _solveunstable()
Wed, 18 Dec 2019 16:21:37 +0100 evolve: preliminary indentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 18 Dec 2019 16:21:37 +0100] rev 5049
evolve: preliminary indentation The whole code will end up in a try/except clause. We pre-indent the code to clarify the next patch.
Fri, 03 Jan 2020 23:12:19 +0700 evolve: provide cache argument to obsutil.successorssets() correctly stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 03 Jan 2020 23:12:19 +0700] rev 5048
evolve: provide cache argument to obsutil.successorssets() correctly After 68f3e819d41d (4.3) the 3rd argument to that function is `closest`.
Fri, 20 Dec 2019 14:08:37 +0700 pullbundle: random.sample() chokes on a spanset, turn it into a list instead
Anton Shestakov <av6@dwimlabs.net> [Fri, 20 Dec 2019 14:08:37 +0700] rev 5047
pullbundle: random.sample() chokes on a spanset, turn it into a list instead On Python 3.
Fri, 20 Dec 2019 13:50:31 +0700 pullbundle: use % instead of .format() because % exists for bytes
Anton Shestakov <av6@dwimlabs.net> [Fri, 20 Dec 2019 13:50:31 +0700] rev 5046
pullbundle: use % instead of .format() because % exists for bytes
Thu, 19 Dec 2019 18:16:18 +0700 tests: test that debugpullbundlecacheoverlap command works
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:16:18 +0700] rev 5045
tests: test that debugpullbundlecacheoverlap command works
Thu, 19 Dec 2019 18:02:31 +0700 pullbundle: compatibility for progress in hg <= 4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:02:31 +0700] rev 5044
pullbundle: compatibility for progress in hg <= 4.6
Thu, 19 Dec 2019 18:01:15 +0700 compat: add hg version to progress compatibility code
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:01:15 +0700] rev 5043
compat: add hg version to progress compatibility code
Mon, 09 Dec 2019 19:59:51 +0700 serverminitopic: ask pytype to disable import-error on a block handling hg 4.5
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:59:51 +0700] rev 5042
serverminitopic: ask pytype to disable import-error on a block handling hg 4.5
Mon, 09 Dec 2019 19:58:58 +0700 topic: ask pytype to disable import-error on a block handling hg 4.5
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:58:58 +0700] rev 5041
topic: ask pytype to disable import-error on a block handling hg 4.5
Mon, 09 Dec 2019 16:40:53 +0700 evolve: remove unused struct import
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 16:40:53 +0700] rev 5040
evolve: remove unused struct import
Mon, 09 Dec 2019 19:44:10 +0700 compat: ask pytype to ignore some warnings
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:44:10 +0700] rev 5039
compat: ask pytype to ignore some warnings It's expected to have a bunch of import and attribute errors in this module because it's for compatibility with different versions of hg and Python. Although it doesn't explain why a function wouldn't have __code__ attribute? So far I think it's a quirk of pytype.
Wed, 06 Nov 2019 18:15:00 +0530 evolve: extract logic of pre-checking divergence risk to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 06 Nov 2019 18:15:00 +0530] rev 5038
evolve: extract logic of pre-checking divergence risk to its own function Extracting the logic (which is used to check if rewriting an obsolete revision will create divergence) to a function. This function will be used in upcoming patches of pre-checking. This is how we check if rewriting an obsolete revision will create divergence. We need to check two cases: If there is any 1) non-obsolete successor. -> easily done by `obsutil.successorssets()` 2) precursor with non-obsolete successor. -> using `evolvecmd.divergentsets()`
Tue, 24 Dec 2019 23:31:42 +0700 heptapod-ci: skip test-evolve.t in tests-py2-pure job mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Tue, 24 Dec 2019 23:31:42 +0700] rev 5037
heptapod-ci: skip test-evolve.t in tests-py2-pure job It seems pure mode on Mercurial 4.5 was broken in case of this test. The error was: Traceback (most recent call last): File "/tmp/hgtests.YoK65c/install/bin/hg", line 41, in <module> dispatch.run() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 88, in run status = (dispatch(req) or 0) & 255 File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 183, in dispatch ret = _runcatch(req) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 324, in _runcatch return _callcatch(ui, _runcatchfunc) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 332, in _callcatch return scmutil.callcatch(ui, func) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/scmutil.py", line 154, in callcatch return func() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 314, in _runcatchfunc return _dispatch(req) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 918, in _dispatch cmdpats, cmdoptions) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 673, in runcommand ret = _runcommand(ui, options, cmd, d) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 926, in _runcommand return cmdfunc() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 915, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/util.py", line 1195, in check return func(*args, **kwargs) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1603, in evolve return _performevolve(ui, repo, **opts) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1726, in _performevolve targetcat, lastsolved) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1752, in _solveonerev lastsolved=lastsolved, stacktmplt=stacktmplt) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 80, in _solveone lastsolved=lastsolved) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 183, in _solveunstable keepbranch, b'orphan') File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 952, in relocate fullnode = unfi.changelog.index.partialmatch(sha1) AttributeError: 'InlinedIndexObject' object has no attribute 'partialmatch'
Tue, 10 Dec 2019 00:05:23 +0100 heptapod-ci: test python 4.5 with the pure version of Mercurial mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 00:05:23 +0100] rev 5036
heptapod-ci: test python 4.5 with the pure version of Mercurial the evolve extension is currently broken on 4.5-pure. So we get it in its own commit.
Thu, 26 Dec 2019 21:23:30 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 21:23:30 +0100] rev 5035
branching: merge with stable
Thu, 26 Dec 2019 12:22:49 +0700 pullbundle: kwarg to changegroup.makestream() is called matcher stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 26 Dec 2019 12:22:49 +0700] rev 5034
pullbundle: kwarg to changegroup.makestream() is called matcher Caught by pytype.
Sun, 01 Dec 2019 12:41:20 +0530 evolve: extract pre merging content-div csets logic to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 01 Dec 2019 12:41:20 +0530] rev 5033
evolve: extract pre merging content-div csets logic to its own function
Thu, 26 Dec 2019 20:28:21 +0100 evolve: further simplify a conditional
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:28:21 +0100] rev 5032
evolve: further simplify a conditional The case is simple enough to be handled on its own.
Thu, 26 Dec 2019 20:23:27 +0100 evolve: simplify some conditional
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:23:27 +0100] rev 5031
evolve: simplify some conditional extracted from a changeset of Sushil khanchi <sushilkhanchi97@gmail.com>
Thu, 26 Dec 2019 20:17:01 +0100 evolve: rename some variable ahead of time
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:17:01 +0100] rev 5030
evolve: rename some variable ahead of time A refactoring of the content divergence resolution in on its way. use a distinctive name for some variable early to make the change easier to read later.
Thu, 28 Nov 2019 19:01:28 +0530 evolve: add logic to cover --stop when "divergent" relocation in play
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Nov 2019 19:01:28 +0530] rev 5029
evolve: add logic to cover --stop when "divergent" relocation in play Changes in test file reflect the added behaviour. The intermediate changeset has been properly cleaned up by the `hg evolve --stop` call.
Thu, 28 Nov 2019 17:58:45 +0530 evolve: test to show that --stop is not working when "divergent" relocated
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Nov 2019 17:58:45 +0530] rev 5028
evolve: test to show that --stop is not working when "divergent" relocated Right now, --stop leave the intermediate changeset (relocating the divergent changeset to its new location behind). This this is an incomplete step it should be removed by `hg --stop`.
Wed, 27 Nov 2019 22:52:08 +0530 evolve: add test to show that --abort is working fine
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 22:52:08 +0530] rev 5027
evolve: add test to show that --abort is working fine When resolving content-divergence where relocation of "divergent" changeset is also required, this test file make sure that --abort option is working fine.
Fri, 20 Dec 2019 17:39:44 +0530 evolve: fix a bug in logic to choose destination when no active topic stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:39:44 +0530] rev 5026
evolve: fix a bug in logic to choose destination when no active topic
Fri, 20 Dec 2019 17:32:07 +0530 evolve: add test to demonstrate a bug when no active topic stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:32:07 +0530] rev 5025
evolve: add test to demonstrate a bug when no active topic Added test shows that the logic to find the destination for `hg up` in the case when "working directory parent has a topic but wdir has no active topic" is buggy. This will be fixed in next patch.
Fri, 20 Dec 2019 17:31:57 +0530 evolve: fix a bug in logic of choosing destination for hg update stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:31:57 +0530] rev 5024
evolve: fix a bug in logic of choosing destination for hg update
Fri, 20 Dec 2019 17:17:30 +0530 evolve: add test to demonstrate a bug when active topic is empty stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:17:30 +0530] rev 5023
evolve: add test to demonstrate a bug when active topic is empty Added test shows that when current active topic is empty and we try to run `hg up`, it fails with an error. It's because this case is not correctly handled when we find a destination to update (when topics are in play) Next patch will fix this.
Thu, 19 Dec 2019 21:36:59 -0800 evolvecmd: fix a typo node->None
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 21:36:59 -0800] rev 5022
evolvecmd: fix a typo node->None
Thu, 19 Dec 2019 21:15:31 -0800 evolvecmd: avoid a ctx->node->ctx conversion
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 21:15:31 -0800] rev 5021
evolvecmd: avoid a ctx->node->ctx conversion
Thu, 19 Dec 2019 13:06:29 -0800 evolvecmd: mark relocate() private
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 13:06:29 -0800] rev 5020
evolvecmd: mark relocate() private
Thu, 19 Dec 2019 22:31:13 -0800 cleanup: replace .parents()[0] by .p1()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 22:31:13 -0800] rev 5019
cleanup: replace .parents()[0] by .p1()
Wed, 27 Nov 2019 20:54:48 +0530 evolve: add more tests for --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 20:54:48 +0530] rev 5018
evolve: add more tests for --continue case when relocating "divergent"
Wed, 27 Nov 2019 19:50:33 +0530 evolve: use meaningful variable names for a return value
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 19:50:33 +0530] rev 5017
evolve: use meaningful variable names for a return value
Wed, 27 Nov 2019 12:34:19 +0530 evolve: add logic to cover --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 12:34:19 +0530] rev 5016
evolve: add logic to cover --continue case when relocating "divergent" Changes in test file demonstrate the added behaviour.
Mon, 25 Nov 2019 21:28:52 +0530 evolve: add test for `--continue` case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 21:28:52 +0530] rev 5015
evolve: add test for `--continue` case when relocating "divergent" This test shows that for now we don't handle the continue case when relocating "divergent" cset hit merge conflict while resolving content-divergence. Next patch will be adding the support for --continue case.
Mon, 25 Nov 2019 19:12:51 +0530 evolve: use more specific key name to store in evolvestate
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 19:12:51 +0530] rev 5014
evolve: use more specific key name to store in evolvestate Now, as we also relocate divergent cset if required, so let's use more specific key to track the relocation of "divergent" and "other".
Fri, 13 Dec 2019 01:29:27 +0530 evolve: move a test where it makes more sense
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 13 Dec 2019 01:29:27 +0530] rev 5013
evolve: move a test where it makes more sense
Thu, 12 Dec 2019 17:22:18 +0530 evolve: remove the unnecessary condition to check empty successors set
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:22:18 +0530] rev 5012
evolve: remove the unnecessary condition to check empty successors set I annotated the history of this "newer == [()]" condition and found that it was added in the initial stages of evolution project (more than 8 years ago) and there is no test where we get [()] as a successor set. So looks like "if not newer" is enough to check if it is empty. I also looked into obsutil.successorssets() implementation and I don't think it would give us [()] in any case.
Tue, 19 Nov 2019 14:54:13 -0800 evolve: delete redundant and incorrect code for updating dirstate
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:54:13 -0800] rev 5011
evolve: delete redundant and incorrect code for updating dirstate In relocate() when we notice conflicts, we will try to fix up the dirstate by calling copies.duplicatecopies() and dirstatedance(). However, we had called _evolvemerge() just before that point and that has already fixed up the dirstate, so there's no need to do it again. Also, we did it incorrectly as the test case shows.
Tue, 19 Nov 2019 14:24:31 -0800 tests: demonstrate how evolve loses transitive copies when interrupted
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:24:31 -0800] rev 5010
tests: demonstrate how evolve loses transitive copies when interrupted Let's say `b` has been renamed to `c` in commit A and then renamed to `d` in commit B. We now modify A in a way that will cause a conflict when we evolve B. `hg evolve` will now stop and let the user resolve the conflicts, but it will have lost the copy information in the working copy (should still be c->d).
Mon, 09 Dec 2019 10:36:11 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:36:11 -0800] rev 5009
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:31:34 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:31:34 -0800] rev 5008
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:28:58 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:28:58 -0800] rev 5007
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:33:48 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:33:48 -0800] rev 5006
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1.
Mon, 09 Dec 2019 10:43:04 -0800 evolve: remove obsolete backup of allowemptycommit config
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:43:04 -0800] rev 5005
evolve: remove obsolete backup of allowemptycommit config We stopped setting the config in 88601e1cd5d8 (evolve: create new commit while resolving content-divergence, 2018-04-23), so there's no need to back it up.
Mon, 09 Dec 2019 10:44:42 -0800 evolve: remove dead initilization of "newnode" variable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:44:42 -0800] rev 5004
evolve: remove dead initilization of "newnode" variable It's been dead since f9dad99a90d5 (evolve: create a new commit instead of amending one of the divergents, 2018-06-13).
Thu, 12 Dec 2019 17:16:02 +0530 evolve: fix a typo
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:16:02 +0530] rev 5003
evolve: fix a typo
Tue, 10 Dec 2019 21:03:51 +0100 changelog: mention the python 3 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:51 +0100] rev 5002
changelog: mention the python 3 fix
Tue, 10 Dec 2019 21:03:23 +0100 changelog: mention the date fix for content divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:23 +0100] rev 5001
changelog: mention the date fix for content divergence
Tue, 10 Dec 2019 20:47:13 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 20:47:13 +0100] rev 5000
branching: merge with stable
Tue, 10 Dec 2019 20:35:56 +0100 py3: fix several TypeError formatting bytes with an exception object stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 10 Dec 2019 20:35:56 +0100] rev 4999
py3: fix several TypeError formatting bytes with an exception object
Fri, 11 Oct 2019 21:32:27 +0200 evolve: preserve date when resolving content-divergence (issue6202) stable
Manuel Jacob <me@manueljacob.de> [Fri, 11 Oct 2019 21:32:27 +0200] rev 4998
evolve: preserve date when resolving content-divergence (issue6202) This patch changes the implementation to do a 3 way merge. In case of actual conflict, it take the newest date from both sides of the content-divergence.
Tue, 10 Dec 2019 19:58:51 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:58:51 +0100] rev 4997
test: add test for content divergence involving a date update In this case, each side update the date.
Tue, 10 Dec 2019 19:55:37 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:55:37 +0100] rev 4996
test: add test for content divergence involving a date update In this case, one side update to an earlier date.
Tue, 10 Dec 2019 19:27:55 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:27:55 +0100] rev 4995
test: add test for content divergence involving a date update In this case, one side update to an older date.
Tue, 10 Dec 2019 19:13:06 +0100 test: highlight data handling when solving divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:13:06 +0100] rev 4994
test: highlight data handling when solving divergence The current handling of date is lacking, we add test to highlight this.
Sat, 07 Dec 2019 03:27:50 +0530 evolve: add tests for the case when resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 07 Dec 2019 03:27:50 +0530] rev 4993
evolve: add tests for the case when resolution parent is ambiguous
Fri, 06 Dec 2019 23:43:00 +0530 evolve: abort if deciding resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 06 Dec 2019 23:43:00 +0530] rev 4992
evolve: abort if deciding resolution parent is ambiguous While solving content-divergence, it could be hard to decide which cset should be treated as a resolution parent if there are multiple successors of divergent cset. i.e split case. But we are planning to make some update in handling this split case: 1) consider highest one if all splitted csets are in a single topological branch 2) still need to decide if 1) doesn't apply
Sat, 23 Nov 2019 16:17:04 +0530 evolve: make sure divergence resolution doesn't undo changes (issue6203) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 16:17:04 +0530] rev 4991
evolve: make sure divergence resolution doesn't undo changes (issue6203) Before this patch, in content-divergence resolution logic if resolution parent is not the parent of any of the two divergent changesets then it could undo some changes introduced by previous revs (while resolving stack of content-divergent changesets) as demonstrated by the test added in previous patch. To solve this, what this patch doing is: if divergent cset has obsolete parent with a successor then first resolve the "orphan" instability of divergent cset by relocating, then perform the content-divergence resolution. After this change in logic, I found that it's kind of more correct as reflected by the changes in tests/test-evolve-content-divergent-corner-cases.t where it prevented creating conflicts while merging. Changes in tests/test-evolve-content-divergent-stack.t demonstrate the fixed behaviour. Next patches will be covering the `evolve --continue` case for the relocation of "divergent" cset.
Sat, 23 Nov 2019 20:25:16 +0530 evolve: add test to demonstrate issue6203 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 20:25:16 +0530] rev 4990
evolve: add test to demonstrate issue6203 Current logic of content-divergence resolution contains a bug that if resolution parent is not the parent of any of the two divergent changesets, it could undo some changes. I think a good solution for this is to first relocate the divergent cset to it's obsolete parent's successor if applicable and then perform the content-divergence resolution. Next patch will fix the issue.
Mon, 09 Dec 2019 16:01:56 +0700 state: there's no _unpack in struct stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 16:01:56 +0700] rev 4989
state: there's no _unpack in struct Caught by pytype.
Sun, 29 Sep 2019 11:47:18 +0530 amend: abort if both --patch and --extract are used stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 29 Sep 2019 11:47:18 +0530] rev 4988
amend: abort if both --patch and --extract are used
Mon, 09 Dec 2019 23:54:50 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Dec 2019 23:54:50 +0100] rev 4987
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 06 Dec 2019 17:18:49 +0100 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net> [Fri, 06 Dec 2019 17:18:49 +0100] rev 4986
ci: add job to build and archive the documentation
Thu, 05 Dec 2019 10:04:52 -0800 tests: update now that merge.graft() doesn't set two equal parents
Martin von Zweigbergk <martinvonz@google.com> [Thu, 05 Dec 2019 10:04:52 -0800] rev 4985
tests: update now that merge.graft() doesn't set two equal parents This is a consequence of https://phab.mercurial-scm.org/D7549. CORE-TEST-OUTPUT-UPDATE: 32d11a23c9cf
Fri, 06 Dec 2019 14:01:29 +0100 evolve: fix content-divergence resolution when p1 is null (issue6201) stable
Manuel Jacob <me@manueljacob.de> [Fri, 06 Dec 2019 14:01:29 +0100] rev 4984
evolve: fix content-divergence resolution when p1 is null (issue6201) Before this fix, in cases like in the added test, the revision number -1 of the parent was misinterpreted to mean the tipmost revision instead of the null revision, causing the content-divergence resolution to fail.
Wed, 04 Dec 2019 10:57:29 -0800 obslog: make {node} the full node and leave shortening to template
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Dec 2019 10:57:29 -0800] rev 4983
obslog: make {node} the full node and leave shortening to template It should be up to the user to shorten the nodeid as much or as little as they like.
Wed, 04 Dec 2019 11:00:00 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Dec 2019 11:00:00 +0100] rev 4982
branching: merge with stable
Tue, 03 Dec 2019 09:43:10 -0800 compat: accept "success" argument to lock._afterlock callback stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 03 Dec 2019 09:43:10 -0800] rev 4981
compat: accept "success" argument to lock._afterlock callback The callback gets a new "success" argument since Mercurial commit 888bd39ed555 (lock: pass "success" boolean to _afterlock callbacks, 2019-11-19).
Mon, 02 Dec 2019 20:59:04 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:59:04 +0700] rev 4980
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 02 Dec 2019 20:56:47 +0700 test-compat: run tests with -j more than 1 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:56:47 +0700] rev 4979
test-compat: run tests with -j more than 1 In 4.7 and below run-tests.py defaults to -j1. We want more speed, so we use the same mechanism to detect the available number of CPU threads as the newer versions of run-tests.py.
Mon, 02 Dec 2019 14:44:31 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:31 +0100] rev 4978
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 02 Dec 2019 14:44:00 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:00 +0100] rev 4977
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 02 Dec 2019 14:43:25 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:43:25 +0100] rev 4976
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 02 Dec 2019 14:42:32 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:42:32 +0100] rev 4975
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 02 Dec 2019 14:41:09 +0100 test-compat: don't run the py3 test on the older branches mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:41:09 +0100] rev 4974
test-compat: don't run the py3 test on the older branches
Fri, 22 Nov 2019 17:13:46 +0700 docs: add missing Figure 10 to sharing.rst stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 22 Nov 2019 17:13:46 +0700] rev 4973
docs: add missing Figure 10 to sharing.rst The .svg file itself has been already added earlier.
Thu, 28 Nov 2019 10:54:04 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:54:04 +0100] rev 4972
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 28 Nov 2019 10:53:25 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:53:25 +0100] rev 4971
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 28 Nov 2019 10:52:04 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:52:04 +0100] rev 4970
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 28 Nov 2019 10:50:55 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:50:55 +0100] rev 4969
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 28 Nov 2019 10:49:29 +0100 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:49:29 +0100] rev 4968
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 28 Nov 2019 10:48:44 +0100 test-compat: merge stable into mercurial-5.1 mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:48:44 +0100] rev 4967
test-compat: merge stable into mercurial-5.1
Thu, 21 Nov 2019 14:18:35 +0700 heptapod-ci: add a script to map evolve branch to mercurial revision for tests stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 21 Nov 2019 14:18:35 +0700] rev 4966
heptapod-ci: add a script to map evolve branch to mercurial revision for tests map-hg-rev.sh can be tested using this command: ```sh for i in $(hg log -T '{branch}\n' | sort -u); do echo $i $(testlib/map-hg-rev.sh $i) done ```
Mon, 18 Nov 2019 14:33:59 +0700 pytype: ignore abc.ABCMeta metaclasses that don't work on py3
Anton Shestakov <av6@dwimlabs.net> [Mon, 18 Nov 2019 14:33:59 +0700] rev 4965
pytype: ignore abc.ABCMeta metaclasses that don't work on py3 See 70d42e2ad9b4 in hg: We can remove this when we're Python 3-only, but for now it's just too awkward to deal with and it's harmless.
Fri, 15 Nov 2019 16:04:35 -0800 tests: remove extra whitespace before patch in obslog output
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 16:04:35 -0800] rev 4964
tests: remove extra whitespace before patch in obslog output The indent() template function was fixed in https://phab.mercurial-scm.org/D7432 so now we have less trailing whitespace in obslog output. CORE-TEST-OUTPUT-UPDATE: fa246ada356b
Mon, 18 Nov 2019 13:04:56 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:04:56 +0100] rev 4963
branching: merge with stable
Mon, 18 Nov 2019 13:01:38 +0100 changelog: add a couple of missing entry about the next feature release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:01:38 +0100] rev 4962
changelog: add a couple of missing entry about the next feature release
Mon, 18 Nov 2019 12:58:02 +0100 changelog: fix entry in the wrong location
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 12:58:02 +0100] rev 4961
changelog: fix entry in the wrong location That change was made on default, not stable.
Mon, 18 Nov 2019 12:55:44 +0100 changelog: add a wheelbarrow of missing entries stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 12:55:44 +0100] rev 4960
changelog: add a wheelbarrow of missing entries
Mon, 18 Nov 2019 11:46:59 +0100 heptapod-ci: simpler CI stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 11:46:59 +0100] rev 4959
heptapod-ci: simpler CI We have a mercurial clone available in the docker image now. This will same some time to avoid a full Mercurial clone for each run.
Sun, 17 Nov 2019 01:23:48 +0100 heptapod-ci: run the test with color stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Nov 2019 01:23:48 +0100] rev 4958
heptapod-ci: run the test with color This make the result easier to read.
Wed, 13 Nov 2019 13:47:55 +0700 compat: compatibility for cl.nodemap.get vs cl.index.get_rev stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:47:55 +0700] rev 4957
compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Wed, 13 Nov 2019 13:43:46 +0700 compat: compatibility for pathuril.dirs vs util.dirs stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:43:46 +0700] rev 4956
compat: compatibility for pathuril.dirs vs util.dirs
Sat, 16 Nov 2019 01:45:40 +0100 obslog: phase divergence fix for 5c41bb482867
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Nov 2019 01:45:40 +0100] rev 4955
obslog: phase divergence fix for 5c41bb482867 I forgot to pull the latest version before publishing the topic :-(
Sat, 16 Nov 2019 01:44:31 +0100 obslog: phase divergence fix for b135591bec1a
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 Nov 2019 01:44:31 +0100] rev 4954
obslog: phase divergence fix for b135591bec1a I forgot to pull the latest version before publishing the topic :-(
Fri, 15 Nov 2019 10:25:46 -0800 obslog: make {descdiff} not be indented and leave that to the template
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 10:25:46 -0800] rev 4953
obslog: make {descdiff} not be indented and leave that to the template Same idea as the previous patch and same explanation for changes to the test case.
Fri, 15 Nov 2019 09:53:42 -0800 obslog: make {patch} not be indented and leave that to the template
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 09:53:42 -0800] rev 4952
obslog: make {patch} not be indented and leave that to the template This removes some unwanted indentation from the tests. In the first case, it's because indent() doesn't indent a blank line. In the second case, it's because we used templating with {patch} and had not requested indentation (but we still got it before this patch). Note that tests will only pass with a very recent Mercurial (one with https://phab.mercurial-scm.org/D7432 applied).
Thu, 07 Nov 2019 13:40:53 -0800 obslog: make {succnodes} be full hex nodes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 13:40:53 -0800] rev 4951
obslog: make {succnodes} be full hex nodes It should be up to the user to shorten the nodeid as much or as little as they like.
Fri, 08 Nov 2019 07:19:18 -0800 obslog: remove now-unused code for plain styling
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 Nov 2019 07:19:18 -0800] rev 4950
obslog: remove now-unused code for plain styling We now always use a non-plain formatter for the non-local-filtering code paths, so we can remove the code for plain styling. I couldn't figure out how to replace the fm.formatlist() by something less about formatting, so I've only removed the irrelevant arguments from those calls.
Thu, 07 Nov 2019 23:17:34 -0800 obslog: redefine default output as a template, unless -f was given
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:17:34 -0800] rev 4949
obslog: redefine default output as a template, unless -f was given This was easier than I expected to do without affecting any test output at all. `hg obslog -f` is pretty broken with templating. For example, it inserts a single "date" field, but it provides two values for it if the dates are different. That results in a traceback when running e.g. `hg obslog -f -Tfoo` with non-local obsmarkers with different dates. We need to figure out what we want to put in the template for the filtered case. I've just left it out for now.
Thu, 07 Nov 2019 23:15:29 -0800 obslog: add newline after all markers in non-graphlog to match graphlog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:15:29 -0800] rev 4948
obslog: add newline after all markers in non-graphlog to match graphlog I'd also be fine with doing the reverse if that's preferred, but I really want them to be the same so they can use the same template.
Thu, 07 Nov 2019 22:24:50 -0800 obslog: make reason for unavailable patch part of template
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 22:24:50 -0800] rev 4947
obslog: make reason for unavailable patch part of template We need the reason to be in the template in order to be able to templatize the whole output.
Thu, 07 Nov 2019 16:34:01 -0800 obslog: make content and description patches available to templater
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 16:34:01 -0800] rev 4946
obslog: make content and description patches available to templater The code was repeatedly calling fm.write() with the same field ("patch" and "descdiff"). I think that led to the value constantly getting replaced, so when it was used in a template (as {patch} or {descdiff}), it would only get the last value, which was always an empty string. This patch fixes it by writing the full patch to a temporary buffer and then assigning the whole patch to the formatter field.
Thu, 07 Nov 2019 17:22:44 -0800 obslog: rename {desc-diff} to {descdiff} since the former is invalid
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:44 -0800] rev 4945
obslog: rename {desc-diff} to {descdiff} since the former is invalid
Thu, 07 Nov 2019 17:22:16 -0800 tests: demonstrate broken {patch} and {desc-diff} template keywords
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:16 -0800] rev 4944
tests: demonstrate broken {patch} and {desc-diff} template keywords
Fri, 15 Nov 2019 11:48:17 +0700 topic: drop compat.successorssets(), it's not used
Anton Shestakov <av6@dwimlabs.net> [Fri, 15 Nov 2019 11:48:17 +0700] rev 4943
topic: drop compat.successorssets(), it's not used The only place in topics that uses successorssets function is in evolvebits.py, and it's using that function from obsutil directly.
Fri, 15 Nov 2019 11:37:34 +0700 topic: drop compat.getmarkers() and use obsutil.getmarkers() directly
Anton Shestakov <av6@dwimlabs.net> [Fri, 15 Nov 2019 11:37:34 +0700] rev 4942
topic: drop compat.getmarkers() and use obsutil.getmarkers() directly The function in question was moved from obsolete to obsutil in a14e2e7f7d1f (hg 4.3). See also 6aff4bb3970d for hgext3rd/evolve.
Fri, 15 Nov 2019 08:14:06 -0800 cmdrewrite: avoid accessing scmutil.status fields by index
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 08:14:06 -0800] rev 4941
cmdrewrite: avoid accessing scmutil.status fields by index Support for indexed access is going away in Mercurial. Accessing the fields by name is clearer anyway.
Thu, 07 Nov 2019 23:10:26 -0800 obslog: avoid using a formatter after calling end() on it
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:10:26 -0800] rev 4940
obslog: avoid using a formatter after calling end() on it I don't know if makes a difference, but it feels wrong to use it after calling end(). We can simply use the parent formatter in this case.
Thu, 07 Nov 2019 15:00:57 -0800 obslog: use plural name "effects" for list of all effects
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 15:00:57 -0800] rev 4939
obslog: use plural name "effects" for list of all effects Same reasoning as the previous patch, but here the singular was used for the list instead. This patch also renames the variable that represents the list of effects to plural "effects" to reduce confusion.
Thu, 07 Nov 2019 13:21:20 -0800 obslog: use singular name "succnode" for each element of {succnodes}
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 13:21:20 -0800] rev 4938
obslog: use singular name "succnode" for each element of {succnodes} The name that we pass for formatlist() is the name of each element. After this patch, you'll write '{succnodes % "{succnode}"}' instead of the confusing '{succnodes % "{succnodes}"}' (where the two "succnodes" refer to different things. Users can write templates that are compatible across this change by using e.g. '{succnodes % "{if(succnode, succnode, succnodes)}"}'.
Mon, 11 Nov 2019 03:40:20 +0700 docs: add SVG figures for sharing.rst stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 03:40:20 +0700] rev 4937
docs: add SVG figures for sharing.rst Generated by graphviz loosely based on .dot files produced by dotgraph extension.
Mon, 11 Nov 2019 03:22:09 +0700 docs: add some up-to-date output from push/pull commands stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 03:22:09 +0700] rev 4936
docs: add some up-to-date output from push/pull commands Hopefully it's going to be helpful for users to better understand how evolve works.
Mon, 11 Nov 2019 02:42:37 +0700 docs: add two more amend commits to simulate temporary amend commits stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 02:42:37 +0700] rev 4935
docs: add two more amend commits to simulate temporary amend commits sharing.rst made reference to temporary amend commits and used them to demonstrate that hidden commits are not exchanged. Nowadays, evolve doesn't create such commits, but it still makes sense to show how they are handled during the exchange process. So let's add two more amend commits, one for each repo. This way the guide doesn't have to be updated too much, but doesn't lose this important detail of working with evolve. Unfortunately, this means that tons of hashes change, but it's better than to have figure 4 demonstrate absolutely nothing. Temporary amend commits were removed from test-sharing.t in 06844693bb21, but sharing.rst continued using them for demonstration purposes. It might've been better to replace at least some of the temporary amend commits by extra amends back then, but oh well.
Mon, 11 Nov 2019 02:33:54 +0700 docs: revision numbers are technically stable stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 02:33:54 +0700] rev 4934
docs: revision numbers are technically stable From `hg help glossary`: "Note that the revision number may be different in each clone of a repository." But cloning the same repo multiple times yields the same result, and that shows that revision numbers are stable.
Sun, 10 Nov 2019 05:14:53 +0700 tests: remove a repeated statement stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 10 Nov 2019 05:14:53 +0700] rev 4933
tests: remove a repeated statement We looked at the review repo just 6 lines above.
Sat, 26 Oct 2019 13:33:05 +0700 docs: correct node hashes in sharing.rst based on test-sharing.t stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:33:05 +0700] rev 4932
docs: correct node hashes in sharing.rst based on test-sharing.t
Sat, 26 Oct 2019 13:30:21 +0700 tests: add shortlog of other repos to test-sharing.t stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:30:21 +0700] rev 4931
tests: add shortlog of other repos to test-sharing.t The figures require showing multiple repos, so let's show them all, even if they look trivial.
Sat, 26 Oct 2019 13:06:49 +0700 tests: use |shortest in test-sharing.t because sharing.rst uses it stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:06:49 +0700] rev 4930
tests: use |shortest in test-sharing.t because sharing.rst uses it
Wed, 13 Nov 2019 13:47:55 +0700 compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:47:55 +0700] rev 4929
compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Wed, 13 Nov 2019 13:43:46 +0700 compat: compatibility for pathuril.dirs vs util.dirs
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:43:46 +0700] rev 4928
compat: compatibility for pathuril.dirs vs util.dirs
Fri, 15 Nov 2019 10:59:47 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2019 10:59:47 +0100] rev 4927
branching: merge with stable
Fri, 15 Nov 2019 10:08:36 +0100 heptapod-ci: test with python3 too stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2019 10:08:36 +0100] rev 4926
heptapod-ci: test with python3 too
Thu, 14 Nov 2019 18:44:15 +0100 heptapod-ci: add a --pure variant for the CI stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 18:44:15 +0100] rev 4925
heptapod-ci: add a --pure variant for the CI The end goal is to migrate all piece of the evolve CI currently en Jenkins.
Thu, 14 Nov 2019 12:03:52 +0100 heptapod-ci: let the number of CPU to be picked automatically stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 12:03:52 +0100] rev 4924
heptapod-ci: let the number of CPU to be picked automatically We now have a larger, bigger machine to run the tests. Let's let run-tests.py pick the number of concurrent jobs.
Thu, 14 Nov 2019 11:59:10 +0100 heptapod-ci: point to our own docker images stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 11:59:10 +0100] rev 4923
heptapod-ci: point to our own docker images Lets step further into the future.
Thu, 07 Nov 2019 19:46:05 +0100 readme: update contribution guide stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Nov 2019 19:46:05 +0100] rev 4922
readme: update contribution guide We move to heptapod !
Thu, 07 Nov 2019 10:29:03 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Nov 2019 10:29:03 +0100] rev 4921
branching: merge with stable
Sat, 26 Oct 2019 22:44:06 +0700 docs: remove --all from hg evolve, since it's been the default for some time stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 22:44:06 +0700] rev 4920
docs: remove --all from hg evolve, since it's been the default for some time
Sat, 26 Oct 2019 22:43:06 +0700 docs: typo in user-guide.rst stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 22:43:06 +0700] rev 4919
docs: typo in user-guide.rst
Mon, 04 Nov 2019 14:58:58 -0800 obslog: don't overwrite {rev} keyword from changeset context
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Nov 2019 14:58:58 -0800] rev 4918
obslog: don't overwrite {rev} keyword from changeset context Now that we have the whole changeset in the formatter context, there's no need to explicitly add {rev}. We should also deprecate the {shortdescription} keyword since it's no longer needed, but I don't know how to do that.
Mon, 04 Nov 2019 14:31:08 -0800 obslog: make changeset available to templater
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Nov 2019 14:31:08 -0800] rev 4917
obslog: make changeset available to templater obslog templating currently has very limited support for templating the precursor changeset (when available). The only available keywords are {node}, {rev}, and {shortdescription}. This patch makes the entire changeset available to the templater by passing it to formatter.context(). That function has been available since Mercurial 4.2.
Wed, 16 Oct 2019 11:10:04 -0700 tests: simplify by pruning unwanted changesets a little earlier
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 Oct 2019 11:10:04 -0700] rev 4916
tests: simplify by pruning unwanted changesets a little earlier The pruned commits are not relevant to the test case, so let's clean them up at the end of the previous test case instead of part-way through the next one.
Fri, 01 Nov 2019 17:54:09 +0700 evolve: use more often seen metavariables in command synopsis strings stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 01 Nov 2019 17:54:09 +0700] rev 4915
evolve: use more often seen metavariables in command synopsis strings Also use ellipsis when multiple options are acceptable.
Fri, 01 Nov 2019 17:52:43 +0700 topic: add more options to command synopsis string stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 01 Nov 2019 17:52:43 +0700] rev 4914
topic: add more options to command synopsis string
Fri, 11 Oct 2019 16:53:52 +0200 debian: also build with python3 stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 16:53:52 +0200] rev 4913
debian: also build with python3 We build with Python 3 along with Python 2. The binary package will contain the extension for both python version. This is to ease transition until the mercurial package in Debian uses Python 3. The documentation is still built with Python 2 because it needs Mercurial (which is currently Python 2).
Fri, 18 Oct 2019 10:17:53 +0200 debian: update debhelper compat stable
Denis Laxalde <denis@laxalde.org> [Fri, 18 Oct 2019 10:17:53 +0200] rev 4912
debian: update debhelper compat Level before 9 are deprecated says debhelper 12. Upgrade to 10, which is available in Debian oldstable and old Ubuntu releases to be conservative (and since we probably don't need more).
Thu, 17 Oct 2019 20:33:02 +0200 debian: make it possible to by-pass doc build stable
Denis Laxalde <denis@laxalde.org> [Thu, 17 Oct 2019 20:33:02 +0200] rev 4911
debian: make it possible to by-pass doc build
Tue, 15 Oct 2019 11:39:58 +0200 debian: define extend-diff-ignore for dpkg-source stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 15 Oct 2019 11:39:58 +0200] rev 4910
debian: define extend-diff-ignore for dpkg-source This makes it possible to build the source package from a hg checkout (and a sdist) by having dpkg-source ignore files not distributed in sdist.
Fri, 11 Oct 2019 17:05:37 +0200 debian: use pybuild and dh_sphinxdoc stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 17:05:37 +0200] rev 4909
debian: use pybuild and dh_sphinxdoc Use pybuild because it's kind of standard nowadays. Use sphinxdoc debhelper to have a Depends: libjs-sphinxdoc and common files (JS/CSS) symlinked.
Tue, 15 Oct 2019 11:41:22 +0200 debian: mark 9.2.1-1 as released stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 15 Oct 2019 11:41:22 +0200] rev 4908
debian: mark 9.2.1-1 as released
Sat, 19 Oct 2019 10:42:09 -0700 obsexchange: delete dead code for old exchange protocol
Martin von Zweigbergk <martinvonz@google.com> [Sat, 19 Oct 2019 10:42:09 -0700] rev 4907
obsexchange: delete dead code for old exchange protocol Dead since 79a926b557f1 (compat: drop support for older exchange protocol, 2017-10-25).
Wed, 23 Oct 2019 01:14:42 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:14:42 +0200] rev 4906
branching: merge with stable
Wed, 23 Oct 2019 01:11:13 +0200 branching: merge the stable branch with the mercurial-5.1 branch mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:11:13 +0200] rev 4905
branching: merge the stable branch with the mercurial-5.1 branch This revert all the test changes to match the expected output for mercurial 5.1.
Thu, 10 Oct 2019 08:22:41 +0700 tests: add the new "-r" bit to the usual merge hint stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 10 Oct 2019 08:22:41 +0700] rev 4904
tests: add the new "-r" bit to the usual merge hint CORE-TEST-OUTPUT-UPDATE: 8197b395710e
Wed, 23 Oct 2019 01:07:58 +0200 test-output: reinstalled test change for 5.2 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:07:58 +0200] rev 4903
test-output: reinstalled test change for 5.2 This effectively reinstall: * 8345b852cd4f * e804d5a7c193 * 62b60fc1983d * 2d85de79ead8 This mean backing out the following backout changeset: * 2eab4363fc62 * c1cc5b1f813a * 015cdd3fa469 * 3ba1c9dbf462
Wed, 23 Oct 2019 00:58:56 +0200 test-compat: opening test compatibility branch for mercurial 5.1 mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 00:58:56 +0200] rev 4902
test-compat: opening test compatibility branch for mercurial 5.1 5.2 has a release candidate.
Thu, 17 Oct 2019 21:03:19 +0200 py3: encode/decode with going through ui in rst directive stable
Denis Laxalde <denis@laxalde.org> [Thu, 17 Oct 2019 21:03:19 +0200] rev 4901
py3: encode/decode with going through ui in rst directive mercurial's ui wants bytes, doctutils wants text.
Fri, 11 Oct 2019 16:51:13 +0200 py3: fix setup.py --version stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 16:51:13 +0200] rev 4900
py3: fix setup.py --version Before: $ python3 setup.py --version b'9.3.0.dev' After: $ python3 setup.py --version 9.3.0.dev
Wed, 16 Oct 2019 18:12:53 +0200 rewind: preserve date stable
Manuel Jacob <me@manueljacob.de> [Wed, 16 Oct 2019 18:12:53 +0200] rev 4899
rewind: preserve date
Wed, 09 Oct 2019 21:22:03 +0700 metaedit: don't change commit date by default (issue5994) stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 21:22:03 +0700] rev 4898
metaedit: don't change commit date by default (issue5994) We deliberately unset devel.default-date to allow hg commands to see the real system date, that demonstrates that metaedit doesn't fall back to system date for any of these commands.
Wed, 09 Oct 2019 20:16:38 +0700 tests: simply use testlib/common.sh in test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:16:38 +0700] rev 4897
tests: simply use testlib/common.sh in test-metaedit.t
Wed, 09 Oct 2019 20:12:54 +0700 tests: turn glog shell function into an alias in test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:12:54 +0700] rev 4896
tests: turn glog shell function into an alias in test-metaedit.t Mostly because we already have an alias and because creating an alias is the usual way to customize log -G in tests.
Wed, 09 Oct 2019 20:07:42 +0700 tests: clean up test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:07:42 +0700] rev 4895
tests: clean up test-metaedit.t Mostly just artifacts from the times when it was one big test-evolve.t. All completely unused nowadays.
Sun, 06 Oct 2019 02:30:12 -0400 help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com> [Sun, 06 Oct 2019 02:30:12 -0400] rev 4894
help: categorizing evolve and topic commands This makes them show up under the right categories in 'hg help'. Differential Revision: https://phab.mercurial-scm.org/D6999
Thu, 10 Oct 2019 08:22:41 +0700 tests: add the new "-r" bit to the usual merge hint
Anton Shestakov <av6@dwimlabs.net> [Thu, 10 Oct 2019 08:22:41 +0700] rev 4893
tests: add the new "-r" bit to the usual merge hint CORE-TEST-OUTPUT-UPDATE: 8197b395710e
Sat, 05 Oct 2019 14:31:19 -0400 branching: merge back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:31:19 -0400] rev 4892
branching: merge back into default
Mon, 07 Oct 2019 14:38:56 +0700 pick: don't create any successors when there were no changes (issue6093) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 07 Oct 2019 14:38:56 +0700] rev 4891
pick: don't create any successors when there were no changes (issue6093) For example, when a changeset that user is trying to pick was already grafted or rebased (and no obsmarkers were created), pick will naturally say that there's no changes to commit and will not create the new commit. In that case it should not mark any changeset as a successor of the picked changeset, because the actual file changes were already there before picking. Technically, pick could (and did before this patch) mark the wdir commit as a successor of picked changeset (may be useful in the most trivial cases when e.g. wdir is a graft of the required change), but there are cases when the picked change is introduced in an ancestor of wdir, or even in multiple ancestors piece by piece. Pick definitely shouldn't be trying to guess something this complicated, so with this patch it always marks the picked change as pruned if it gave no changes to commit.
Sat, 05 Oct 2019 14:26:19 -0400 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:26:19 -0400] rev 4890
packaging: mark as development version This avoid confusion.
Sat, 05 Oct 2019 14:22:21 -0400 Added tag 9.2.1 for changeset d989bab720e5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:22:21 -0400] rev 4889
Added tag 9.2.1 for changeset d989bab720e5
Sat, 05 Oct 2019 13:50:13 -0400 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:13 -0400] rev 4888
test-compat: merge mercurial-4.6 into mercurial-4.5
Sat, 05 Oct 2019 13:50:11 -0400 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:11 -0400] rev 4887
test-compat: merge mercurial-4.7 into mercurial-4.6
Sat, 05 Oct 2019 13:50:09 -0400 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:09 -0400] rev 4886
test-compat: merge mercurial-4.8 into mercurial-4.7
Sat, 05 Oct 2019 13:50:07 -0400 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:07 -0400] rev 4885
test-compat: merge mercurial-4.9 into mercurial-4.8
Sat, 05 Oct 2019 13:50:05 -0400 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:05 -0400] rev 4884
test-compat: merge mercurial-5.0 into mercurial-4.9
Sat, 05 Oct 2019 13:50:03 -0400 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:03 -0400] rev 4883
test-compat: merge stable into mercurial-5.0
Sat, 05 Oct 2019 13:48:25 -0400 packaging: prepare version 9.2.1 stable 9.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:48:25 -0400] rev 4882
packaging: prepare version 9.2.1
Sat, 05 Oct 2019 13:46:13 -0400 packaging: update changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:46:13 -0400] rev 4881
packaging: update changelog
Sat, 05 Oct 2019 13:56:37 -0400 manifest: exclude the gitlab file stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:56:37 -0400] rev 4880
manifest: exclude the gitlab file (oops)
Fri, 04 Oct 2019 14:16:52 -0400 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 04 Oct 2019 14:16:52 -0400] rev 4879
branching: merge with stable
Thu, 03 Oct 2019 23:48:50 +0100 py3: return unicode from setup.py's get_version stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:48:50 +0100] rev 4878
py3: return unicode from setup.py's get_version py3 expects the version number for eggs to be unicode, so despite 9.2.0 being the first evolve release with beta py3 support it isn't currently pip installable since it dies with: File "*/setuptools/command/egg_info.py", line *, in tagged_version return safe_version(version + self.vtags) TypeError: can't concat str to bytes The `setup.py install` test added in a previous commit should cover this since it died in a different but similar way before.
Thu, 03 Oct 2019 23:39:37 +0100 py3: remove smartquotes from README stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:39:37 +0100] rev 4877
py3: remove smartquotes from README They break running setup.py with py3 but only in tests, because in the test environment `locale.getpreferredencoding()` is ANSI_X3.4-1968, so the file is `open()`ed with that as the encoding. An alternative for fixing this would be to make the `open()` call with `encoding='utf-8'` under py3, which would be safe against any future non-ascii in README.
Thu, 03 Oct 2019 23:20:47 +0100 setup: make runnable from other dirs stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:20:47 +0100] rev 4876
setup: make runnable from other dirs Currently it fails when run in that way for two reasons: - the description is loaded from the README file but with a path relative to the working directory - module references have the same issue, which is fixed with package_dir.
Thu, 03 Oct 2019 23:17:13 +0100 setup: add a test for running setup.py stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:17:13 +0100] rev 4875
setup: add a test for running setup.py `python3 -m pip install hg-evolve==9.2.0` currently fails, despite 9.2.0 being the first beta py3 release, because of unicode issues with the version number. `setup.py install` is a proxy test for pip install since it also suffers from similar, however the test currently fails due to running setup.py from a different directory to the one it is in. Also add a test for `hg version -v` with evolve enabled since a naive first solution for the pip issue was to just change `__version__` to a `u''` string, but that busts version display in `version -v`, which isn't currently picked up by tests.
Fri, 04 Oct 2019 00:15:53 -0400 gitlab-ci: be bold and try to run the full test in them stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 04 Oct 2019 00:15:53 -0400] rev 4874
gitlab-ci: be bold and try to run the full test in them This is a basic version that should work reasonably well. The setup is a bit costly and the cleanup is not guaranteed yet.
Thu, 03 Oct 2019 22:46:21 -0400 gitlab-ci: basic test with flake8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Oct 2019 22:46:21 -0400] rev 4873
gitlab-ci: basic test with flake8 Let us step into the future.
Sat, 28 Sep 2019 13:15:02 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:15:02 +0200] rev 4872
branching: merge back with stable version 9.2.0 have been released
Fri, 27 Sep 2019 12:50:19 +0200 branching: preserve test change on stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:50:19 +0200] rev 4871
branching: preserve test change on stable CORE-TEST-OUTPUT-UPDATE: cdf0e9523de1 CORE-TEST-OUTPUT-UPDATE: d7304434390f CORE-TEST-OUTPUT-UPDATE: 181ee2118a96 CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Sat, 28 Sep 2019 13:14:07 +0200 packing: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:14:07 +0200] rev 4870
packing: mark as development version This avoid confusion when installing from source.
Sat, 28 Sep 2019 13:00:20 +0200 Added tag 9.2.0 for changeset 40795751be1c stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:00:20 +0200] rev 4869
Added tag 9.2.0 for changeset 40795751be1c
Fri, 27 Sep 2019 13:03:22 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:22 +0200] rev 4868
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 27 Sep 2019 13:03:20 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:20 +0200] rev 4867
test-compat: merge mercurial-4.7 into mercurial-4.6
Fri, 27 Sep 2019 13:03:18 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:18 +0200] rev 4866
test-compat: merge mercurial-4.8 into mercurial-4.7
Fri, 27 Sep 2019 13:03:16 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:16 +0200] rev 4865
test-compat: merge mercurial-4.9 into mercurial-4.8
Fri, 27 Sep 2019 13:03:14 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:14 +0200] rev 4864
test-compat: merge mercurial-5.0 into mercurial-4.9
Fri, 27 Sep 2019 13:03:12 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:12 +0200] rev 4863
test-compat: merge stable into mercurial-5.0
Sat, 28 Sep 2019 12:51:03 +0200 changelog: update for coming 9.2.0 stable 9.2.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 12:51:03 +0200] rev 4862
changelog: update for coming 9.2.0
Fri, 27 Sep 2019 12:49:36 +0200 test: backed out test change applied in 2d85de79ead8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:49:36 +0200] rev 4861
test: backed out test change applied in 2d85de79ead8
Fri, 27 Sep 2019 12:49:15 +0200 test: backed out test change applied in 62b60fc1983d stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:49:15 +0200] rev 4860
test: backed out test change applied in 62b60fc1983d
Fri, 27 Sep 2019 12:48:44 +0200 test: backed out test change applied in e804d5a7c193 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:48:44 +0200] rev 4859
test: backed out test change applied in e804d5a7c193
Fri, 27 Sep 2019 12:48:28 +0200 test: backed out test change applied in 8345b852cd4f stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:48:28 +0200] rev 4858
test: backed out test change applied in 8345b852cd4f
Fri, 27 Sep 2019 06:55:05 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 06:55:05 +0200] rev 4857
branching: merge with stable
Wed, 25 Sep 2019 19:43:19 +0200 stable-doc: note about not storing smaller range
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:43:19 +0200] rev 4856
stable-doc: note about not storing smaller range
Wed, 25 Sep 2019 19:43:02 +0200 stable-doc: small typo
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:43:02 +0200] rev 4855
stable-doc: small typo
Wed, 25 Sep 2019 19:31:44 +0200 stable-doc: add more advanced examples
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:31:44 +0200] rev 4854
stable-doc: add more advanced examples
Wed, 25 Sep 2019 18:23:37 +0200 stable-doc: add multiples example for the simple cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 18:23:37 +0200] rev 4853
stable-doc: add multiples example for the simple cases
Thu, 26 Sep 2019 10:00:51 +0200 test-output: oops
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Sep 2019 10:00:51 +0200] rev 4852
test-output: oops CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Wed, 25 Sep 2019 03:17:46 +0200 test: update part count in tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:17:46 +0200] rev 4851
test: update part count in tests An off by one error got fixed upstream. CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Mon, 09 Sep 2019 09:28:47 +0700 evolve: check that relocating makes sense in _solvedivergent() (issue5958) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Sep 2019 09:28:47 +0700] rev 4850
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Wed, 24 Oct 2018 19:32:04 +0200 tests: demonstrate content divergence causing "relocate node on top of itself" stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Oct 2018 19:32:04 +0200] rev 4849
tests: demonstrate content divergence causing "relocate node on top of itself"
Mon, 16 Sep 2019 12:44:38 -0700 cmdstate: introduce a "saver" contextmanager and use it in place of save()
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:44:38 -0700] rev 4848
cmdstate: introduce a "saver" contextmanager and use it in place of save() Previously, the state was only saved in some paths out of these functions. This can be problematic, if the user ctrl-c's (or `kill -9`'s) the process, or we exit out of `relocate` for anything besides the "expected" reason, we won't record that we were in the middle of an evolve. One of our users has discovered that this leaves hg in a weird state; the user did something like this: ``` $ hg evolve <something goes wrong with the merge tool, hits ctrl-c> <deals with the merge conflicts> $ hg evolve --continue abort: no interrupted evolve to continue $ hg evolve abort: uncommitted changes # Note: commands.status.verbose=True is set. $ hg status M foo # The repository is in an unfinished *update* state. # No unresolved merge conflicts # To continue: hg update ``` The user did an `hg update`, but it didn't actually do anything besides take it out of the unfinished update state (the files were still dirty in the working directory).
Mon, 16 Sep 2019 12:42:50 -0700 cmdstate: avoid setting a default argument to a mutable object (`{}`)
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:42:50 -0700] rev 4847
cmdstate: avoid setting a default argument to a mutable object (`{}`) If there's ever more than one cmdstate for the lifetime of the process, this can cause surprising behavior where the later cmdstates pick up options from the earlier ones. I've not seen any evidence this is actually causing any issues, but it's subtle enough that it should probably be fixed to help save significant debugging time later.
Mon, 16 Sep 2019 12:42:11 -0700 cmdstate: switch to new-style classes
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:42:11 -0700] rev 4846
cmdstate: switch to new-style classes This isn't a huge issue and isn't necessary on Python3, but we're still Python2 compatible and we should be consistent (and strongly prefer new-style classes); this is the only class that is not deriving from object that I could find.
Tue, 24 Sep 2019 12:42:27 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Sep 2019 12:42:27 +0200] rev 4845
branching: merge stable into default
Fri, 19 Jul 2019 16:26:48 +0200 docs: add example for the `prune` command stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 19 Jul 2019 16:26:48 +0200] rev 4844
docs: add example for the `prune` command Giving at least one example helps clear up the syntax, especially since most options will follow a very similar pattern.
Thu, 19 Sep 2019 11:46:16 +0700 tests: add some more actions to test-issue-6028, describe what's being done stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Sep 2019 11:46:16 +0700] rev 4843
tests: add some more actions to test-issue-6028, describe what's being done This patch does two things: it explains what's happening in the test file so it's easier to understand, and also it adds checks that make sure something like swapping merge parents is not accidentally breaking anything. The primary reason to touch this test file was that it was broken by a change in core's merge.graft() that erroneously swapped merge parents. Since only evolve uses merge.graft() for merge commits and there aren't any tests in core for it, let's test it here. Plus, this test case is pretty simple and these additional checks don't make it too complicated.
Fri, 13 Sep 2019 16:04:32 +0200 topic: fix some API to make it more robust stable
Valentin Gatien-Baron <vgatien-baron@janestreet.com> [Fri, 13 Sep 2019 16:04:32 +0200] rev 4842
topic: fix some API to make it more robust The new code can deal with changes in upstream mercurial.
Tue, 10 Sep 2019 15:43:20 +0700 rewriteutil: move allowdivergence check to foldcheck() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Sep 2019 15:43:20 +0700] rev 4841
rewriteutil: move allowdivergence check to foldcheck() foldcheck() calls precheck() first and then performs more fold-specific checks.
Thu, 12 Sep 2019 12:35:42 +0200 test: change to output around transaction timing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 12 Sep 2019 12:35:42 +0200] rev 4840
test: change to output around transaction timing CORE-TEST-OUTPUT-UPDATE: d7304434390f
Tue, 10 Sep 2019 07:38:46 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Sep 2019 07:38:46 +0200] rev 4839
branching: merge with stable There have been multiple fix on stable.
Sun, 08 Sep 2019 21:24:45 +0200 stablerange: add some data from field testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 21:24:45 +0200] rev 4838
stablerange: add some data from field testing This show that in number of stable range to track stay reasonable.
Sun, 08 Sep 2019 17:50:48 +0200 stablerange: add a debugstablerangecache command
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:50:48 +0200] rev 4837
stablerange: add a debugstablerangecache command The command display get some data about stable range in a repository.
Sun, 08 Sep 2019 17:49:26 +0200 stablerange: add some documentation about the general concept
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:49:26 +0200] rev 4836
stablerange: add some documentation about the general concept
Sun, 08 Sep 2019 17:47:37 +0200 stablesort: add some field data about stable sort cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:47:37 +0200] rev 4835
stablesort: add some field data about stable sort cache
Sun, 08 Sep 2019 13:31:28 +0200 stablesort: introduce a small debugstablesortcache command
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 13:31:28 +0200] rev 4834
stablesort: introduce a small debugstablesortcache command This give a small insight on the cache content.
Sun, 08 Sep 2019 11:56:11 +0200 stablesort: add some documentation for stablesort
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 11:56:11 +0200] rev 4833
stablesort: add some documentation for stablesort This should help people to understand what is going on here.
Sat, 07 Sep 2019 13:03:29 +0700 fold: check allowdivergence before folding obsolete changesets (issue5817) stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Sep 2019 13:03:29 +0700] rev 4832
fold: check allowdivergence before folding obsolete changesets (issue5817)
Wed, 28 Aug 2019 18:30:58 +0700 tests: demonstrate that fold doesn't care about allowdivergence config option stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Aug 2019 18:30:58 +0700] rev 4831
tests: demonstrate that fold doesn't care about allowdivergence config option
Fri, 06 Sep 2019 13:23:25 +0700 stack: remove unnecessary copying of rdependencies stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 13:23:25 +0700] rev 4830
stack: remove unnecessary copying of rdependencies rdependencies is not modified in any way in this method, so no need to copy it.
Fri, 06 Sep 2019 12:53:46 +0700 stack: make a deep copy of `dependencies` before modifying its items stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 12:53:46 +0700] rev 4829
stack: make a deep copy of `dependencies` before modifying its items The algorithm later on in this method uses .remove() to remove individual elements from items in dependencies, which before this patch modified the cached property contents. So for further use that dictionary was in the form of {1: set([])}, i.e. all sets were empty. This deep copy block could be way simpler, but the problem is that sometimes we get lists of _succs() from evolvebits.builddependencies(). Note: this happens only in topic's stack version of builddependencies() and it looks like a suboptimal way to handle multiple successors (see evolve's counterpart function). stack.builddependencies method is removed, it has served its purpose (see the previous patch).
Fri, 06 Sep 2019 12:16:34 +0700 stack: demonstrate that not reusing cached property gives different results stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 12:16:34 +0700] rev 4828
stack: demonstrate that not reusing cached property gives different results Instead of using self._dependencies, which is a cached property, let's get fresh deps and rdeps in stack.revs method using a newly introduced stack.builddependencies method (will be removed in the next patch). This makes it easier to explain why the next patch is correct.
Tue, 03 Sep 2019 12:48:47 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 12:48:47 +0200] rev 4827
branching: merge with stable
Tue, 03 Sep 2019 13:02:20 +0700 changelog: add missing entry for 9af212b8565a stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Sep 2019 13:02:20 +0700] rev 4826
changelog: add missing entry for 9af212b8565a
Tue, 03 Sep 2019 13:02:20 +0700 evolve: test that target is not orig in _solveunstable() (issue6097) stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Sep 2019 13:02:20 +0700] rev 4825
evolve: test that target is not orig in _solveunstable() (issue6097) `newer` is the result of obsutil.successorssets() and can be [[orig.node()]], in which case later on in this function evolve will try to rebase orig onto orig, which is not correct. So let's just check this particular case. This fix doesn't cover cases when successorssets() result contains orig.node() not at [0][0]. Such cases need tests.
Mon, 02 Sep 2019 11:17:23 +0700 tests: demonstrate an orphan changeset cause "relocate node on top of itself" stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Sep 2019 11:17:23 +0700] rev 4824
tests: demonstrate an orphan changeset cause "relocate node on top of itself" See issue6097.
Fri, 30 Aug 2019 11:31:19 +0700 obslog: only indent the first chunk and chunks just after newlines (issue6175) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 30 Aug 2019 11:31:19 +0700] rev 4823
obslog: only indent the first chunk and chunks just after newlines (issue6175)
Fri, 30 Aug 2019 11:28:02 +0700 tests: demonstrate too many spaces in olog -p output with word-diff stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 30 Aug 2019 11:28:02 +0700] rev 4822
tests: demonstrate too many spaces in olog -p output with word-diff
Thu, 25 Jul 2019 18:37:16 +0800 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Jul 2019 18:37:16 +0800] rev 4821
rewind: add --keep flag that "doesn't modify working directory" The actual logic is more complicated than the flag description, but it's sufficiently similar to other --keep flags in action. Unlike strip (or prune), rewind always needs to modify the working directory to commit new revisions that "revive" old ones [1], see _revive_revision() (and rewriteutil.rewrite()). Because of that we don't prevent rewind from modifying wdir, but instead use hg.updaterepo() to update to the old changeset after the "revival" process is complete. Then we rebuild the dirstate based on the commit that rewind would update to without --keep. Since dirstate.rebuild() doesn't restore status of some files (added, removed, also copies and renames), we rely on cmdutil.revert(). It's a fairly crude solution and needs to be removed when implementing the missing copy tracing between oldctx and newctx (which are related only by obsolescence). [1] IOW this means that --keep doesn't allow rewinding if wdir is dirty (unlike e.g. strip).
Tue, 23 Jul 2019 18:05:40 +0800 tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net> [Tue, 23 Jul 2019 18:05:40 +0800] rev 4820
tests: separate rewinding of merge commits, temporarily drop an error case The error case will come back in the following commit, because it organically fits there without the need of a separate working clone.
Wed, 07 Aug 2019 15:22:16 +0200 python3: add python3 beta support to the CHANGELOG
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:22:16 +0200] rev 4819
python3: add python3 beta support to the CHANGELOG
Wed, 07 Aug 2019 15:21:56 +0200 python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:21:56 +0200] rev 4818
python3: mention beta Python 3 support in README
Wed, 07 Aug 2019 15:21:17 +0200 python3: add supported python versions to setup.py
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:21:17 +0200] rev 4817
python3: add supported python versions to setup.py Mercurial technically can support Python 3.5 (although no lower, see its setup.py), but `evolve` probably won't because it represents more work for an underrepresented Python version. If you happen to *really* need evolve to work on Python 3 and you're reading this message, send an email to the mailing list, or contribute patches.
Fri, 09 Aug 2019 12:48:58 +0200 test: update output for wider cache warming
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Aug 2019 12:48:58 +0200] rev 4816
test: update output for wider cache warming CORE-TEST-OUTPUT-UPDATE: cdf0e9523de1
Tue, 06 Aug 2019 19:28:51 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Aug 2019 19:28:51 +0200] rev 4815
branching: merge with stable format source worked smoothly :-)
Tue, 06 Aug 2019 15:06:38 +0200 python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 15:06:38 +0200] rev 4814
python3: use format-source to run byteify-strings in .py files Using the format-source extension smooth out the pain of merging after auto-formatting. This change makes all of the Evolve test suite pass under python3 and has added benefit of being 100% automated using mercurial's `byteify-strings` script version 1.0 (revision 11498aa91c036c6d70f7ac5ee5af2664a84a1130). How to benefit from the help of format-source is explained in the README.
Tue, 06 Aug 2019 19:27:54 +0200 topic: add a new random attribute stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Aug 2019 19:27:54 +0200] rev 4813
topic: add a new random attribute (This is mostly an excuse to test the format-source setup)
Tue, 06 Aug 2019 15:06:27 +0200 python3: enforce byte prefix for vfs.open()
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 15:06:27 +0200] rev 4812
python3: enforce byte prefix for vfs.open() Changeset ea8da5aa23c6e723d7f0006387a1a20eef58fc9a added raw prefix to open(), but also to vfs.open(). The latter only handles bytestring arguments.
Tue, 06 Aug 2019 11:35:09 +0200 python3: add raw prefix to sqlite isolation level
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:35:09 +0200] rev 4811
python3: add raw prefix to sqlite isolation level
Tue, 06 Aug 2019 11:34:31 +0200 python3: add ignore block around python 2 compatibility if branch
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:34:31 +0200] rev 4810
python3: add ignore block around python 2 compatibility if branch
Tue, 06 Aug 2019 16:23:57 +0200 flake8: silence F633 error stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 16:23:57 +0200] rev 4809
flake8: silence F633 error
Tue, 06 Aug 2019 11:33:53 +0200 python3: add raw prefix to edge-cases kwargs-like objects
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:33:53 +0200] rev 4808
python3: add raw prefix to edge-cases kwargs-like objects
Tue, 06 Aug 2019 11:32:01 +0200 python3: add raw prefix to open()-like functions
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:32:01 +0200] rev 4807
python3: add raw prefix to open()-like functions
Tue, 06 Aug 2019 11:30:45 +0200 python3: add raw prefix to all array.array() calls
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:30:45 +0200] rev 4806
python3: add raw prefix to all array.array() calls
Tue, 06 Aug 2019 11:29:35 +0200 python3: add raw prefix to "troubles"-related dicts
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:29:35 +0200] rev 4805
python3: add raw prefix to "troubles"-related dicts The `byteify-strings.py` script cannot know that these will be used in a way that requires to use a system string without some pretty hardcore hardcoding.
Tue, 06 Aug 2019 11:26:29 +0200 python3: add raw prefix in cases harder to analyze at the token level
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:26:29 +0200] rev 4804
python3: add raw prefix in cases harder to analyze at the token level The `byteify-strings.py` script would be a lot more complicated if it had to do backtracking and other more advanced static analysis to figure our those cases, so we have to add the raw prefix to those cases manually.
Tue, 06 Aug 2019 11:17:38 +0200 python3: add byte prefix for objects that look like kwargs but aren't
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:17:38 +0200] rev 4803
python3: add byte prefix for objects that look like kwargs but aren't The `byteify-strings.py` script has no way of knowing that those aren't acutally kwargs since it works purely at the tokenization level, so we have to add the byte prefix to their keys manually.
Tue, 06 Aug 2019 11:10:36 +0200 python3: mark all SQL queries as raw strings
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:10:36 +0200] rev 4802
python3: mark all SQL queries as raw strings
Tue, 06 Aug 2019 11:07:16 +0200 python3: prefix all regex to work with python 2 and 3
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:07:16 +0200] rev 4801
python3: prefix all regex to work with python 2 and 3
Tue, 06 Aug 2019 00:16:05 +0200 pick: added support for hg abort
Taapas Agrawal <taapas2897@gmail.com> [Tue, 06 Aug 2019 00:16:05 +0200] rev 4800
pick: added support for hg abort This patch isolates abort logic for `hg pick --abort` as `abortpick()`. For independent calls via `hg abort` `hgabortpick()` is created and registered to the state detection API. Results are shown as tests.
Tue, 06 Aug 2019 00:16:01 +0200 pick: factor our the abort function
Taapas Agrawal <taapas2897@gmail.com> [Tue, 06 Aug 2019 00:16:01 +0200] rev 4799
pick: factor our the abort function This prepare the upcoming support for `hg pick` in `hg abort.
Thu, 11 Jul 2019 22:56:46 +0530 abort: added support for evolve to hg abort
Taapas Agrawal <taapas2897@gmail.com> [Thu, 11 Jul 2019 22:56:46 +0530] rev 4798
abort: added support for evolve to hg abort This patch adds support of `hg evolve --abort` to `hg abort` plan. This involves creating a `hgabortevolve()` function under `evolvecmd` which ensures abortion of evolve via `hg abort`. This function is then registered using `addunfinished()` in `__init__.py`. Results are shown as tests.
Fri, 12 Jul 2019 23:43:25 +0530 evolve: fixed lock acquire before checking state
Taapas Agrawal <taapas2897@gmail.com> [Fri, 12 Jul 2019 23:43:25 +0530] rev 4797
evolve: fixed lock acquire before checking state Before checking the states `repo.lock()` and `repo.wlock()` need to be acquired. This was not happening in `evolve()` earlier. This patch creates a seperate `_performevolve()` funtion which can be then called with locks acquired. This also removes the redundant lock acuquiring of `abortevolve` and `continueevolve` as lock is now taken earlier.
Wed, 31 Jul 2019 10:52:14 -0700 py3: add back a progress(0) call lost in 8664231b47ac
Martin von Zweigbergk <martinvonz@google.com> [Wed, 31 Jul 2019 10:52:14 -0700] rev 4796
py3: add back a progress(0) call lost in 8664231b47ac I don't think it really matters, but it wasn't intentional, so let's just restore the old behavior.
Fri, 02 Aug 2019 13:00:11 -0700 prune: adjust 'nothing to prune' to imply user needs to specify revs to prune
Kyle Lippincott <spectral@google.com> [Fri, 02 Aug 2019 13:00:11 -0700] rev 4795
prune: adjust 'nothing to prune' to imply user needs to specify revs to prune
Sat, 20 Jul 2019 17:33:00 +0800 rewind: working directory is the preferred term
Anton Shestakov <av6@dwimlabs.net> [Sat, 20 Jul 2019 17:33:00 +0800] rev 4794
rewind: working directory is the preferred term
Sat, 20 Jul 2019 16:51:44 +0800 rewind: add command synopsis
Anton Shestakov <av6@dwimlabs.net> [Sat, 20 Jul 2019 16:51:44 +0800] rev 4793
rewind: add command synopsis
Fri, 28 Jun 2019 21:07:20 +0000 py3: make setup.py py3 compatible
Ludovic Chabant <ludovic@chabant.com> [Fri, 28 Jun 2019 21:07:20 +0000] rev 4792
py3: make setup.py py3 compatible
Tue, 30 Jul 2019 02:55:22 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:55:22 +0200] rev 4791
branching: merge stable back into default The version has been released.
Tue, 30 Jul 2019 02:55:01 +0200 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:55:01 +0200] rev 4790
packaging: mark as development version This help to avoid confusion when installing version from source.
Tue, 30 Jul 2019 02:50:14 +0200 Added tag 9.1.0 for changeset 6f37fdad7ac1 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:50:14 +0200] rev 4789
Added tag 9.1.0 for changeset 6f37fdad7ac1
Mon, 29 Jul 2019 16:47:17 +0200 packaging: update version number for 9.1.0 release stable 9.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 16:47:17 +0200] rev 4788
packaging: update version number for 9.1.0 release We are about to cut a release.
Tue, 30 Jul 2019 02:44:08 +0200 changelog: add missing entry for dfd88e3fa90a stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:44:08 +0200] rev 4787
changelog: add missing entry for dfd88e3fa90a
Mon, 29 Jul 2019 16:41:19 +0200 packaging: groom changelog prior to release stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 16:41:19 +0200] rev 4786
packaging: groom changelog prior to release
Mon, 29 Jul 2019 14:43:20 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:20 +0200] rev 4785
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 29 Jul 2019 14:43:17 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:17 +0200] rev 4784
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 29 Jul 2019 14:43:15 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:15 +0200] rev 4783
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 29 Jul 2019 14:43:12 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:12 +0200] rev 4782
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 29 Jul 2019 14:43:10 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:10 +0200] rev 4781
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 29 Jul 2019 14:42:57 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:42:57 +0200] rev 4780
test-compat: merge stable into mercurial-5.0
Mon, 29 Jul 2019 14:42:49 +0200 branching: merge the two mercurial-5.0 heads mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:42:49 +0200] rev 4779
branching: merge the two mercurial-5.0 heads
Mon, 29 Jul 2019 13:19:54 +0200 test-compat: reverte output change from 4764e8436b2a (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:19:54 +0200] rev 4778
test-compat: reverte output change from 4764e8436b2a (hg-5.1) These change where applied in evolve's changeset 88c8ef4d703c.
Mon, 29 Jul 2019 13:19:48 +0200 test-compat: reverte output change from f802a75da585 (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:19:48 +0200] rev 4777
test-compat: reverte output change from f802a75da585 (hg-5.1) These change where applied in evolve's changeset e2c548cc83b5.
Mon, 29 Jul 2019 13:17:56 +0200 test-compat: reverte output change from c7d236b55a3e (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:17:56 +0200] rev 4776
test-compat: reverte output change from c7d236b55a3e (hg-5.1) These change where applied in evolve's changeset f162cafc5000.
Mon, 29 Jul 2019 14:38:31 +0200 branching: merge default into stable to prepare 9.1.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:38:31 +0200] rev 4775
branching: merge default into stable to prepare 9.1.0 Time for a new version!
Mon, 29 Jul 2019 13:54:57 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:54:57 +0200] rev 4774
branching: merge stable into default
Mon, 29 Jul 2019 11:40:24 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:24 +0200] rev 4773
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 29 Jul 2019 11:40:22 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:22 +0200] rev 4772
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 29 Jul 2019 11:40:20 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:20 +0200] rev 4771
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 29 Jul 2019 11:40:18 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:18 +0200] rev 4770
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 29 Jul 2019 11:40:16 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:16 +0200] rev 4769
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 29 Jul 2019 11:40:14 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:14 +0200] rev 4768
test-compat: merge stable into mercurial-5.0
Thu, 25 Jul 2019 18:29:59 +0200 test-compat: opening test compatibility branch for mercurial 5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Jul 2019 18:29:59 +0200] rev 4767
test-compat: opening test compatibility branch for mercurial 5.0 5.1 has a release candidate.
Mon, 29 Jul 2019 12:45:29 +0200 test-compat: close branch for mercurial-4.0 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 12:45:29 +0200] rev 4766
test-compat: close branch for mercurial-4.0 We dropped compatibility in 9.0.0
Thu, 25 Jul 2019 09:59:41 -0700 prune: fix small grammatical issues in help text stable
Kyle Lippincott <spectral@google.com> [Thu, 25 Jul 2019 09:59:41 -0700] rev 4765
prune: fix small grammatical issues in help text
Fri, 19 Jul 2019 17:40:45 +0800 docs: update evolve-faq.rst with new prune flag and proper vocabulary stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 19 Jul 2019 17:40:45 +0800] rev 4764
docs: update evolve-faq.rst with new prune flag and proper vocabulary Also strip trailing newlines.
Fri, 19 Jul 2019 17:25:29 +0800 prune: spell --successor flag without any unnecessary shortcuts stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 19 Jul 2019 17:25:29 +0800] rev 4763
prune: spell --successor flag without any unnecessary shortcuts If a user wants to spell out -s, it makes sense to allow that. Before this patch, prune would complain that --successor is not a recognized option. Obviously people don't usually need to spell --successors by hand thanks to shell completion (at least for Bash) using debugcomplete to see all available flags, so this patch doesn't bring any need for more typing. And thanks to Mercurial understanding shortened forms of command-line flags as long as they are unambiguous, the old-style `--succ` flags still work normally, and there are tests that use them. But two tests now use the full form to demonstrate that both ways work.
Wed, 17 Jul 2019 12:47:37 -0700 py3: redefine "troublecategories" in evolve as a dict
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 12:47:37 -0700] rev 4762
py3: redefine "troublecategories" in evolve as a dict We'll want to the keys to be bytes and the values to be unicode on py3. Having it defined as a dict makes that easier (instead of converting between the types with e.g. pycompat.sysbytes()). It was kind of ugly to convert between the forms by stripping '_' from the string anyway.
Fri, 12 Jul 2019 08:11:39 -0700 py3: store to __doc__ as str (unicode on py3)
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:11:39 -0700] rev 4761
py3: store to __doc__ as str (unicode on py3)
Wed, 17 Jul 2019 12:47:20 -0700 py3: also catch ImportError when relative import fails
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 12:47:20 -0700] rev 4760
py3: also catch ImportError when relative import fails Python 3 apparently raises an ImportError where Python 2 raised a ValueError.
Fri, 12 Jul 2019 10:26:41 -0700 py3: convert exceptions to bytes using pycompat.bytestr()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 10:26:41 -0700] rev 4759
py3: convert exceptions to bytes using pycompat.bytestr()
Thu, 11 Jul 2019 16:00:25 -0700 py3: use "%d" for formatting integers
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:00:25 -0700] rev 4758
py3: use "%d" for formatting integers
Fri, 12 Jul 2019 08:17:25 -0700 py3: avoid "%s" for formatting None
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:17:25 -0700] rev 4757
py3: avoid "%s" for formatting None
Fri, 12 Jul 2019 08:16:30 -0700 py3: use "%f" for formatting floating point number
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:16:30 -0700] rev 4756
py3: use "%f" for formatting floating point number
Thu, 11 Jul 2019 15:30:43 -0700 py3: fix progress() functions to not use "%s" with int
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 15:30:43 -0700] rev 4755
py3: fix progress() functions to not use "%s" with int Python3 doesn't support "%s" with int arguments (and not with None arguments either, which this code was also using).
Wed, 17 Jul 2019 11:45:37 -0700 py3: make random topic name generation consistent across py2/py3
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 11:45:37 -0700] rev 4754
py3: make random topic name generation consistent across py2/py3 random.choice() (and others based on random.randint()) changed between py2 and py3 without a way to get the py2 behavior. However, random.random() did not change, so we can re-implement random.choice() based on that.
Fri, 12 Jul 2019 17:02:35 -0700 py3: convert str to bytes before passing to core exception
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 17:02:35 -0700] rev 4753
py3: convert str to bytes before passing to core exception
Wed, 17 Jul 2019 11:03:09 -0700 py3: convert opts keys to bytes before passing to core APIs
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 11:03:09 -0700] rev 4752
py3: convert opts keys to bytes before passing to core APIs
Fri, 14 Jun 2019 18:44:43 -0700 evolve: further clarify when update is performed stable
kevpeng@google.com [Fri, 14 Jun 2019 18:44:43 -0700] rev 4751
evolve: further clarify when update is performed
Thu, 11 Jul 2019 15:30:40 -0700 py3: avoid comparing int and None
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 15:30:40 -0700] rev 4750
py3: avoid comparing int and None
Thu, 11 Jul 2019 21:48:37 -0700 py3: avoid "%r" for list of byte strings, which produces b'' on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 21:48:37 -0700] rev 4749
py3: avoid "%r" for list of byte strings, which produces b'' on py3
Thu, 11 Jul 2019 21:48:02 -0700 py3: avoid "%r" for byte string, which produces b'' on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 21:48:02 -0700] rev 4748
py3: avoid "%r" for byte string, which produces b'' on py3 Replaced by "'%s'", which I think is clearer anyway.
Thu, 11 Jul 2019 14:46:17 -0700 py3: replace str(ctx) by bytes(ctx)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:46:17 -0700] rev 4747
py3: replace str(ctx) by bytes(ctx) These are all for messages to the user and we don't want unicode for that.
Thu, 11 Jul 2019 16:04:17 -0700 py3: use inspect.signature() instead of inspect.getargspec() on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:04:17 -0700] rev 4746
py3: use inspect.signature() instead of inspect.getargspec() on py3
Tue, 09 Jul 2019 10:56:42 -0700 py3: use array.array.{to,from}bytes() on py3
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4745
py3: use array.array.{to,from}bytes() on py3 array.array.{to,from}string() still exists on py3, but they're deprecated and generate warnings. I've put the compat function in compat.pt for now. We can move into a dedicated pycompat.py if we end up with a lot of py3 compat stuff.
Thu, 11 Jul 2019 14:31:32 -0700 py3: config values can be bytes, but never unicode
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:31:32 -0700] rev 4744
py3: config values can be bytes, but never unicode
Sat, 13 Jul 2019 00:17:03 -0700 py3: call branchmap.items() on py3 and continue to call iteritems() on py2
Martin von Zweigbergk <martinvonz@google.com> [Sat, 13 Jul 2019 00:17:03 -0700] rev 4743
py3: call branchmap.items() on py3 and continue to call iteritems() on py2 Mercurial's source transformer also replaces the 'def iteritems(' in branchmap by 'def items(', so we need to call whichever version is there.
Fri, 12 Jul 2019 23:24:04 -0700 py3: switch from iteritems() to items() in the topics extension
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:24:04 -0700] rev 4742
py3: switch from iteritems() to items() in the topics extension The only remaining iteritems() call is on branchmap. That will be dealt with in the next patch.
Sun, 14 Jul 2019 22:34:36 -0700 py3: filter() now returns a generator, so wrap when we need a list
Martin von Zweigbergk <martinvonz@google.com> [Sun, 14 Jul 2019 22:34:36 -0700] rev 4741
py3: filter() now returns a generator, so wrap when we need a list
Fri, 12 Jul 2019 23:19:50 -0700 py3: don't depend on map() iterating over its input
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:19:50 -0700] rev 4740
py3: don't depend on map() iterating over its input map(some_generator()) in py2 returns a list, while in py3 it returns a generator, so the passed-in generator won't be called unless the returned one is.
Thu, 11 Jul 2019 16:49:01 -0700 py3: implement __bool__ in addition to __nonzero__
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:49:01 -0700] rev 4739
py3: implement __bool__ in addition to __nonzero__
Thu, 11 Jul 2019 14:21:23 -0700 py3: replace iter.next() by next(iter)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:21:23 -0700] rev 4738
py3: replace iter.next() by next(iter)
Thu, 11 Jul 2019 14:16:48 -0700 py3: replace xrange() by range()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:16:48 -0700] rev 4737
py3: replace xrange() by range()
Thu, 11 Jul 2019 12:19:49 -0700 py3: read sqlite3 data as bytes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 12:19:49 -0700] rev 4736
py3: read sqlite3 data as bytes The py2 and py3 docs ([1] and [2]) disagree how to get bytes output, but it seems obvious that this should be "bytes" to be compatible with both. [1] https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.text_factory [2] https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.text_factory
Thu, 11 Jul 2019 12:11:43 -0700 py3: sqlite3.connect() expects str arguments
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 12:11:43 -0700] rev 4735
py3: sqlite3.connect() expects str arguments
Fri, 12 Jul 2019 23:00:11 -0700 cleanup: remove check only needed for hg versions before 4.4
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:00:11 -0700] rev 4734
cleanup: remove check only needed for hg versions before 4.4 ui.edit() has had the "action" argument since 6e6452bc441d (editor: use an unambiguous path suffix for editor files, 2017-08-30), which was first released in hg version 4.4. Since we support only versions higher than 4.5, we can drop this check.
Fri, 12 Jul 2019 08:20:24 -0700 split: remove an unnecessary (and confusingly typed) fallback revision
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:20:24 -0700] rev 4733
split: remove an unnecessary (and confusingly typed) fallback revision `opts.get('rev') or '.'` is either a list of strings or just a string. It happened to work because `'.'[0] == '.'` on Python 2, but it won't work on Python 3 (for byte strings). The fallback value wasn't even needed (it was also set just after), so let's just remove it.
Thu, 11 Jul 2019 22:23:32 -0700 evolve: rename variable "children" to "child" where it's clearly singular
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 22:23:32 -0700] rev 4732
evolve: rename variable "children" to "child" where it's clearly singular
Thu, 11 Jul 2019 16:24:13 -0700 evolve: remove some unused variables
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:24:13 -0700] rev 4731
evolve: remove some unused variables
Thu, 11 Jul 2019 09:38:42 -0700 py3: back out 23323092f0a7
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 09:38:42 -0700] rev 4730
py3: back out 23323092f0a7 D6623 has now been accepted in Mercurial (commit 83666f011679), so evolve commit 23323092f0a7 (py3: convert _origdoc to sysstr to match __doc__, 2019-07-09) is not longer needed.
Wed, 17 Jul 2019 18:06:14 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Jul 2019 18:06:14 +0200] rev 4729
branching: merge with stable
Wed, 17 Jul 2019 17:58:44 +0200 touch: fix the inconsistent behavior of divergence catching logic (issue6107) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Jul 2019 17:58:44 +0200] rev 4728
touch: fix the inconsistent behavior of divergence catching logic (issue6107) When touching a node, the way we check if it can lead to divergence is we look at the successors sets of the rev being touched. And if there is successor revs exists (excluding the case when that successor set is (A,) for rev A) that means there will be divergence and we warn the user. This works fine but there is still a case (which is not covered by looking at successor sets) which can lead to divergence. That case is: when there is already a revision exists which is divergent to the revision being touched. And performing the touch would revive that "dead" divergence. (Dead because one of the revision is obsolete which is the one we are touching) And to see if there is any rev which is divergent to a particular rev we already have a function which we can use here i.e. `evolvecmd.divergentsets(repo, ctx_being_touched)` Changes in test file demonstrate the fixed behaviour.
Sat, 29 Jun 2019 14:28:35 +0530 touch: add test which shows touch can fail to warn about divergence stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 29 Jun 2019 14:28:35 +0530] rev 4727
touch: add test which shows touch can fail to warn about divergence
Wed, 17 Jul 2019 17:58:40 +0200 touch: clarify some inline documentation stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Jul 2019 17:58:40 +0200] rev 4726
touch: clarify some inline documentation
Mon, 15 Jul 2019 16:53:07 -0700 tests: update output for new branch cache messsages from Mercurial
Martin von Zweigbergk <martinvonz@google.com> [Mon, 15 Jul 2019 16:53:07 -0700] rev 4725
tests: update output for new branch cache messsages from Mercurial This makes tests pass again after Mercurial commit c7d236b55a3e (py3: fix formatting of branchmap log messages with repo.filtername=None, 2019-07-14). CORE-TEST-OUTPUT-UPDATE: c7d236b55a3e
Sat, 13 Jul 2019 18:22:34 +0800 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net> [Sat, 13 Jul 2019 18:22:34 +0800] rev 4724
metaedit: allow operations on merge commits with some conditions As with fold (see the previous patch), it's allowed to metaedit a merge commit or a set of commits including merge commits (with --fold) as long as there are less than 2 parents of the set not included in the said set.
Thu, 11 Jul 2019 18:07:03 +0800 fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Jul 2019 18:07:03 +0800] rev 4723
fold: allow operations on merge commits with some conditions It's possible to fold revision chains that include a single merge commit: just fold everything into the merge commit while saving its other parent (so it continues being a merge commit). It's also possible to fold revisions that include multiple merge commits, on the condition that they merge with not more than 2 external changesets (i.e. a changesets that aren't going to be folded).
Thu, 11 Jul 2019 17:04:08 +0800 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Jul 2019 17:04:08 +0800] rev 4722
rewind: make sure merge commits include files from p1 and p2 Otherwise rewinding a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
Wed, 10 Jul 2019 18:16:38 +0800 touch: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net> [Wed, 10 Jul 2019 18:16:38 +0800] rev 4721
touch: make sure merge commits include files from p1 and p2 Otherwise touching a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
Tue, 09 Jul 2019 10:56:42 -0700 py3: make `import hgext3rd.evolve` work
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4720
py3: make `import hgext3rd.evolve` work
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for template keyword registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4719
py3: use bytes for template keyword registrations This makes `import hgext3rd.topic` work.
Tue, 09 Jul 2019 10:56:42 -0700 py3: convert _origdoc to sysstr to match __doc__
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4718
py3: convert _origdoc to sysstr to match __doc__ It's currently stored as bytes by core, so we need to convert it to match Python's expected type for __doc__. This patch can be dropped if D6623 gets accepted.
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for revset predicate registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4717
py3: use bytes for revset predicate registrations
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for wireprotocol command registration
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4716
py3: use bytes for wireprotocol command registration
Tue, 09 Jul 2019 10:56:42 -0700 py3: use byte strings for @command registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4715
py3: use byte strings for @command registrations
Wed, 03 Jul 2019 11:13:47 -0700 py3: switch from iteritems() to items()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Jul 2019 11:13:47 -0700] rev 4714
py3: switch from iteritems() to items()
Wed, 03 Jul 2019 11:37:29 -0700 py3: make metadata values be byte strings as Mercurial expects
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Jul 2019 11:37:29 -0700] rev 4713
py3: make metadata values be byte strings as Mercurial expects
Tue, 09 Jul 2019 21:49:37 -0700 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 21:49:37 -0700] rev 4712
tests: update output for shorted prompts from Mercurial This makes tests pass again after Mercurial commits f802a75da585 (patch: use a short, fixed-size message for last line of prompt (issue6158), 2019-06-20). CORE-TEST-OUTPUT-UPDATE: f802a75da585
Thu, 11 Jul 2019 10:07:39 +0200 tests: update output for shorted prompts from Mercurial
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Jul 2019 10:07:39 +0200] rev 4711
tests: update output for shorted prompts from Mercurial This makes tests pass again after Mercurial commits 4764e8436b2a (filemerge: make last line of prompts <40 english chars (issue6158), 2019-06-20) CORE-TEST-OUTPUT-UPDATE: 4764e8436b2a
Tue, 09 Jul 2019 17:08:34 +0800 rewriteutil: allow rewriting merge commits (issue4561)
Anton Shestakov <av6@dwimlabs.net> [Tue, 09 Jul 2019 17:08:34 +0800] rev 4710
rewriteutil: allow rewriting merge commits (issue4561) This patch simply allows rewriteutil.rewrite() to work with commits with multiple parents (i.e. merges). That function is used in such commands as fold, metaedit, touch, rewind. The issue 4561 is marked as easy, the limitation is called unnecessary, no tests fail after this change. What can go wrong.
Tue, 09 Jul 2019 17:02:44 +0800 tests: show what happens when trying to hg touch a merge commit
Anton Shestakov <av6@dwimlabs.net> [Tue, 09 Jul 2019 17:02:44 +0800] rev 4709
tests: show what happens when trying to hg touch a merge commit
Thu, 04 Jul 2019 17:32:58 +0200 evolve: further clarify that update is performed only when requested stable
kevpeng@google.com [Thu, 04 Jul 2019 17:32:58 +0200] rev 4708
evolve: further clarify that update is performed only when requested Text further modified by Pierre-Yves David and Anton Shestakov.
Fri, 14 Jun 2019 22:46:58 +0530 touch: let's not use util.acceptintervention() as it's not required
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 14 Jun 2019 22:46:58 +0530] rev 4707
touch: let's not use util.acceptintervention() as it's not required
Thu, 04 Jul 2019 16:55:57 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Jul 2019 16:55:57 +0200] rev 4706
branching: merge with stable
Wed, 26 Jun 2019 21:11:25 +0530 evolve: use right value for branch name when finding branch heads
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 26 Jun 2019 21:11:25 +0530] rev 4705
evolve: use right value for branch name when finding branch heads subbranch already formatted as "branchname:topicname", again appending it with ":topicname" doesn't not make sense. It's a little bit surprising that no tests fails though.
Tue, 25 Jun 2019 21:54:22 +0530 evolve: fix confusion in branch heads checking logic when topic in play
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Jun 2019 21:54:22 +0530] rev 4704
evolve: fix confusion in branch heads checking logic when topic in play To provide some context, when topics are in play the branchmap cache we store contains the branch info of a rev as "branch:topic" format IIUC. Assuming that is right, now in present code we don't actually cover this part that "when looking for branch heads where we also have active topic we should look for branch='branch_name:topic' instead". And we get wrong branch heads as a result. This patch make sure that we pass right candidate to find branch heads using branchmap.branchheads() by overriding the localrepo.branchheads() Changes in test file reflect the fixed behavior.
Sun, 14 Apr 2019 12:55:46 +0530 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 14 Apr 2019 12:55:46 +0530] rev 4703
topic: add tests to demonstrate topic confuses the branchhead checking logic While topics are in play, we store the branchheads (which has a topic) in "branchname:topicname" format. After digging into it I found that even in the case when we should have branch heads for "bname:tname" we get heads for "bname". The tests output reflect the confusion in branch head checking logic. Next patch will be fixing the problem.
Mon, 01 Jul 2019 19:15:57 +0530 evolve: fix the inconsistent behaviour of prune (issue6137) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Jul 2019 19:15:57 +0530] rev 4702
evolve: fix the inconsistent behaviour of prune (issue6137) Let's not update to any revision when working directory parent is not related to the revision being pruned. Changes in test file demonstrate the fixed behaviour.
Tue, 02 Jul 2019 21:00:46 +0530 prune: add tests to demonstrate issue6137 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Jul 2019 21:00:46 +0530] rev 4701
prune: add tests to demonstrate issue6137 Here we can see that prune updates off to the parent revision even when the pruned revision wasn't related with the working directory parent. A follow-up patch will fix this.
Sun, 30 Jun 2019 23:50:57 +0530 compat: fix `setupevolveunfinished` for upstream
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 30 Jun 2019 23:50:57 +0530] rev 4700
compat: fix `setupevolveunfinished` for upstream
Sat, 29 Jun 2019 18:21:57 +0800 prune: update to the successor of wdir also with --pair/--biject (issue6142) stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Jun 2019 18:21:57 +0800] rev 4699
prune: update to the successor of wdir also with --pair/--biject (issue6142) When prune is used with --pair flag, we can also update to the successor of working directory parent. No need to check len(sucs) or len(precs) here because there's a check for that earlier in the code (it's a requirement of biject). The tests are now demonstrate the correct behavior: when rev 14 was pruned with 12 as its successor, the bookmark that was on 14 was moved to 12. That bookmark was also activated (even before this patch).
Sat, 22 Jun 2019 18:37:21 +0800 tests: demonstrate prune --pair not moving bookmark correctly stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 22 Jun 2019 18:37:21 +0800] rev 4698
tests: demonstrate prune --pair not moving bookmark correctly After `mkcommit n2` line the bookmark is on the correct changeset, but when we prune --pair the two newly created changesets (revs 13 and 14), the bookmark gets moved to their ancestor (rev 0). Instead, it should've moved to the last of their successors (rev 12).
Tue, 02 Jul 2019 10:17:42 +0200 oops: backed out changeset 7ac40b4ea24c
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Jul 2019 10:17:42 +0200] rev 4697
oops: backed out changeset 7ac40b4ea24c Anton requested some changes on it.
Sun, 30 Jun 2019 23:50:57 +0530 compat: fix `setupevolveunfinished` for upstream
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 30 Jun 2019 23:50:57 +0530] rev 4696
compat: fix `setupevolveunfinished` for upstream
Sun, 16 Jun 2019 23:39:55 +0530 evolve: fix the code flow pattern of solving obswdir par and troubled revs
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 16 Jun 2019 23:39:55 +0530] rev 4695
evolve: fix the code flow pattern of solving obswdir par and troubled revs Now we will go to _handlenotrouble() (which prints messages about no revs to solve) only when there is no troubled revs and working dir parent is not obsolete. This change also saves us from an issue which was about looking into the revset (smartset contains troubled revs to solve) when a rev from the revset gets hidden. This happens in the case when our wdir parent is obsolete. After resolving obswdir parent we were looking into the revset to check if there is any troubled revs to solve but we should have performed this check before performing the obswdir resolution. Changes in test file reflect this fixed behaviour.
Sun, 09 Jun 2019 12:07:08 +0530 evolve: refactor for consistent behavior of evolve when wdp is obsolete
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 09 Jun 2019 12:07:08 +0530] rev 4694
evolve: refactor for consistent behavior of evolve when wdp is obsolete This patch make sure that when working directory parent is obsolete `hg evolve` and `hg evolve --all` don't behave differently.
Sat, 15 Jun 2019 17:17:19 +0530 evolve: backout 3027005c42c3 to reintroduce a bug for right fix
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 15 Jun 2019 17:17:19 +0530] rev 4693
evolve: backout 3027005c42c3 to reintroduce a bug for right fix This patch backout 3027005c42c3 as it was accepted by mistake while it was being "in-discussion" state.
Fri, 14 Jun 2019 18:17:03 +0800 pick: register pickstate as an unfinished state stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:17:03 +0800] rev 4692
pick: register pickstate as an unfinished state This way pickstate file will indicate that unfinished pick command needs to be dealt with (--continue or --abort) before modifying the repo. Otherwise it would be e.g. possible to commit during an interrupted pick and that's not expected.
Fri, 14 Jun 2019 18:14:57 +0800 pick: rename variable for unfinishedstates stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:14:57 +0800] rev 4691
pick: rename variable for unfinishedstates
Fri, 14 Jun 2019 18:26:24 +0800 pick: actually delete pickstate if --abort is given stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:26:24 +0800] rev 4690
pick: actually delete pickstate if --abort is given Makes pick to be, uh, actually aborted.
Tue, 18 Jun 2019 17:17:31 +0800 evolve: orphans that evolve into nothing don't need successors (issue5967) stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Jun 2019 17:17:31 +0800] rev 4689
evolve: orphans that evolve into nothing don't need successors (issue5967) When continuing to solve an orphan that created no changes (i.e. clean wdir), _completeorphan() used to create an obsmarker that said that the result of that orphan evolution is the currently checked out changeset. That's not a correct obsmarker, because all of the orphan's changes were dropped and so it had no effect on the currently checked out changeset. This is an issue that has only existed when --continu'ing evolve, that's why the fix touches _completeorphan(), but not _solveunstable(). This fix is adapted from a similar "if node is None" block in _finalizerelocate().
Sat, 22 Dec 2018 18:31:32 +0800 tests: demonstrate obsmarker creation after discarding conflicting changes stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 22 Dec 2018 18:31:32 +0800] rev 4688
tests: demonstrate obsmarker creation after discarding conflicting changes Continued evolve creates an incorrect obsmarker that says 2 is a successor of 1. It's incorrect because 1 was dropped as it created no changes to commit (after conflict resolution that discarded its changes). If evolve does the same thing in one go (e.g. just by using --tool :local and without subsequent need to continue) the obsmarker is correct.
Fri, 07 Jun 2019 18:14:48 +0800 pick: remove transaction on the whole command (issue6037) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 07 Jun 2019 18:14:48 +0800] rev 4687
pick: remove transaction on the whole command (issue6037) At its core, pick is a pretty straightforward and well-behaving command, it uses functions already in core hg, it checks that wdir is clean and that changeset to pick is not public, it checks if there happen to be merge conflicts and can be --continue'd later, etc. It is very similar to graft in core (it also uses mergemod.graft function), but it obsoletes the original changeset. However, graft does not experience this incorrect behavior from issue 6037. What happens in the test case for this issue when we pick a revision that touches both "a" and "b": mergemod.graft() takes the original changeset and tries to apply it to the wdir, which results in "b" being marked as newly added and ready to be committed, "a" updated with the new content and being marked as modified, but "a" also has conflicts. Pick correctly notices this and saves its state before asking for user intervention. So far so good. However, when the command raises InterventionRequired to print a user-facing message and exit while being wrapped in repo.transaction() context manager, the latter partially undoes what mergemod.graft() did: it unmarks "b" as added. And when user continues pick, "b" is therefore not tracked and is not included in the resulting commit. The transaction is not useful here, because it doesn't touch wdir (it's still dirty), it doesn't remove pickstate (and other commands will refuse to work until pick --abort or --continue), it just makes "b" untracked. The solution is to use repo.transaction() only to wrap code that writes data to hg store in the final stages of the command after all checks have passed and is not expected to fail on trivial cases like merge conflicts. For example, committing the picked changeset. But since pick uses repo.commit() for that, and because that function already uses a transaction, wrapping it in another transaction doesn't make sense.
Sun, 23 Dec 2018 01:02:36 +0800 tests: demonstrate hg pick forgetting files after conflicts stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 23 Dec 2018 01:02:36 +0800] rev 4686
tests: demonstrate hg pick forgetting files after conflicts This test currently passes to show that pick is behaving incorrectly.
Thu, 13 Jun 2019 13:27:26 +0800 packaging: follow hg's supported python version (>= 2.7) stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Jun 2019 13:27:26 +0800] rev 4685
packaging: follow hg's supported python version (>= 2.7) "Mercurial 4.3 and newer require Python 2.7." (From https://www.mercurial-scm.org/wiki/SupportedPythonVersions) Also add X- prefix, because that's the correct form, apparently. This line can also be removed in future, since "When Debian supported multiple Python versions, X-Python-Version was used, but it is obsolete now as no supported Debian release supports anything other than python2.7." (From https://wiki.debian.org/Python/LibraryStyleGuide) That page also mentions "X-Python3-Version".
Thu, 13 Jun 2019 13:19:44 +0800 packaging: require hg 4.5 also for usage, not just for building stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Jun 2019 13:19:44 +0800] rev 4684
packaging: require hg 4.5 also for usage, not just for building
Tue, 11 Jun 2019 10:04:11 +0200 packaging: require mercurial >= 4.5 stable
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 11 Jun 2019 10:04:11 +0200] rev 4683
packaging: require mercurial >= 4.5 Otherwise building the doc package fails with: (third party extension evolve requires version 4.5 or newer of Mercurial; disabling) Exception occurred: File "/usr/lib/python2.7/dist-packages/mercurial/help.py", line 624, in help_ raise error.Abort(msg, hint=hint) Abort: no such help topic: evolve
Sat, 08 Jun 2019 16:03:05 +0530 evolve: clarify why returning by adding inline doc
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 08 Jun 2019 16:03:05 +0530] rev 4682
evolve: clarify why returning by adding inline doc
Sat, 08 Jun 2019 15:59:31 +0530 evolve: move a code block to have right value in has_some_val
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 08 Jun 2019 15:59:31 +0530] rev 4681
evolve: move a code block to have right value in has_some_val Because of this we were having wrong value of has_some_val and had some buggy behavior which is being fixed by this patch. Fixed behavior is reflected by the changes in test file.
Sat, 27 Apr 2019 13:09:34 +0530 topic: add tests which demonstrate topicset failure of FilteredRepoLookupError
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 27 Apr 2019 13:09:34 +0530] rev 4680
topic: add tests which demonstrate topicset failure of FilteredRepoLookupError When topics are used, it fails to find hidden revs mentioned in a revset as we are not using unfiltered view of repo. Next patch will fix it.
Sat, 08 Jun 2019 16:57:34 +0800 pick: reduce configoverride() scope
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:57:34 +0800] rev 4679
pick: reduce configoverride() scope Merge tool is only needed for merge.graft() (it's what graft in core hg does), so let's make the scope of the ui.configoverride() narrower.
Sat, 08 Jun 2019 16:09:37 +0800 evolve: correct action verb in a message
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:09:37 +0800] rev 4678
evolve: correct action verb in a message
Sat, 08 Jun 2019 16:06:24 +0800 evolve: internationalize a message
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:06:24 +0800] rev 4677
evolve: internationalize a message This exact message was already wrapped in _() in the same file, just not here.
Thu, 06 Jun 2019 17:37:42 +0800 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net> [Thu, 06 Jun 2019 17:37:42 +0800] rev 4676
evolvecmd: the proper way to deal with conflicts is to resolve them And it's worth making the suggestion an actual hint.
Wed, 05 Jun 2019 17:56:44 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:56:44 +0200] rev 4675
test-compat: merge mercurial-4.5 into mercurial-4.4
Wed, 05 Jun 2019 17:46:06 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:46:06 +0200] rev 4674
test-compat: merge mercurial-4.6 into mercurial-4.5
Wed, 05 Jun 2019 17:45:45 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:45:45 +0200] rev 4673
test-compat: merge mercurial-4.7 into mercurial-4.6
Wed, 05 Jun 2019 17:42:50 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:42:50 +0200] rev 4672
test-compat: merge mercurial-4.8 into mercurial-4.7
Wed, 05 Jun 2019 17:39:32 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:39:32 +0200] rev 4671
test-compat: merge mercurial-4.9 into mercurial-4.8
Wed, 05 Jun 2019 17:38:32 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:38:32 +0200] rev 4670
test-compat: merge stable into mercurial-4.9
Fri, 07 Jun 2019 02:25:02 +0200 branching: merge with 9.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:25:02 +0200] rev 4669
branching: merge with 9.0.0
Fri, 07 Jun 2019 02:24:08 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:24:08 +0200] rev 4668
branching: merge back with stable
Fri, 07 Jun 2019 02:22:05 +0200 packaging: mark as development versions stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:22:05 +0200] rev 4667
packaging: mark as development versions This help to distinct official release from in progress work.
Fri, 07 Jun 2019 02:15:50 +0200 Added tag 9.0.0 for changeset 756db65030c6 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:15:50 +0200] rev 4666
Added tag 9.0.0 for changeset 756db65030c6
Thu, 06 Jun 2019 14:24:19 +0200 packaging: prepare release 9.0.0 stable 9.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 14:24:19 +0200] rev 4665
packaging: prepare release 9.0.0
Thu, 06 Jun 2019 14:32:25 +0200 doc: clarify the status of configuration of the obshashrange protocol stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 14:32:25 +0200] rev 4664
doc: clarify the status of configuration of the obshashrange protocol
Thu, 06 Jun 2019 13:26:44 +0200 changelog: add various missing bits stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 13:26:44 +0200] rev 4663
changelog: add various missing bits
Wed, 05 Jun 2019 19:45:35 +0200 templatekw: keep compatibility with Mercurial 4.5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 19:45:35 +0200] rev 4662
templatekw: keep compatibility with Mercurial 4.5 This is simple enough to do.
Wed, 05 Jun 2019 17:21:45 +0200 test: adjust output to stable branch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:21:45 +0200] rev 4661
test: adjust output to stable branch We are about to make a release.
Tue, 04 Jun 2019 11:08:44 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 11:08:44 +0200] rev 4660
branching: merge with stable
Sat, 01 Jun 2019 02:30:14 +0200 templates: don't alias keywords directly stable
Joerg Sonnenberger <joerg@bec.de> [Sat, 01 Jun 2019 02:30:14 +0200] rev 4659
templates: don't alias keywords directly Putting the same function twice in the registry results in duplicate doc strings and therefore confusing "hg help template" output.
Tue, 28 May 2019 16:46:18 +0800 stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 May 2019 16:46:18 +0800] rev 4658
stack: remove 'topic.' prefix from colors/labels Stack is related to topics, sure, but it is also good enough to be recognized on its own.
Sat, 18 May 2019 16:56:47 +0800 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net> [Sat, 18 May 2019 16:56:47 +0800] rev 4657
stack: handle hash sizes when --debug flag is provided Since showstack() now uses fm.hexfunc() for node hashes, which depends on ui.debugflag, we should handle situations when hashes are full-sized as well.
Fri, 17 May 2019 17:50:25 +0800 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:50:25 +0800] rev 4656
stack: always provide (full) node hash to non-default --template
Fri, 17 May 2019 17:42:06 +0800 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:42:06 +0800] rev 4655
stack: remove unnecessary prefix from stack output with non-default --template "index" template keyword already exists (the current iteration of the loop), so "stack_index" it is. It follows the same convention as other template keywords, such as "files_added", "line_number", etc.
Fri, 17 May 2019 17:59:58 +0800 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:59:58 +0800] rev 4654
stack: provide context to formatter with non-default --template This allows using template keywords that we don't explicitly provide to the formatter, e.g. rev, branch and topic.
Sat, 11 May 2019 17:14:32 +0800 stack: leverage labelsgen() to produce all needed labels for fm.write()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 May 2019 17:14:32 +0800] rev 4653
stack: leverage labelsgen() to produce all needed labels for fm.write()
Wed, 08 May 2019 16:00:34 +0800 stack: check if stack is empty more pythonically
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 May 2019 16:00:34 +0800] rev 4652
stack: check if stack is empty more pythonically
Wed, 08 May 2019 15:57:54 +0800 stack: implement __bool__ and __nonzero__
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 May 2019 15:57:54 +0800] rev 4651
stack: implement __bool__ and __nonzero__
Sun, 05 May 2019 17:39:46 +0800 stack: get stack data directly from stack and remove stackdata()
Anton Shestakov <av6@dwimlabs.net> [Sun, 05 May 2019 17:39:46 +0800] rev 4650
stack: get stack data directly from stack and remove stackdata() stackdata function began its life in 137f8b04901e as a proto-stack: it computed stack revs on its own and only had one property to return, "changesetcount". Later it started to prepare and return more properties, but since b933a8068c17 it was computing revs using a getstack function. And then finally in 17749d9d3968 it started to rely on stack class entirely. It was a good function, but now, when all the logic it provided was factored into stack class, I'd say it's finally time for it to be put to rest.
Sun, 05 May 2019 16:14:53 +0800 stack: use stack._revs instead of stack.revs[1:] in external children revset
Anton Shestakov <av6@dwimlabs.net> [Sun, 05 May 2019 16:14:53 +0800] rev 4649
stack: use stack._revs instead of stack.revs[1:] in external children revset The revset in question excludes all revs that are part of the stack. Using stack.revs[1:] works (rev #0 is stack base, which is not a part of the stack), but using stack._revs is technically more correct, because this variable is specifically designed to hold only revisions that are part of the stack.
Tue, 04 Jun 2019 10:30:56 +0200 test: update output to match the parent changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 10:30:56 +0200] rev 4648
test: update output to match the parent changesets This amend was forgotten.
Mon, 27 May 2019 03:42:35 +0200 topic: add a simple option to reject publishing
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 03:42:35 +0200] rev 4647
topic: add a simple option to reject publishing The option is pretty basic but it can be used as base to build larger feature. The main target for going in this direction is to be able to distinct between user that are "simple contributors" pushing topic for review and the "maintainers" or "automation" that can publish changesets.
Tue, 04 Jun 2019 10:07:08 +0200 compat: adjust `wrapadd` for upstream
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 10:07:08 +0200] rev 4646
compat: adjust `wrapadd` for upstream Mercurial core updated the API in f385ba70e4af.
Sun, 05 May 2019 22:48:41 +0530 debian: override default value for SPHINXBUILD in docs/makefile stable
Faheem Mitha <faheem@faheem.info> [Sun, 05 May 2019 22:48:41 +0530] rev 4645
debian: override default value for SPHINXBUILD in docs/makefile This is the recommended Debian approach. As suggested by Debian Developer Stephen Kitt, use the approach recommended by Debian for building Sphinx documentation. See https://wiki.debian.org/Python/LibraryStyleGuide#Sphinx_documentation Also belated credit to Zash on the #mercurial channel on the Freenode IRC network, who suggested the Make variable approach in the first place.
Mon, 27 May 2019 02:19:48 +0200 obshashtree: move obshashtree in its own module
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 02:19:48 +0200] rev 4644
obshashtree: move obshashtree in its own module The code no longer serve a core purpose. We just keep it because the command might be useful. We move it in a dedicated module so that it does not get in the way of other work.
Mon, 27 May 2019 01:53:36 +0200 obsdiscovery: drop `obshash` discovery protocol (issue6136)
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 01:53:36 +0200] rev 4643
obsdiscovery: drop `obshash` discovery protocol (issue6136) The protocol has been superseeded by stablerange for a long time. It is untested and more and more buggy. Since this is deprecated experimental code in an experimental code, we drop it. We keep the underlying computation and debug command around for now. They might still be useful to looks at repositories
Thu, 09 May 2019 09:42:51 -0700 cmdrewrite: use context manager for some locks and transactions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 May 2019 09:42:51 -0700] rev 4642
cmdrewrite: use context manager for some locks and transactions These were the trivial cases where I didn't even need to extend the scope of a transaction or change indentation to fix it.
Mon, 29 Apr 2019 23:43:16 +0530 evolve: mention that --all is default, in list of options
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 29 Apr 2019 23:43:16 +0530] rev 4641
evolve: mention that --all is default, in list of options
Mon, 13 May 2019 18:47:58 +0530 touch: use util.acceptintervention() for closing the transaction
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:47:58 +0530] rev 4640
touch: use util.acceptintervention() for closing the transaction It will close the transaction on InterventionRequired.
Mon, 13 May 2019 18:45:00 +0530 touch: use context manager for locks
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:45:00 +0530] rev 4639
touch: use context manager for locks
Mon, 13 May 2019 18:39:43 +0530 touch: extract the logic of touching rev's to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:39:43 +0530] rev 4638
touch: extract the logic of touching rev's to its own function This refactoring will also help us in using the context manager for locks in next patches and also help reducing the nested depth.
Mon, 27 May 2019 02:42:11 +0200 changelog: mention user merging in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 02:42:11 +0200] rev 4637
changelog: mention user merging in the changelog
Sun, 05 May 2019 18:24:59 +0530 evolve: consider using three way merge to get the user for div resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:59 +0530] rev 4636
evolve: consider using three way merge to get the user for div resolution This patch adds the logic to merge the users from two divergent csets considering the base (i.e three way merge). The case when all the three are different, we concatenate the two authors of divergent csets.
Sun, 05 May 2019 18:24:50 +0530 evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:50 +0530] rev 4635
evolve: add tests for the case when div csets has different users
Fri, 03 May 2019 01:23:12 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 May 2019 01:23:12 +0200] rev 4634
branching: merge with stable
Fri, 26 Apr 2019 01:20:08 +0530 evolve: move status msg to verbose mode in content-divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Apr 2019 01:20:08 +0530] rev 4633
evolve: move status msg to verbose mode in content-divergence resolution As suggested by Pierre-Yves, lets move these too verbose message for the user to verbose mode to decrease some noise.
Fri, 03 May 2019 03:52:44 +0530 debian: Override default value for SPHINXBUILD in docs/makefile stable
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:52:44 +0530] rev 4632
debian: Override default value for SPHINXBUILD in docs/makefile Sphinx now defaults to Python 3 in Debian Buster, so we need to explicitly select the Python 2 version of sphinx-build for building docs.
Fri, 03 May 2019 03:44:48 +0530 docs: add SPHINXBUILD make variable stable
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:44:48 +0530] rev 4631
docs: add SPHINXBUILD make variable This defaults to sphinx-build. The current use case is for the Evolve Debian package build.
Sat, 27 Apr 2019 20:56:37 +0530 topic: add test to increase code coverage in case of multiple topics stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 27 Apr 2019 20:56:37 +0530] rev 4630
topic: add test to increase code coverage in case of multiple topics This patch adds a test which cover the part that when we have one topic on top of other topic, this make sure that when evolving it's boundary are the current active topic (i.e hg stack)
Sat, 27 Apr 2019 17:11:12 +0800 changelog: --no-update is the default, recommend --update instead
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Apr 2019 17:11:12 +0800] rev 4629
changelog: --no-update is the default, recommend --update instead
Sat, 27 Apr 2019 01:18:08 +0300 topic: drop support for accessing csets in branch stack using bxx (issue6119)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Apr 2019 01:18:08 +0300] rev 4628
topic: drop support for accessing csets in branch stack using bxx (issue6119) When topic extension is enabled and we have some cset whose hash is `b1234`, topic extension thinks that we are accessing 1234 cset in current branch stack. However that's not the case generally. Also I am not sure many people use this bxxx thing. Since we have a generic sxxx way to access csets, let's drop support for accessing csets using bxx which leads to bad behavior. Looking at the tests, we don't show bxxx in hg stack output anymore. I update the test to use sxxx instead of bxxxx.
Mon, 29 Apr 2019 23:16:29 -0400 legacy: drop the check for `obsolete._enabled` stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Apr 2019 23:16:29 -0400] rev 4627
legacy: drop the check for `obsolete._enabled` This looks like an ancient version check, and presumably `minimumhgversion` will do the same thing.
Sun, 28 Apr 2019 00:21:28 -0400 docs: drop references to the old temporary commit that was created with amend
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Apr 2019 00:21:28 -0400] rev 4626
docs: drop references to the old temporary commit that was created with amend The sharing.rst page also mentions amend, but the diagrams aren't showing, so I'm not sure if they're in some other repo and needing to be updated.
Sat, 27 Apr 2019 22:45:16 -0400 templatekw: add `instabilities` alias for `troubles`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:45:16 -0400] rev 4625
templatekw: add `instabilities` alias for `troubles` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 22:59:48 -0400 revset: switch internal uses and tests to `predecessors` from legacy name
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:59:48 -0400] rev 4624
revset: switch internal uses and tests to `predecessors` from legacy name
Sat, 27 Apr 2019 22:33:16 -0400 revset: add `predecessor` aliases for `precursors` and `allprecursors`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:33:16 -0400] rev 4623
revset: add `predecessor` aliases for `precursors` and `allprecursors` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 22:24:30 -0400 revset: add `unstable` alias for `troubled`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:24:30 -0400] rev 4622
revset: add `unstable` alias for `troubled` Per https://www.mercurial-scm.org/wiki/CEDVocabulary. The old name is still available (but undocumented) for compatibility. `Orphan` was renamed from `unstable` in core in 4.4, so this seems safe to do now.
Sat, 27 Apr 2019 21:54:52 -0400 docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:54:52 -0400] rev 4621
docs: change `bumped` references to `phase-divergent` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:41:04 -0400 docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:41:04 -0400] rev 4620
docs: change `divergent` references to `content-divergent` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:27:54 -0400 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:27:54 -0400] rev 4619
docs: change `troubled` references to `unstable` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:24:18 -0400 docs: change `unstable` references to `orphan`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:24:18 -0400] rev 4618
docs: change `unstable` references to `orphan` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:09:47 -0400 doc: correct a typo
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:09:47 -0400] rev 4617
doc: correct a typo
Sat, 27 Apr 2019 19:42:42 -0400 docs: change `troubles` references to `instability`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:42:42 -0400] rev 4616
docs: change `troubles` references to `instability` Per https://www.mercurial-scm.org/wiki/CEDVocabulary. There are a couple instances of 'troublesome' which probably need a word, as deriviatives of 'instability' didn't really fit. At least some of these are in the unlinked obs-terms.rst page.
Sat, 27 Apr 2019 19:32:03 -0400 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:32:03 -0400] rev 4615
docs: change `precursors` references to `predecessors` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 14:42:48 -0400 docs: import figure diagrams with inkscape 0.92
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 14:42:48 -0400] rev 4614
docs: import figure diagrams with inkscape 0.92 No changes to the content here. This simply accepts the default option ("This file contains digital artwork for screen display") on the prompt when first opened, which is trying to upgrade from 90DPI to 96DPI.
Thu, 25 Apr 2019 15:14:21 -0700 messages: standardize on "working copy is now at" including "is"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 15:14:21 -0700] rev 4613
messages: standardize on "working copy is now at" including "is" It seemed that we mostly used "is", but `hg next` and `hg prune` could print it without the "is".
Thu, 25 Apr 2019 13:58:29 -0700 evolve: move more of the progress-related variables together
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 13:58:29 -0700] rev 4612
evolve: move more of the progress-related variables together
Thu, 25 Apr 2019 14:02:11 -0700 evolve: delete dead calculation of number of troubled revisions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 14:02:11 -0700] rev 4611
evolve: delete dead calculation of number of troubled revisions The "count" variable is recalculated in the regular (no --continue) code path and it isn't used anywhere else (it used to be set to 1 in the --continue code path, but that now has its own progress counting).
Fri, 19 Apr 2019 10:23:53 -0700 evolve: drop nested locks and transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:23:53 -0700] rev 4610
evolve: drop nested locks and transactions All callers of _solveone() now take the locks and start the transactions, so there's no need to do that anymore.
Fri, 19 Apr 2019 11:12:00 -0700 next: start transaction before calling _solveone()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:12:00 -0700] rev 4609
next: start transaction before calling _solveone() All other callers do this, and I'm about to make _solveone() not create a transaction.
Fri, 19 Apr 2019 10:22:25 -0700 evolve: use single transaction also when continuing
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:22:25 -0700] rev 4608
evolve: use single transaction also when continuing
Fri, 19 Apr 2019 09:41:39 -0700 evolve: run in a single transaction
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 09:41:39 -0700] rev 4607
evolve: run in a single transaction This speeds up `hg evolve --all` of a stack of 24 commits in the hg repo from 11.5s to 3.7s (3x). As can be seen in the tests, it also avoid some warnings about transiently unstable commits.
Fri, 19 Apr 2019 10:01:32 -0700 evolve: extract function for solving one revision, including merges
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:01:32 -0700] rev 4606
evolve: extract function for solving one revision, including merges Will make the next patch simpler.
Thu, 25 Apr 2019 17:20:32 +0800 evolve: mention that --all is the default behavior now
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:20:32 +0800] rev 4605
evolve: mention that --all is the default behavior now
Thu, 25 Apr 2019 17:19:41 +0800 evolve: mention that not all successful operations currently update wdir
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:19:41 +0800] rev 4604
evolve: mention that not all successful operations currently update wdir
Tue, 23 Apr 2019 11:07:28 -0700 evolve: add progress support for --continue
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:07:28 -0700] rev 4603
evolve: add progress support for --continue The progress starts where it left off when the previous command ran into merge conflicts.
Tue, 23 Apr 2019 10:56:42 -0700 evolve: reduce scope of progress-related variables
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:56:42 -0700] rev 4602
evolve: reduce scope of progress-related variables
Tue, 23 Apr 2019 10:49:47 -0700 evolve: move progress-clearing out of _cleanup()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:49:47 -0700] rev 4601
evolve: move progress-clearing out of _cleanup() The progress is only used with --all or --rev, so there's no need to clean it in any other case. It's therefore easier to clean it specifically in that case.
(0) -3000 -1000 -768 tip