diff CHANGELOG @ 6224:17ffdea0edbb stable

evolve: look for split successors of the correct ancestor (issue6648) Consider two changesets, 1 and 2. 1 is split into two new changesets and 2 is pruned. If we stand on 2 and call hg evolve, _singlesuccessor() will traverse ancestors of wdp in search of a changeset with successors to update to (it will be 1, which was split). In case of a split, select_split_successor() gets control. The issue is this function didn't traverse ancestors, and instead tried to look up successors of the original changeset (i.e. 2 in our case, which was pruned). We can make select_split_successor() aware of _singlesuccessor() logic by using the changeset that actually has successors without traversing ancestors again. It's done by storing that changeset in MultipleSuccessorsError exception.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 21 Apr 2022 22:19:27 +0400
parents 4298ae0b966d
children 810f085d0853
line wrap: on
line diff
--- a/CHANGELOG	Sat Apr 09 20:49:43 2022 +0300
+++ b/CHANGELOG	Thu Apr 21 22:19:27 2022 +0400
@@ -5,6 +5,8 @@
 --------------------
 
   * evolve: avoid updating working copy when --dry-run is given (issue6669)
+  * evolve: correctly pick successors of a split changeset when its child was
+    pruned (issue6648)
   * fixup: work correctly with bookmarks
 
 10.5.0 -- 2022-02-23