Skip to content
Snippets Groups Projects
  1. Nov 16, 2015
    • Matt Harbison's avatar
      test-import: don't use printf to append an extension to $HGRCPATH · fe458d078ed7
      Matt Harbison authored
      The extension was failing to load on Windows because $TESTTMP contains a path
      component 'test', prefixed by a path separator '\'.  That combination ends up
      converted to "...<tab>est...".
      fe458d078ed7
    • Matt Harbison's avatar
      test-ssh: stop quoting dummyssh invocation for Windows · c858945f6969
      Matt Harbison authored
      The other invocations aren't quoted, and Windows doesn't like the single quotes:
      
        diff --git a/tests/test-ssh.t b/tests/test-ssh.t
        --- a/tests/test-ssh.t
        +++ b/tests/test-ssh.t
        @@ -520,20 +520,8 @@ remote hook failure is attributed to rem
           $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
      
           $ hg -q --config ui.ssh="python '$TESTDIR/dummyssh'" clone ssh://user@dummy/remote hookout
        +  abort: no suitable response from remote hg!
        +  [255]
           $ cd hookout
        +  $TESTTMP.sh: line 264: cd: hookout: No such file or directory
           $ touch hookfailure
        -  $ hg -q commit -A -m 'remote hook failure'
        ....
      c858945f6969
  2. Nov 20, 2015
  3. Nov 19, 2015
  4. Nov 14, 2015
  5. Nov 20, 2015
  6. Nov 14, 2015
  7. Oct 31, 2015
  8. Nov 01, 2015
  9. Nov 14, 2015
  10. Nov 16, 2015
    • Siddharth Agarwal's avatar
      filemerge._picktool: only pick from nomerge tools for change/delete conflicts · d7517deedf86
      Siddharth Agarwal authored
      For --tool or HGMERGE, we could have either:
      (a) proceeded with the particular tool, then failed the merge.
      (b) chosen to prompt regardless.
      
      We're explicitly choosing (b) here, because it's effectively what we've been
      doing so far and helps maintain an easier-to-use interface.
      
      However, in future patches we're going to change the default selection from
      'pick changed version' to 'leave unresolved'. That fixes most of the brokenness
      involved with choice (b).
      d7517deedf86
  11. Nov 14, 2015
  12. Nov 18, 2015
  13. Nov 19, 2015
  14. Nov 18, 2015
  15. Nov 19, 2015
  16. Nov 15, 2015
    • Shubhanshu Agrawal's avatar
      strip: strip a list of bookmarks · 8279c5d116a0
      Shubhanshu Agrawal authored
      Currently strip works with a single bookmark,
      the changes in this patch modifies the strip module
      to work with a list of bookmarks
      
      Building on this we can take a list of bookmarks as input
      and remove all of them in a single go
      8279c5d116a0
  17. Nov 19, 2015
    • Pierre-Yves David's avatar
      revset: speed up '_matchfiles' · f92053df8f0b
      Pierre-Yves David authored
      File matching is done by applying the matcher to all elements in the 'file'
      field of all changesets in the repository. This requires to read/parse all
      changesets in the repository and do a lot of matching. However about 1/3 of the
      time of the function is used to create 'changectx' object and retrieve their
      'file' field.
      
      This is far too much overhead so we are skipping the changectx layer and
      directly access the data from the changelog. This provide use significant speed
      up:
      
      repository: mozilla central 252524 revisions
      command: hg perfrevset '_matchfiles("p:browser")'
      Before: 15.899687s
      After:  10.011705s
      
      Slowdown is even more significant if you have a lot of namespace that slowdown
      lookup.
      
      The time is now spent with this approximate repartition:
      
        Matcher: 20%
          regexp matching: 10%
        changelog.read: 80%
          reading revision: 60%
            checking hash: 15%
            decompression: 15%
            reading chunk: 30%
          changelog parsing: 20%
            decoding to local: 10%
      
      The next easy win is probably to have more of the changelog stack implemented
      using the CPython api.
      f92053df8f0b
  18. Nov 18, 2015
    • Siddharth Agarwal's avatar
      mergestate: handle additional record types specially · a01ecbcfaf84
      Siddharth Agarwal authored
      This works around a bug in older Mercurial versions' handling of the v2 merge
      state.
      
      We also add a bunch of tests that make sure that
      (1) we correctly abort when the merge state has an unsupported record type
      (2) aborting the merge, rebase or histedit continues to work and clears out the
          merge state.
      a01ecbcfaf84
  19. Nov 19, 2015
  20. Nov 18, 2015
    • liscju's avatar
      fileset: add missing() predicate (issue4925) · ceef5fb14872
      liscju authored
      Help of status cmd defines status file of 'missing', what is
      called in fileset 'deleted'. To stay consistent this patch
      introduces missing() predicate which in fact is alias to
      'deleted'.
      ceef5fb14872
  21. Nov 10, 2015
    • Anton Shestakov's avatar
      webutil: make _siblings into an object with __iter__ and __len__ · 0c8ef79b9fd7
      Anton Shestakov authored
      _siblings is a helper that is used for displaying changeset parents and
      children in hgweb. Before, when it was a simple generator, it couldn't tell its
      length without being consumed, and that required a special case when preparing
      data for changeset template (see 9e1f4c65f5f5).
      
      Let's make it into a class (similar to templatekw._hybrid) that allows len(...)
      without side-effects.
      0c8ef79b9fd7
  22. Nov 19, 2015
  23. Nov 18, 2015
  24. Nov 01, 2015
  25. Nov 19, 2015
    • Matt Mackall's avatar
      perf: un-bitrot perfstatus · cdc3e437b481
      Matt Mackall authored
      cdc3e437b481
    • Matt Mackall's avatar
      util: drop statmtimesec · 448cbdab5883
      Matt Mackall authored
      We've globablly forced stat to return integer times which agrees with
      our extension code, so this is no longer needed.
      
      This speeds up status on mozilla-central substantially:
      
      $ hg perfstatus
      ! wall 0.190179 comb 0.180000 user 0.120000 sys 0.060000 (best of 53)
      $ hg perfstatus
      ! wall 0.275729 comb 0.270000 user 0.210000 sys 0.060000 (best of 36)
      448cbdab5883
    • Matt Mackall's avatar
      util: disable floating point stat times (issue4836) · 341cb90ffd18
      Matt Mackall authored
      Alternate fix for this issue which avoids putting extra function calls
      and exception handling in the fast path.
      
      For almost all purposes, integer timestamps are preferable to
      Mercurial. It stores integer timestamps in the dirstate and would thus
      like to avoid doing any float/int comparisons or conversions. We will
      continue to have to deal with 1-second granularity on filesystems for
      quite some time, so this won't significantly hinder our capabilities.
      
      This has some impact on our file cache validation code in that it
      lowers timestamp resolution. But as we still have to deal with
      low-resolution filesystems, we're not relying on this anyway.
      
      An alternate approach is to use stat[ST_MTIME], which is guaranteed to
      be an integer. But since this support isn't already in our extension,
      we can't depend on it being available without adding a hard Python->C
      API dependency that's painful for people like yours truly who have
      bisect regularly and people without compilers.
      341cb90ffd18
Loading