Skip to content
Snippets Groups Projects
  1. Apr 06, 2021
  2. Apr 07, 2021
  3. Apr 06, 2021
  4. Mar 30, 2021
  5. Mar 28, 2021
  6. Feb 12, 2021
  7. Mar 24, 2021
  8. Mar 23, 2021
    • Martin von Zweigbergk's avatar
      reabase: call rewriteutil.precheck() a bit later · 80cac993
      Martin von Zweigbergk authored
      We now filter out descendants of divergence-causing commits in
      `_handleskippingobsolete()`. The filtered-out commits are removed from
      the rebase set (`destmap` and `state`). We should therefore call
      `rewriteutil.precheck()` after `_handleskippingobsolete()`. This patch
      does that. It hasn't mattered so far because `rewriteutil.precheck()`
      doesn't yet check for divergence, but it will soon.
      
      This affects one test where we now fail because the user is trying to
      rebase an ancestor instead of failing because they tried to rebase a
      public commit. We have several similar tests just after, where we
      still fail because of the phase, so that seems fine. The difference in
      behavior also seems fine to me.
      
      Differential Revision: https://phab.mercurial-scm.org/D10258
      80cac993
    • Martin von Zweigbergk's avatar
      rebase: set `prepared = True` at very end of `_preparenewrebase()` · c2438f2f
      Martin von Zweigbergk authored
      Once we've set `rebaseruntime.prepared = True`, `rebaseruntime.repo`
      starts returning the unfiltered repo. That will make my next patch
      break, because that patch moves the call to `rewriteutil.precheck()`
      after the call to `_handleskippingobsolete()`, which current happens
      after `prepared = True`. We therefore need to prepare by moving
      `prepared = True` a bit later, after `_handleskippingobsolete()`. I
      don't think that matters for that call.
      
      Differential Revision: https://phab.mercurial-scm.org/D10257
      c2438f2f
  9. Mar 20, 2021
    • Martin von Zweigbergk's avatar
      rebase: filter out descendants of divergence-causing commits earlier · 535de0e3
      Martin von Zweigbergk authored
      `hg rebase` treats obsolete commits differently depending what has
      happened to the commit:
      
       1) Obsolete commit without non-obsolete successors: Skipped, and a
       note is printed ("it has no successor").
      
       2) Obsolete commit with a successor in the destination (ancestor of
       it): Skipped, and a note is printed ("already in destination").
      
       3) Obsolete commit with a successor in the rebase set: The commit and
       its descendants are skipped, and a note is printed ("not rebasing
       <commit> and its descendants as this would cause divergence"), unless
       `allowdivergence` config set.
      
       4) Obsolete commit with a successor elsewhere: Error ("this rebase
       will cause divergences"), unless `allowdivergence` config set.
      
      Before this patch, we did all those checks up front, except for (3),
      which was checked later. The later check consisted of two parts: 1)
      filtering out of descendants, and 2) conditionally printing message if
      the `allowdivergence` config was not set. This patch makes it so we do
      the filtering early.
      
      A consequence of filtering out divergence-causing commits earlier is
      that we rebase commits in slightly different order, which has some
      impact on tests.
      
      Differential Revision: https://phab.mercurial-scm.org/D10249
      535de0e3
  10. Mar 19, 2021
  11. Feb 13, 2021
  12. Mar 23, 2021
  13. Mar 18, 2021
  14. Mar 21, 2021
  15. Mar 18, 2021
  16. Mar 16, 2021
    • Georges Racinet's avatar
      rhg: Initial support for the 'status' command · c71e8d9e
      Georges Racinet authored
      Only comparing the working directory with its first parent revision
      is supported. The core logic of dirstate handling and `stat`’ing files
      was already in `hg-core` supporting Python-based hg with Rust extensions,
      so this is mostly plumbing to rhg’s CLI.
      
      For now the command is experimental and disabled by default,
      since it has some bugs that causes a number of tests to fail.
      These failures can be seen with:
      
        tests/run-tests.py --rhg --extra-config-opt rhg.status=true
      
      Differential Revision: https://phab.mercurial-scm.org/D10239
      c71e8d9e
  17. Mar 23, 2021
  18. Mar 19, 2021
  19. Mar 25, 2021
  20. Mar 22, 2021
  21. Mar 13, 2021
  22. Mar 15, 2021
    • Pierre-Yves David's avatar
      copies: detect files as `touched/salvaged` if they only existed on one side · c52c3c4c
      Pierre-Yves David authored
      The file cannot be merged if there was content to merge on the other side. So
      the previous record was wrong.
      
      In the general case, the file existed only on one side and got touched during the
      merge. So it should detected as touched.
      
      They are a special case where the merge manually prevent the file to be deleted.
      In this case the file is marked as `salvaged`.
      
      The result of this `salvaged` recording, copy-tracing-wise, is the same as
      recording it as `merged`. This is probably why they were recorded as `merged` in
      the first place.
      
      Differential Revision: https://phab.mercurial-scm.org/D10219
      c52c3c4c
  23. Mar 02, 2021
  24. Mar 13, 2021
Loading