Skip to content
Snippets Groups Projects
  1. Oct 17, 2017
  2. Oct 15, 2017
  3. Oct 17, 2017
    • Boris Feld's avatar
      pull: store binary node in pullop.remotebookmarks · d7a4384d
      Boris Feld authored
      The internal representation of bookmark value is binary. The fact we stored
      'hex' was an implementation detail from using pushkey.
      
      We move the values in 'pullop.remotebookmarks' to binary before adding a way to
      exchange bookmarks not based on pushkey.
      d7a4384d
  4. Oct 19, 2017
  5. Nov 10, 2017
  6. Nov 08, 2017
  7. Nov 10, 2017
  8. Nov 09, 2017
    • Kyle Lippincott's avatar
      changegroup: use any node, not min(), in treemanifest's generatemanifests · d80380ba
      Kyle Lippincott authored
      This is fixing quadratic behavior, which is probably not noticeable in the
      common case, but if a very large directory gets added here, it can get pretty
      bad. This was noticed because we had some pushes that spent >25s in changegroup
      generation calling min() here, according to profiling.
      
      The original reasoning for min() being used in 829d369fc5a8 was that, at that
      point in the series, we were adding almost everything to tmfnodes during the
      first iteration through the loop , so we needed to avoid sending child
      directories before parents. Later changes made it so that the child directories
      were added only when we visited the parent directory (not all of them on the
      first iteration), so this is no longer necessary - there won't be any child
      directories in tmfnodes before the parents have been sent.
      
      This does mean that the manifests are now exchanged unordered, whereas
      previously we would essentially do [a, b, b/c, b/c/d, e], we now can send a, b,
      and e in any order; b/c must still follow b, and b/c/d must still follow b/c.
      
      Differential Revision: https://phab.mercurial-scm.org/D1351
      d80380ba
  9. Nov 07, 2017
    • Durham Goode's avatar
      bundle: allow bundlerepo to support alternative manifest implementations · a2dfc723
      Durham Goode authored
      With our treemanifest logic, the manifests are no longer transported as part of
      the changegroup and are no longer stored in a revlog. This means the
      self.manifestlog line in bundlerepo.filestart no longer calls
      _constructmanifest, and therefore does not consume the manifest portion of the
      changegroup, which means filestart is not populated and we result in an infinite
      loop.
      
      The fix is to make filestart aware that self.manifestlog might not consume the
      changegroup part, and consume it manually if necessary.
      
      There's currently no way to test this in core, but our treemanifest extension
      has tests to cover this.
      
      Differential Revision: https://phab.mercurial-scm.org/D1329
      a2dfc723
  10. Oct 19, 2017
    • Boris Feld's avatar
      obsfate: makes successorsetverb takes the markers as argument · b81ad5b7
      Boris Feld authored
      Right now, successorsetverb only needs successors to compute the verb. But we
      will want use additional information (effect-flags and operation) in the near
      future to compute a better verb.
      
      Add the markers parameter now so extensions (like Evolve) could wrap the
      function and start experimenting around better obsfate verbs.
      
      As successorsetverb now takes both successorset and markers parameters, rename
      it to obsfateverb, successorsetandmarkersverb was too long.
      
      Differential Revision: https://phab.mercurial-scm.org/D1191
      b81ad5b7
  11. Nov 03, 2017
  12. Nov 07, 2017
  13. Oct 22, 2017
  14. Nov 07, 2017
  15. Oct 21, 2017
  16. Nov 07, 2017
  17. Nov 06, 2017
  18. Nov 05, 2017
    • Yuya Nishihara's avatar
      subrepo: disable git and svn subrepos by default (BC) (SEC) · 846942fd
      Yuya Nishihara authored
      We have a security issue with git subrepos. I'm not sure if svn subrepo is
      vulnerable, but it seems not 100% safe to allow writing arbitrary data into
      a metadata directory. So for now, only hg subrepo is enabled by default.
      
      Maybe we should improve the help to describe why git/svn subrepos are
      disabled.
      846942fd
    • Yuya Nishihara's avatar
      subrepo: extend config option to disable subrepos by type (SEC) · 828cf35f
      Yuya Nishihara authored
      This allows us to minimize the behavior change introduced by the next patch.
      
      I have no idea which config style is preferred in UX POV, but I decided to
      get things done.
      
       a) list: 'allowed = hg, git, svn'
       b) sub option: 'allowed.hg = True' or 'allowed:hg = True'
       c) per-type action: 'hg = allow', 'git = abort'
      828cf35f
Loading