Skip to content
Snippets Groups Projects
  1. Sep 26, 2018
    • Gregory Szorc's avatar
      repository: teach addgroup() to receive data with missing parents · 1b183edb
      Gregory Szorc authored
      The way the narrow extension works today, the server rewrites
      outgoing changegroup data to lie about parents when the parents
      data is missing. It adds the ellipsis flag to the revision so
      it can be recorded as such in the revlog.
      
      In the new wire protocol, such rewriting does not occur on
      the server (at least not yet anyway). Instead, it is up to the
      client to recognize when it has received a revision without its
      parents. This means rewriting will be performed on the client.
      
      Furthermore, the mechanism for storing a shallow revision may
      differ from store to store. For example, the revlog store uses
      the ellipsis flag to denote a revision's parents have been
      rewritten. But a non-revlog store may wish to store things
      differently. And, some stores may not even support receiving
      shallow revision data!
      
      Therefore, it makes sense for the store itself to be making
      decisions about what to do when they receive revision data
      without their parents.
      
      This commit teaches the addgroup() bulk insert method to accept
      a boolean argument that indicates whether the incoming data may
      lack parent revisions. This flag can be set when receiving
      "shallow" data from a remote.
      
      The revlog implementation of this method has been taught to rewrite
      the missing parent(s) to nullid and to add the ellipsis flag to
      the revision when a missing parent is encountered. But it only
      does this if ellipsis flags are enabled on the repo and the
      incoming data is marked as possibly shallow. An error occurs
      otherwise.
      
      Differential Revision: https://phab.mercurial-scm.org/D5165
      1b183edb
  2. Oct 19, 2018
  3. Oct 03, 2018
    • Gregory Szorc's avatar
      filelog: add a hasnode() method (API) · f1a39128
      Gregory Szorc authored
      Missing in the file storage interface is the ability to query whether
      a specified value is a known node.
      
      This commit defines that interface member and implements it on the
      revlog and sqlite file stores.
      
      Storage unit tests have been added.
      
      The revlog implementation is a bit more complicated because index lookups
      don't consistently raise the same exception. For SQLite, we can simply look
      for a key in a dict.
      
      Differential Revision: https://phab.mercurial-scm.org/D5163
      f1a39128
  4. Oct 22, 2018
    • Matt Harbison's avatar
      lfs: consult the narrow matcher when extracting pointers from ctx (issue5794) · 4a81d824
      Matt Harbison authored
      I added a testcase for lfs to all narrow tests, and the following failed:
      
          test-narrow-acl.t
          test-narrow-exchange.t
          test-narrow-patterns.t
          test-narrow-strip.t
          test-narrow-trackedcmd.t
          test-narrow-widen.t
          test-narrow.t
      
      The first two still have errors in the pretxnchangegroup on clone and (receiving
      a) push, which I'm still looking into (4d63f3bc1e1a fixed something in this area
      already).  These two modified tests seem to cover the things that failed in the
      remaining narrow tests, i.e. `hg tracked` and `hg strip`, so I didn't bother
      enabling the testcases elsewhere.  Maybe we should, but it's 68 tests total.
      4a81d824
  5. Oct 20, 2018
  6. Oct 19, 2018
  7. Oct 18, 2018
  8. Nov 17, 2016
  9. Oct 18, 2018
    • Matt Harbison's avatar
      tests: glob over a difference between Windows 7 and Window 10 · 5a81c4aa
      Matt Harbison authored
      The error value is 11001 on Windows 10.  I have no idea why it changed, but it
      seems unimportant.
      5a81c4aa
    • Matt Harbison's avatar
      py3: fix module imports in test-highlight.t · 3b84ef90
      Matt Harbison authored
      The hash changes are because the *.py file is committed to the repo.
      3b84ef90
    • Matt Harbison's avatar
      py3: fix module imports in tests, as flagged by test-check-module-imports.t · ef6cab79
      Matt Harbison authored
      I have no idea why these aren't flagged with python2.  I excluded
      test-highlight.t for now to make this easier to review- the changed code is
      committed to a repo, which has cascading changes on the rest of the test.
      
      There's a mix of bytes and str in the imports dict of contrib/import-checker.py
      that crashed it half way through listing out these errors.  I couldn't figure
      out how to fix that properly, so I was lazy and applied this on py3, to find the
      rest of the errors:
      
          diff --git a/contrib/import-checker.py b/contrib/import-checker.py
          --- a/contrib/import-checker.py
          +++ b/contrib/import-checker.py
          @@ -626,7 +626,12 @@ def find_cycles(imports):
               top.foo -> top.qux -> top.foo
               """
               cycles = set()
          -    for mod in sorted(imports.keys()):
          +    def sort(v):
          +        if isinstance(v, bytes):
          +            return v.decode('ascii')
          +        return v
          +
          +    for mod in sorted(imports.keys(), key=sort):
                   try:
                       checkmod(mod, imports)
                   except CircularImport as e:
      ef6cab79
  10. Oct 19, 2018
  11. Oct 18, 2018
    • Yuya Nishihara's avatar
      addremove: add "ui." prefix to message color keys · 824b687f
      Yuya Nishihara authored
      I don't like fully-colorized status/warning messages, and I want to disable
      them at all. If we'd supported a syntax like 'color.ui.*=none', I could
      easily turn addremove.added/removed off as well as ui.error. This patch is
      just for that.
      
      Since addremove colors aren't released yet, which were added at ddc1da134772,
      there are no compatibility concerns.
      824b687f
  12. Feb 09, 2017
  13. Oct 18, 2018
  14. Oct 16, 2018
  15. Oct 14, 2018
  16. Oct 18, 2018
Loading