Skip to content
Snippets Groups Projects
  1. Sep 26, 2017
  2. Sep 23, 2017
  3. Sep 25, 2017
  4. Aug 19, 2017
  5. Sep 24, 2017
  6. Jun 14, 2017
  7. Sep 21, 2017
    • Jun Wu's avatar
      blackbox: do not prevent 'chg init' from working · b1d4ac06
      Jun Wu authored
      Previously, blackbox always appends to blackbox.log and creates the
      directory for that file on demand. That could be an issue if:
      
        1. chg starts from `$REPO` directory, so `ui._bbrepo` is set.
        2. `rm -rf $REPO`.
        3. `chg init $REPO`, blackbox writes something and `init` will fail
           because `$REPO` directory is non-empty.
      
      This patch fixes that by verifying whether vfs exists before re-using it.
      
      Differential Revision: https://phab.mercurial-scm.org/D768
      b1d4ac06
  8. Sep 12, 2017
  9. Sep 13, 2017
    • Mark Thomas's avatar
      revlog: add option to mmap revlog index · 3c969172
      Mark Thomas authored
      Following on from Jun Wu's patch last October[1], we have found that using mmap
      for the revlog index in repos with large revlogs gives a noticable performance
      improvment (~110ms on each hg invocation), particularly for commands that don't
      touch the index very much.
      
      This changeset adds this as an option, activated by a new experimental config
      option so that it can be enabled on a per-repo basis. The configuration option
      specifies an index size threshold at which Mercurial will switch to using mmap
      to access the index.
      
      If the configuration option is not specified, the default remains to load the
      full file, which seems to be the best option for smaller repos.
      
      Some initial performance numbers for average of 5 invocations of `hg log -l 5`
      for different cache states:
      
      | Repo: | HG | FB |
      |---|---|---|
      | Index size: | 2.3MB | much bigger |
      | read (warm): | 237ms | 432ms |
      | mmap (warm): | 227ms | 321ms |
      |   | (-3%) | (-26%) |
      | read (cold): | 397ms | 696ms |
      | mmap (cold): | 410ms | 888ms |
      |   | (+3%) | (+28%) |
      
      [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-October/088737.html
      
      Test Plan:
      `hg log --config experimental.mmapindex=true`
      
      Differential Revision: https://phab.mercurial-scm.org/D477
      3c969172
  10. Sep 20, 2017
    • Durham Goode's avatar
      revlog: add revmap back to revlog.addgroup · 1db9abf4
      Durham Goode authored
      The recent c8b6ed51386b patch removed the linkmapper argument from addgroup, as
      part of trying to make addgroup more agnostic from the changegroup format. It
      turns out that the changegroup can't resolve linkrevs while iterating over the
      deltas, because applying the deltas might affect the linkrev resolution. For
      example, when applying a series of changelog entries, the linkmapper just
      returns len(cl). If we're iterating over the deltas without applying them to the
      changelog, this results in incorrect linkrevs. This was caught by the hgsql
      extension, which reads the revisions before applying them.
      
      The fix is to return linknodes as part of the delta iterator, and let the
      consumer choose what to do.
      
      Differential Revision: https://phab.mercurial-scm.org/D730
      1db9abf4
    • Martin von Zweigbergk's avatar
      rebase: also include other namespaces in changeset description · 4f969b9e
      Martin von Zweigbergk authored
      This makes use of the generic method of listing bookmarks and tags, so
      other extensions that add other namespaces will get their names added
      too.
      
      This does mean that bookmarks will come before tags, just like we
      apparently decided to order them in the "hg log" output. It doesn't
      seem like people would be parsing the rebase output anyway. We also
      did 79ab5369d55a (rebase: use _ctxdesc in one more place, 2017-08-29)
      recently, so now seems like a good time.
      
      Differential Revision: https://phab.mercurial-scm.org/D741
      4f969b9e
  11. Sep 03, 2017
    • Pulkit Goyal's avatar
      copytrace: use the full copytracing method if only drafts are involved · fc3b8483
      Pulkit Goyal authored
      This patch adds the functionality to use the full copytracing even if
      `experimental.copytrace = heuristics` in cases when drafts are involved.
      
      This is also a part of copytrace extension in fbext.
      
      This also adds tests which are also taken from fbext.
      
      .. feature::
      
         The `heuristics` option for `experimental.copytrace` performs full
         copytracing if both source and destination branches contains non-public
         changsets only.
      
      Differential Revision: https://phab.mercurial-scm.org/D625
      fc3b8483
  12. Sep 15, 2017
  13. Sep 19, 2017
  14. Sep 15, 2017
  15. Sep 18, 2017
  16. Sep 19, 2017
  17. Sep 18, 2017
  18. Sep 17, 2017
  19. Sep 03, 2017
  20. Sep 16, 2017
  21. Sep 03, 2017
Loading