Skip to content
Snippets Groups Projects
  1. Jan 15, 2020
  2. Jan 14, 2020
  3. Dec 23, 2019
    • Matt Harbison's avatar
      verify: allow the storage to signal when renames can be tested on `skipread` · b9e174d4ed11
      Matt Harbison authored
      This applies the new marker in the lfs handler to show it in action, and adds
      the test mentioned at the beginning of the series to show that fulltext isn't
      necessary in the LFS case.
      
      The existing `skipread` isn't enough, because it is also set if an error occurs
      reading the revlog data, or the data is censored.  It could probably be cleared,
      but then it technically violates the interface contract.  That wouldn't matter
      for the existing verify algorithm, but it isn't clear how that will change as
      alternate storage support is added.
      
      The flag is probably pretty revlog specific, given the comments in verify.py.
      But there's already filelog specific stuff in there and I'm not sure what future
      storage will bring, so I don't want to over-engineer this.  Likewise, I'm not
      sure that we want the verify method for each storage type to completely drive
      the bus when it comes to detecting renames, so I don't want to go down the
      rabbithole of having verifyintegrity() return metadata hints at this point.
      
      Differential Revision: https://phab.mercurial-scm.org/D7713
      b9e174d4ed11
    • Matt Harbison's avatar
      lfs: don't skip locally available blobs when verifying · 1a6dd50cd0db
      Matt Harbison authored
      The `skipflags` config was introduced in a2ab9ebcd85b, which specifically calls
      out downloading and storing all blobs as potentially too expensive.  But I don't
      see any reason to skip blobs that are already available locally.  Hashing the
      blob is the only way to indirectly verify the rawdata content stored in the
      revlog.
      
      (The note in that commit about skipping renamed is still correct, but the reason
      given about needing fulltext isn't.)
      
      Differential Revision: https://phab.mercurial-scm.org/D7712
      1a6dd50cd0db
  4. Dec 20, 2019
  5. Jan 13, 2020
  6. Jan 10, 2020
    • Martin von Zweigbergk's avatar
      rebase: delete seemingly unnecessary needupdate() · 894c91c2e363
      Martin von Zweigbergk authored
      This seemed to be about checking that the user hasn't updated away
      when we asked them to resolve merge conflicts. These days we call
      `cmdutil.checkunfinished()` and refuse to update, so the user
      shouldn't be able to get into this state.
      
      `test-rebase-interruptions.t` actually has some tests where it
      disables the rebase extension in order to be allowed to do some of
      these updates. That still passes, but I wouldn't personally haved
      cared if that failed.
      
      Differential Revision: https://phab.mercurial-scm.org/D7825
      894c91c2e363
  7. Jan 11, 2020
  8. Dec 28, 2019
  9. Dec 30, 2019
  10. Dec 07, 2019
  11. Jan 03, 2020
  12. Dec 27, 2019
  13. Dec 18, 2019
    • Kyle Lippincott's avatar
      fix: fix handling of merge commits by using overlayworkingctx · eebdd6709868
      Kyle Lippincott authored
      Most of this code was conceptually copied from what rebase does, with one small
      difference: hgext.rebaserev.rebase uses branchmerge=True, while I had to use
      branchmerge=False, or else it got really confused about updating to the same
      revision in some situations. I believe that the difference is that rebase is
      always dealing with *some* form of update - it never gets to mergemod.update if
      the source and destination are the same, while we can encounter that situation
      with fix. This may imply that this code has some issues with named branches that
      should be investigated.
      
      Differential Revision: https://phab.mercurial-scm.org/D7703
      eebdd6709868
  14. Dec 23, 2019
  15. Dec 18, 2019
  16. Dec 17, 2019
  17. Dec 18, 2019
    • Martin von Zweigbergk's avatar
      rebase: use rewriteutil.precheck() instead of reimplementing it · 71fee4564410
      Martin von Zweigbergk authored
      After this patch, there's still another place in `rebase.py`, in the
      `--stop` code path, that reimplements `rewriteutil.precheck()`. I
      couldn't fix that place because it `rewriteutil.precheck()` checks
      that there is only one dirstate parent, which fails because we have
      two parents at that point. I think it's incorrect that rebase leaves
      the user with two parents during conflicts, but changing that is way
      out of scope for this series.
      
      Differential Revision: https://phab.mercurial-scm.org/D7685
      71fee4564410
  18. Dec 17, 2019
  19. Dec 13, 2019
Loading