Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:22:36 +0800] rev 5359
test-compat: back out changeset 4da1d21231ae
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 19:19:26 +0800] rev 5358
test-compat: back out changeset 7d0d066329f4
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.
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:46:20 +0800] rev 5356
Added tag 10.0.0 for changeset 0b5d1b0b3336
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:45:49 +0800] rev 5355
packaging: prepare evolve version 10.0.0
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:45:17 +0800] rev 5354
changelog: update for evolve 10.0.0
Anton Shestakov <av6@dwimlabs.net> [Fri, 08 May 2020 18:22:26 +0800] rev 5353
branching: merge into stable in preparation for release
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.
Anton Shestakov <av6@dwimlabs.net> [Sun, 03 May 2020 15:39:56 +0800] rev 5351
changelog: summarize the last couple of features
Anton Shestakov <av6@dwimlabs.net> [Wed, 29 Apr 2020 21:57:59 +0800] rev 5350
obshistory: create _fatemarkers() similar to _originmarkers()
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.
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.
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.
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
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.
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.
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).
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.
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.
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.
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
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 May 2020 20:59:34 +0200] rev 5334
changelog: mention the sqlite fix
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.
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.
Anton Shestakov <av6@dwimlabs.net> [Sat, 02 May 2020 23:31:31 +0800] rev 5331
changelog: mention obsorigin template keyword
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Mar 2020 17:18:09 +0700] rev 5330
templatekw: add obsorigin keyword
Anton Shestakov <av6@dwimlabs.net> [Fri, 24 Apr 2020 01:14:34 +0800] rev 5329
obshistory: add predecessorsandmarkers()
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