1. 11 Oct, 2020 1 commit
  2. 26 Sep, 2020 1 commit
  3. 25 Sep, 2020 3 commits
  4. 24 Sep, 2020 4 commits
  5. 14 Oct, 2020 1 commit
  6. 10 Oct, 2020 1 commit
  7. 22 Sep, 2020 3 commits
  8. 10 Oct, 2020 2 commits
  9. 09 Oct, 2020 1 commit
  10. 17 Sep, 2020 1 commit
  11. 21 Aug, 2020 3 commits
  12. 20 Aug, 2020 5 commits
  13. 20 Sep, 2020 1 commit
    • Sushil Khanchi's avatar
      evolve: remove swapping nodes logic while resolving divergence · d7d954b6d518
      Sushil Khanchi authored
      Before this patch, while solving content-divergence if one of the
      divergent cset need to relocate to resolution parent we used to set that
      cset to "other" side; so it was like we are always going to relocate "other"
      side which made us to swap the two if "divergent" cset need to relocate.
      
      Above mentioned solution for relocating cset was not good and led us to incorrect
      output in some cases.
      
      So this patch, simplify the logic and remove the swapping thing and clearly depend
      on resolution parent to check if any of the divergent cset needs to relocate.
      This also means that now in some cases if both the divergent csets needs
      to relocate, both will be relocated. Even before this patch, there are some cases
      where both the divergent csets relocated but not in every case where it should
      have.
      
      Coming to the changes in test files:
      1) changes in order of merging the two divergent csets is due to fact that
         now "divergent" and "other" are not swapped and hence "divergent" will be at
         local side and "other" will be at "other", which also results in change in
         the hash id for some cases.
      
      2) extra changesets: which is the result of the fact that now we don't miss
         any case where both the divergent csets should be based on resolution parent
         before performing the merge -> which caught some cases and performed relocation,
         hence extra changesets. Although you can find that there is no changes in file
         content because of these relocation, but I remember loosing some data because
         of not relocating the "divergent", so why leave any risk out there by not
         relocating "other" to the resolution parent.
      d7d954b6d518
  14. 25 Sep, 2020 1 commit
    • Martin von Zweigbergk's avatar
      evolve: don't set evolved node as dirstate p2 · b2de5825e5ca
      Martin von Zweigbergk authored
      Upstream rebase changed in 9c9cfecd4600 (rebase: don't use rebased
      node as dirstate p2 (BC), 2020-01-10) so the dirstate parents are
      always the commits that will be parents once the commit has been
      created. Let's follow their lead so the experience is consistent.
      
      The drawback is that users who use Evolve with older Mercurial
      versions will not see in `hg log -G` output which commit is being
      evolved.
      b2de5825e5ca
  15. 17 Sep, 2020 1 commit
  16. 22 Sep, 2020 1 commit
  17. 02 Oct, 2020 2 commits
  18. 25 Sep, 2020 1 commit
  19. 19 Sep, 2020 1 commit
  20. 20 Aug, 2020 1 commit
    • Sushil Khanchi's avatar
      evolve: resolutionparent should be succs of otherp1 · 9034eef6e737
      Sushil Khanchi authored
      In current behavior when one of the divergent cset is ahead
      of other, we set successor of ahead one's parent as resolution
      parent.
      This patch make sure that we follow the same logic for the case
      when "other" is ahead of "divergent".
      9034eef6e737
  21. 13 Aug, 2020 2 commits
  22. 05 Aug, 2020 2 commits
    • Sushil Khanchi's avatar
      evolve: add some initial values in evolvestate · b31cd9ee890a
      Sushil Khanchi authored
      This patch adds two values in evolvestate:
      
      	evolvestate['relocate-div'] = False
      	evolvestate['relocate-other'] = False
      
      which will be used by resolution of content-divergence as a flag
      to know if we need to relocate the divergent changesets.
      
      In upcoming patches we will remove the logic of swapping
      divergent/other (we do this swapping when divergent need to relocate)
      as this doesn't seems something solid we can rely on.
      b31cd9ee890a
    • Sushil Khanchi's avatar
      evolve: move initial evolvestate values to main function · eb09d05f69f3
      Sushil Khanchi authored
      This patch will help us simplify the refactoring in upcoming patches.
      eb09d05f69f3
  23. 31 Aug, 2020 1 commit
    • Sushil Khanchi's avatar
      evolve: set other side of public content div using mutability · 5f2c85ea8b33
      Sushil Khanchi authored
      In upcoming behavior we will no longer be confident that
      evovlestate['other-divergent'] will always contain the
      mutable side of public content divergence since we won't
      swap the "divergent" and "other" cset (the swapping is used
      right now when "divergent" side need to relocate, because
      we keep the one which need relocation to `other` side)
      5f2c85ea8b33