Skip to content
Snippets Groups Projects
  1. Apr 04, 2018
    • Gregory Szorc's avatar
      simplestore: use a custom store for the simple store repo · c2c8962a9465
      Gregory Szorc authored
      Before, we used the default store, which was based on fncache
      and dotencode. After attempting to port tests to work with the
      simple store, I realized that fncache was more trouble than it is
      worth.
      
      This commit implements a proper store type for the simple repo -
      one that isn't based off fncache.
      
      This causes a number of new test failures because of tests
      expecting the full fncache store filename encoding. I may
      extend the store format in a subsequent commit to take the
      filename encoding parts of fncache that we can take
      (basically everything except hash encoding, since that isn't
      reversible). But for now, let's use encoded store.
      
      As part of this, we implement proper requirements support for
      repos created with the simple store. This should have been
      done from the beginning, as a requirement is needed to lock
      out clients that don't understand a storage format.
      
      A new hghave feature advertising the presence of fncache in repos
      has been added. Most tests touching the fncache are now conditional
      on that feature.
      
      Other tests have added the optional repo requirement to output.
      
      Differential Revision: https://phab.mercurial-scm.org/D3095
      c2c8962a9465
  2. Feb 27, 2018
    • Jörg Sonnenberger's avatar
      wireproto: allow direct stream processing for unbundle · 2d965bfeb8f6
      Jörg Sonnenberger authored
      Introduce a new option server.streamunbundle which starts a transaction
      immediately to apply a bundle instead of writing it to a temporary file
      first. This side steps the need for a large tmp directory at the cost of
      preventing concurrent pushes. This is a reasonable trade-off for many
      setups as concurrent pushes for the main branch at least are disallowed
      anyway. The option defaults to off to preserve existing behavior.
      
      Change the wireproto interface to provide a generator for reading the
      payload and make callers responsible for consuming all data.
      
      Differential Revision: https://phab.mercurial-scm.org/D2470
      2d965bfeb8f6
  3. Apr 06, 2018
  4. Apr 04, 2018
  5. Apr 02, 2018
  6. Mar 18, 2018
  7. Mar 17, 2018
    • Yuya Nishihara's avatar
      templater: add class representing a nested mappings · 0b64416224d9
      Yuya Nishihara authored
      The mappinggenerator class is necessary to fix hgweb bugs without BC. The
      mappinglist is for nested formatter items. They are similar, so factored
      out the base class. The mappinglist could be implemented by using the
      mappinggenerator, but we'll probably need a direct access to the raw list,
      so they are implemented as separate classes.
      
      Note that tovalue() isn't conforming to the spec yet in that it may return
      a list of dicts containing unprintable resources. This problem will be
      fixed later.
      
      Tests will be added by subsequent patches.
      0b64416224d9
    • Yuya Nishihara's avatar
      templater: add function that expands internal literal templates · 3235afdfcf1c
      Yuya Nishihara authored
      This will be used when rendering nested formatter items with the default
      template, e.g.
      
        fm.nested('parents', tmpl='{rev}:{node|formatnode}', sep=' ')
                                   ^^^^^^^^^^^^^^^^^^^^^^^
                                   the default item template
      3235afdfcf1c
  8. Apr 06, 2018
  9. Apr 05, 2018
  10. Mar 24, 2018
  11. Apr 05, 2018
    • Gábor Stefanik's avatar
      copies: clean up _related logic · a4f02a17420d
      Gábor Stefanik authored
      The limit parameter was never actually used, since the only way the 4th case
      could be reached was if f1r and f2r converged. The new code makes this clear,
      and additionally reduces the conditional block to just 3 cases.
      a4f02a17420d
  12. Apr 06, 2018
    • Martin von Zweigbergk's avatar
      context: stop catching RepoLookupError from namespace.singlenode() · 3198d5a2514e
      Martin von Zweigbergk authored
      As pointed out by Yuya, the RepoLookupError was there for catching
      errors from repo.branchtip(). However, since 885c0290f7d5 (localrepo:
      add ignoremissing parameter to branchtip, 2014-10-16), that should no
      longer happen. I think it should now be an error if a namespace raises
      a RepoLookupError, so we propagate the exception up and and make it
      easy to fix, rather than trying to interpret the changeid as nodeid
      prefix and raise a general "unknown revision '...'" error.
      
      I also don't think we should catch FilteredLookupError and LookupError
      from the changelog.rev() call, for the same reason as above: If a
      namespace returns a node that doesn't exist, we should provide a more
      helpful exception than "unknown revision '...'".
      
      Differential Revision: https://phab.mercurial-scm.org/D3145
      3198d5a2514e
  13. Apr 05, 2018
  14. Apr 06, 2018
  15. Apr 05, 2018
  16. Apr 03, 2018
  17. Apr 05, 2018
Loading