Skip to content
Snippets Groups Projects
  1. Jan 21, 2020
  2. Jan 09, 2020
  3. Dec 24, 2019
    • Matt Harbison's avatar
      subrepo: fix a crash when archiving an svn or git subrepo · 7ca8aa88
      Matt Harbison authored
      Only hgsubrepos have a repository attribute.  This is pretty hacky, but probably
      the best we can do on stable.  Pushing the lfstatus check down into the wrapper
      for hgsubrepo (and dropping the check for lfstatus at the top of
      `hgsubrepoarchive()`) resulted in various test failures because:
      
        1) hgsubrepoarchive isn't returning the number of files archived at the
           bottom, resulting in an error about += NoneType
        2) These copypasta archive wrappers don't use progress bars
        3) Largefiles are *not* currently archived when using extdiff (68822b7cdd01),
           but pushing this context manager down into the subrepo resulted in it
           apparently doing so (as evidenced by progress bars being dropped)
      
      The other uses of `lfstatus()` are not in the substate processing loop, so they
      shouldn't be an issue.
      
      I initially put testcases in this test for largefiles-{on,off}, and it flagged
      a bunch of exit code differences for `cat` and `diff`, so I backed that off.
      
      Differential Revision: https://phab.mercurial-scm.org/D7714
      7ca8aa88
  4. Jan 17, 2020
    • Matt Harbison's avatar
      phabricator: use .arcconfig for `phabricator.url` if not set locally · ff396501
      Matt Harbison authored
      This setting is also per repo; see the previous commit for details.
      
      The existing `conduit_uri` setting is the previous name of `phabricator.uri`[1]
      and while it could easily be queried before the latter for compatibility, the
      config in this repo has '/api' appended. That's already done in `callconduit()`,
      which would clearly end up giving the wrong result. It looks like the path of
      the URL is now ignored in user configs[2], so add the modern setting without it
      to this repo's .arcconfig.
      
      Sadly, we still need to have contributors configure `auth.hg.phabtoken` (and
      therefore `auth.hg.prefix` to link it to `phabricator.url`) in order to submit
      patches, but at least now it's localized to a single section.
      
      [1] https://secure.phabricator.com/book/phabricator/article/arcanist_new_project/
      [2] https://github.com/phacility/arcanist/blob/cc850163f30c4697e925df0d6212469679600a2c/scripts/arcanist.php#L271
      
      Differential Revision: https://phab.mercu...
      ff396501
    • Matt Harbison's avatar
      phabricator: use .arcconfig for the callsign if not set locally (issue6243) · 59b3fe1e
      Matt Harbison authored
      This makes things easier for people working with more than one repository
      because this file can be committed to each repository.  The bug report asks to
      read <repo>/.arcrc, but AFAICT, that file lives in ~/ and holds the credentials.
      And we already track an .arcconfig file.  Any callsign set globally is still
      used if that is all that is present, but .arcconfig will override it if
      available.  The idea behind letting the local hgrc override .arcconfig is that
      the developer may need to do testing against another server, and not dirty the
      working directory.
      
      Originally I was going to just try to read the callsign in `getrepophid()` if it
      wasn't present in the hg config.  That works fine, but I think it also makes
      sense to read the URL from this file too.  That would have worked less well
      because `readurltoken()` doesn't have access to the repo object to know where to
      find the file.  Supplimenting the config mechanism is less magical because it
      reports the source and value of the properties used, and it doesn't need to read
      the file twice.
      
      Invalid hgrc files generally cause the program to abort.  I only flagged it as a
      warning here because it's not our config file, not crucial to the whole program
      operating, and really shouldn't be corrupt in the typical case where it is
      checked into the repo.
      
      Differential Revision: https://phab.mercurial-scm.org/D7934
      59b3fe1e
  5. Dec 26, 2019
  6. Jan 14, 2020
  7. Jan 13, 2020
  8. Dec 27, 2019
    • Martin von Zweigbergk's avatar
      graftcopies: remove `skip` and `repo` arguments · 833210fb
      Martin von Zweigbergk authored
      The `skip` argument was added in 2ba6c9b4e0eb (rebase: fix bug that
      caused transitive copy records to disappear (issue4192), 2014-06-07)
      in order to fix https://bz.mercurial-scm.org/show_bug.cgi?id=4192. I
      ran tests at that commit without the `skiprev` argument and the only
      difference I noticed was that `test-rebase-collapse.t` failed
      differently, in the call that is now on line 501. Without the
      `skiprev` argument, that call would end up creating another commit
      because it tried to record an invalid copy. With the previous patch in
      this series, such invalid copies are no longer recorded, so it seems
      we don't need the `skip` argument anymore.
      
      I also removed the `repo` argument since that also becomes unused with
      the removal of the `skip` argument.
      
      Differential Revision: https://phab.mercurial-scm.org/D7860
      833210fb
  9. Jan 06, 2020
  10. Jan 15, 2020
  11. Jan 14, 2020
  12. Dec 23, 2019
    • Matt Harbison's avatar
      verify: allow the storage to signal when renames can be tested on `skipread` · b9e174d4
      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
      b9e174d4
    • Matt Harbison's avatar
      lfs: don't skip locally available blobs when verifying · 1a6dd50c
      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
      1a6dd50c
  13. Dec 20, 2019
  14. Jan 13, 2020
  15. Jan 10, 2020
    • Martin von Zweigbergk's avatar
      rebase: delete seemingly unnecessary needupdate() · 894c91c2
      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
      894c91c2
  16. Jan 11, 2020
  17. Dec 28, 2019
  18. Dec 30, 2019
  19. Dec 07, 2019
  20. Jan 03, 2020
  21. Dec 27, 2019
Loading