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.
Tue, 23 Apr 2019 10:52:33 -0700 evolve: stop passing no-op "progresscb" into continueevolve()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:52:33 -0700] rev 4600
evolve: stop passing no-op "progresscb" into continueevolve() The "progresscb" doesn't do anything in the --continue case, so there's no need to pass it into continueevolve(). This lets us remove the --no-all that was added to the test as a workaround.
Tue, 23 Apr 2019 09:45:45 -0700 evolve: _solveunstable() update progress only once
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:45:45 -0700] rev 4599
evolve: _solveunstable() update progress only once There's no need to draw it, then possibly write text over it (with --verbose), and then draw it again.
Tue, 23 Apr 2019 09:35:34 -0700 evolve: don't update progress just before clearing it
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:35:34 -0700] rev 4598
evolve: don't update progress just before clearing it _cleanup() will clear the progress, so there's little reason to update it just before (except for progress.debug=yes).
Tue, 23 Apr 2019 09:31:32 -0700 evolve: clean up progress bar also when using -r
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:31:32 -0700] rev 4597
evolve: clean up progress bar also when using -r It looks like 1fe3da0b4601 (evolve: add --rev option to the evolve command, 2015-05-05) forgot to update the "showprogress" variable.
Tue, 23 Apr 2019 10:20:03 -0700 tests: add some basic testing of progress
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:20:03 -0700] rev 4596
tests: add some basic testing of progress
Fri, 19 Apr 2019 10:03:39 -0700 evolve: increment progress *after* a whole merge commit is done
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:03:39 -0700] rev 4595
evolve: increment progress *after* a whole merge commit is done The "re-stabilize" step was using the progress that was supposed to be for the next revision.
Fri, 19 Apr 2019 11:02:35 -0700 evolve: use util.acceptintervention() for closing transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:02:35 -0700] rev 4594
evolve: use util.acceptintervention() for closing transactions util.acceptintervention() will close the transaction on InterventionRequired.
Fri, 19 Apr 2019 10:32:32 -0700 evolve: use context manager for transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:32:32 -0700] rev 4593
evolve: use context manager for transactions
Fri, 19 Apr 2019 10:52:16 -0700 evolve: use consistent message and just re-raise InterventionRequired
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:52:16 -0700] rev 4592
evolve: use consistent message and just re-raise InterventionRequired
Fri, 19 Apr 2019 10:47:12 -0700 evolve: use standard InterventionRequired instead of MergeFailure
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:47:12 -0700] rev 4591
evolve: use standard InterventionRequired instead of MergeFailure
Fri, 19 Apr 2019 10:41:56 -0700 evolve: don't use exception for local flow control
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:41:56 -0700] rev 4590
evolve: don't use exception for local flow control The LocalMergeFailure class was added in 3f91654713dd (obsolete Move merge failure handling into stabilize code, 2012-08-20). I think the "if compat.hasconflict(r)" check was added later. Now that we have that check, we should use that for flow control instead. Note that this means that any unexpected exception from _relocatecommit() will now just raise (and roll back the transaction). I think that's an improvement.
Tue, 23 Apr 2019 11:02:08 -0700 evolve: reduce indentation with an early return statement
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:02:08 -0700] rev 4589
evolve: reduce indentation with an early return statement
Tue, 23 Apr 2019 11:01:44 -0700 evolve: remove a useless return statement at end of function
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:01:44 -0700] rev 4588
evolve: remove a useless return statement at end of function
Sun, 21 Apr 2019 13:04:40 +0530 test: move a test to an appropriate test file
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 13:04:40 +0530] rev 4587
test: move a test to an appropriate test file This patch introduce a new test file test-evolve-orphan-corner-cases.t for tests which covers corner cases.
Sun, 21 Apr 2019 12:07:26 +0530 test: improve the title of a test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:07:26 +0530] rev 4586
test: improve the title of a test
Sun, 21 Apr 2019 12:06:31 +0530 test: remove duplicated test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:06:31 +0530] rev 4585
test: remove duplicated test We have the test in test-evolve-orphan-split.t which is covering the same case this test does. Also this test states that evolve shows some error in split case, but now this is not the case we update to the top of splitted csets.
Sat, 09 Mar 2019 19:35:45 +0530 evolve: warn user for the metadata being lost in public divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 09 Mar 2019 19:35:45 +0530] rev 4584
evolve: warn user for the metadata being lost in public divergence resolution This patch print warnings if some "extras" of a divergent changeset that is possibly important metadata which is being lost during the resolution of public divergence.
Wed, 17 Apr 2019 21:16:17 +0530 evolve: show a status message when merging leads to public cset
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Apr 2019 21:16:17 +0530] rev 4583
evolve: show a status message when merging leads to public cset I think it would be fine to tell the user that merging the two divergent csets while resolving public divergence resulted into the public cset itself. If you think we don't need to tell the user, then we can include this in debug-mode for debugging purposes at least.
Wed, 24 Apr 2019 20:32:01 +0200 test: use a shorter test name
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Apr 2019 20:32:01 +0200] rev 4582
test: use a shorter test name This is still long but easier to read.
Wed, 10 Apr 2019 18:20:33 +0800 stack: rename troubledcount to unstablecount
Anton Shestakov <av6@dwimlabs.net> [Wed, 10 Apr 2019 18:20:33 +0800] rev 4581
stack: rename troubledcount to unstablecount
Wed, 24 Apr 2019 17:21:21 +0800 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:21:21 +0800] rev 4580
evolve: use --all by default (BC) allopt defaults to None to avoid touching _checkevolveopts(). If it were True by default, that function would always act like the flag was provided by user, and so using --abort, --stop, --continue or --rev on their own would never work (hg evolve will complain that you cannot specify both --rev and --all). A notable change in tests is "no troubled changesets" line that gets printed when using `hg evolve` to update to the evolved successor of working directory parent, but there were no actual instabilities.
Wed, 24 Apr 2019 17:02:27 +0800 tests: add --rev to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:02:27 +0800] rev 4579
tests: add --rev to hg evolve to reduce test changes for the next patch
Wed, 24 Apr 2019 16:35:01 +0800 tests: add --no-all to hg evolve to reduce test changes
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 16:35:01 +0800] rev 4578
tests: add --no-all to hg evolve to reduce test changes
Wed, 24 Apr 2019 15:59:02 +0200 evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 15:59:02 +0200] rev 4577
evolve: don't update after instability resolution by default (BC)
Sun, 14 Apr 2019 02:18:19 +0800 tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Apr 2019 02:18:19 +0800] rev 4576
tests: add --update to hg evolve to reduce test changes for the next patch
Wed, 24 Apr 2019 15:57:49 +0200 tests: don't create a nested repo for no reason
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 15:57:49 +0200] rev 4575
tests: don't create a nested repo for no reason
Wed, 24 Apr 2019 14:38:26 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Apr 2019 14:38:26 +0200] rev 4574
branching: merge with stable VErsion 8.5.0 got released
Tue, 23 Apr 2019 15:57:04 +0200 Added tag 8.5.1 for changeset 05c9dcf5512e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 15:57:04 +0200] rev 4573
Added tag 8.5.1 for changeset 05c9dcf5512e
Tue, 23 Apr 2019 15:30:39 +0200 packaging: prepare version 8.5.1 stable 8.5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 15:30:39 +0200] rev 4572
packaging: prepare version 8.5.1
Tue, 23 Apr 2019 14:18:12 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:12 +0200] rev 4571
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 23 Apr 2019 14:18:11 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:11 +0200] rev 4570
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 23 Apr 2019 14:18:10 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:10 +0200] rev 4569
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 23 Apr 2019 14:18:08 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:08 +0200] rev 4568
test-compat: merge mercurial-4.8 into mercurial-4.7
Tue, 23 Apr 2019 14:18:06 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:06 +0200] rev 4567
test-compat: merge mercurial-4.9 into mercurial-4.8
Tue, 23 Apr 2019 14:18:05 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:05 +0200] rev 4566
test-compat: merge stable into mercurial-4.9
Mon, 22 Apr 2019 22:14:26 -0700 evolve: fix progress display with hg<4.7 stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 22 Apr 2019 22:14:26 -0700] rev 4565
evolve: fix progress display with hg<4.7 Since d1aab9d82f5b (evolve: adapt for deprecated ui.progress(), 2019-01-14), the "item", "units" and "total" are all set to default values. The last one is especially bad since it results in a "spinner" instead of a progress bar.
Sat, 20 Apr 2019 05:21:14 +0200 packaging: mark extensions as tested with 5.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 05:21:14 +0200] rev 4564
packaging: mark extensions as tested with 5.0
Tue, 23 Apr 2019 13:26:35 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 13:26:35 +0200] rev 4563
branching: merge with stable
Tue, 23 Apr 2019 12:29:50 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:50 +0200] rev 4562
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 23 Apr 2019 12:29:48 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:48 +0200] rev 4561
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 23 Apr 2019 12:29:47 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:47 +0200] rev 4560
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 23 Apr 2019 12:29:45 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:45 +0200] rev 4559
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 11 Mar 2019 23:57:12 -0700 evolve: use merge.update() for resolving phase divergence
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 23:57:12 -0700] rev 4558
evolve: use merge.update() for resolving phase divergence Iterating over the manifest when tree manifests and narrowness is in play produces entries for paths outside the narrowspec that represent trees. For example, if the tests/ directory of the hg repo was not in the narrowspec (and the hg repo was using tree manifests, which it doesn't), then there would be a "tests/" entry in the manifest. The merge code deals with some of these cases. For example, it's valid to do a merge if only the local side changes directories outside the narrowspec. That allows rebasing a local commit onto a public commit that had changes to the excluded paths to work. However, _resolvephasedivergent() was iterating of the manifests, which resulted in crashes for some of our users when they tried to resolve phase-divergent commits (actually content-divergent commits that became phase-divergent after the intermediate rebase). We can fix that by relying on merge.update(), since that already handles this case. [This re-install a changeset backed out for compatibility reason]
Tue, 23 Apr 2019 12:29:44 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:44 +0200] rev 4557
test-compat: merge mercurial-4.9 into mercurial-4.8
Tue, 23 Apr 2019 12:24:22 +0200 compat: drop support for Mercurial 4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:24:22 +0200] rev 4556
compat: drop support for Mercurial 4.4
Tue, 23 Apr 2019 12:29:42 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:42 +0200] rev 4555
test-compat: merge stable into mercurial-4.9
Tue, 23 Apr 2019 12:20:12 +0200 compat: backed out changeset cfcb7eedc666 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:20:12 +0200] rev 4554
compat: backed out changeset cfcb7eedc666 That changesets breaks 4.4 compat. We will reinstall it for the next version.
Tue, 23 Apr 2019 12:28:32 +0200 test-compat: adapt test output to 4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:28:32 +0200] rev 4553
test-compat: adapt test output to 4.4
Sat, 20 Apr 2019 03:55:11 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:11 +0200] rev 4552
test-compat: merge mercurial-4.5 into mercurial-4.4
Sat, 20 Apr 2019 03:55:10 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:10 +0200] rev 4551
test-compat: merge mercurial-4.6 into mercurial-4.5
Sat, 20 Apr 2019 03:55:09 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:09 +0200] rev 4550
test-compat: merge mercurial-4.7 into mercurial-4.6
Sat, 20 Apr 2019 03:55:07 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:07 +0200] rev 4549
test-compat: merge mercurial-4.8 into mercurial-4.7
Sat, 20 Apr 2019 03:55:06 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:06 +0200] rev 4548
test-compat: merge mercurial-4.9 into mercurial-4.8
Sat, 20 Apr 2019 03:55:04 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:04 +0200] rev 4547
test-compat: merge stable into mercurial-4.9
Fri, 19 Apr 2019 10:31:53 +0530 compat: fix a typo in compat patch stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 19 Apr 2019 10:31:53 +0530] rev 4546
compat: fix a typo in compat patch
Thu, 18 Apr 2019 23:51:13 +0200 changelog: mention extensions isolation (issue6121) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 23:51:13 +0200] rev 4545
changelog: mention extensions isolation (issue6121)
Thu, 18 Apr 2019 13:03:01 +0200 topic: only wrap wireprotocaps for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:03:01 +0200] rev 4544
topic: only wrap wireprotocaps for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 13:02:52 +0200 topic: only wrap _pushb2phases for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:02:52 +0200] rev 4543
topic: only wrap _pushb2phases for repo with topic This helps repository with and without topic to coexist in the same process.
(0) -3000 -1000 -192 +192 tip