Skip to content
Snippets Groups Projects
  1. Jul 21, 2017
  2. Jul 19, 2017
  3. Jul 21, 2017
    • Steve Borho's avatar
      wix: update list of necessary pyd files · e12c3049af8e
      Steve Borho authored
      e12c3049af8e
    • Jun Wu's avatar
      run-tests: pre instantiate pygments objects · 20436925e080
      Jun Wu authored
      This speeds up run-tests.py diff output by 10x, which affects developer
      experience significantly. As demonstrated by the following test:
      
      ```
      #require pygments
      
        $ for i in `seq 1 200`; do
        >   echo '  $ echo '$i >> test-a.t
        >   echo '  wrong' >> test-a.t
        > done
      
        $ cat > walltime.py <<EOF
        > from __future__ import absolute_import, print_function
        > import os, sys, time
        > t1 = time.time()
        > os.system(' '.join(sys.argv[1:]) + ' >/dev/null 2>/dev/null')
        > t2 = time.time()
        > print('%0.2f' % (t2 - t1))
        > EOF
      
        $ $PYTHON walltime.py $TESTDIR/run-tests.py -l --color=never $TESTTMP/test-a.t
        0.24
      
      Before this patch:
      
        $ $PYTHON walltime.py $TESTDIR/run-tests.py -l --color=always $TESTTMP/test-a.t
        2.46
      
      After this patch:
      
        $ $PYTHON walltime.py $TESTDIR/run-tests.py -l --color=always $TESTTMP/test-a.t
        0.25
      ```
      20436925e080
  4. Jul 19, 2017
  5. Jul 21, 2017
  6. Jul 19, 2017
  7. Jul 18, 2017
    • Matt Harbison's avatar
      test-https: properly conditionalize Windows vs non-Windows output · 5b286cfe4fb0
      Matt Harbison authored
      There's a bug in the (feature !) annotation, and this needs to be resolved
      before fixing it.  Once fixed, the glob '*/missing' will match the output
      '/missing' on non-Windows platforms, consuming the output line and leaving
      nothing for the no-windows required line.
      
      I probably should have made (foo !) match only the 'foo' feature, and be ignored
      otherwise instead of optional.  (re) didn't work here, because the parenthesis
      need to be escaped too.
      5b286cfe4fb0
  8. Jul 19, 2017
  9. Jul 18, 2017
    • Rishabh Madan's avatar
      releasenotes: add custom admonitions support for release notes · 9a944e908ecf
      Rishabh Madan authored
      By default, the extension has default sections like fix, feature, perf etc.. This
      patch allow user to add support for custom admonition. In order to add a custom
      admonition, one needs to have a .hgreleasenotes file inside the repository. All the
      custom directive with name specified under the tag [sections] will be
      usable by the extension. One important thing to keep in mind is if there exists any
      custom admonitions with same key as default then they will override the default ones.
      9a944e908ecf
    • Ryan McElroy's avatar
      check-config: mention the file and line of the error · e470f12d7d05
      Ryan McElroy authored
      I used this to more quickly track down a failing test-check-config.t issue
      in another repo. I thought it might be useful more generally, so I'm sending
      it out in case others think it's a worthwhile change.
      e470f12d7d05
    • Durham Goode's avatar
      rebase: add config to move rebase into a single transaction · d341677d667d
      Durham Goode authored
      This was previously landed as cf8ad0e6c0e4 but backed out in a5abaa81fad6 because
      it broke hook mid rebase and caused conflict resolution data loss in the event
      of unexpected exceptions. This new version adds the behavior back but behind a
      config flag, since the performance improvement is notable in large repositories.
      
      The next patch adds a test covering this config.
      
      The old commit message was:
      
      Previously, rebasing would open several transaction over the course of rebasing
      several commits. Opening a transaction can have notable overhead (like copying
      the dirstate) which can add up when rebasing many commits.
      
      This patch adds a single large transaction around the actual commit rebase
      operation, with a catch for intervention which serializes the current state if
      we need to drop back to the terminal for user intervention. Amazingly, almost
      all the tests seem to pass.
      
      On large repos with large working copies, this can speed up rebasing 7 commits
      by 25%. I'd expect the percentage to be a bit larger for rebasing even more
      commits.
      
      There are minor test changes because we're rolling back the entire transaction
      during unexpected exceptions instead of just stopping mid-rebase, so there's no
      more backup bundle. It also leave an unknown file in the working copy, since our
      clean up 'hg update' doesn't delete unknown files.
      (grafted from cca36c7f35261b0e31beb226bf361067ef0e06ab)
      (grafted from dc497d8705b71503e32e07bd33925c1e42cf9c9a)
      
      Differential Revision: https://phab.mercurial-scm.org/D134
      d341677d667d
  10. Jul 17, 2017
  11. Jul 11, 2017
  12. Jul 18, 2017
  13. Jul 17, 2017
  14. Jul 15, 2017
  15. Jul 17, 2017
    • Gregory Szorc's avatar
      gitweb: preserve whitespace in description · 875b054e5b95
      Gregory Szorc authored
      Without this, multiple spaces or tabs in the commit message aren't
      preserved and things like tables don't align properly.
      
      As part of adding the CSS rule, we had to cuddle the content
      with the <div> to not introduce leading and trailing whitespace.
      The "addbreaks" filter was also removed because it would insert
      an additional newline, effectively double spacing content.
      
      Differential Revision: https://phab.mercurial-scm.org/D113
      875b054e5b95
    • Gregory Szorc's avatar
      sparse: add a requirement when a repository uses sparse (BC) · 22371eabb3b1
      Gregory Szorc authored
      The presence of a sparse checkout can confuse legacy clients or
      clients without sparse enabled for reasons that should be obvious.
      
      This commit introduces a new repository requirement that tracks
      whether sparse is enabled. The requirement is added when a sparse
      config is activated and removed when the sparse config is reset.
      
      The localrepository constructor has been taught to not open repos
      with this requirement unless the sparse feature is enabled. It yields
      a more actionable error message than what you would get if the
      lockout were handled strictly at the requirements verification phase.
      Old clients that aren't sparse aware will see the generic
      "repository requires features unknown to this Mercurial" error,
      however.
      
      The new requirement has "exp" in its name to reflect the
      experimental nature of sparse. There's a chance that the eventual
      non-experimental feature won't change significantly and we could
      have squatted on the "sparse" requirement without ill effect. If
      that happens, we can teach new clients to still recognize the old
      name. But I suspect we'll sneak in some BC and we'll want a new
      requirement to convey new meaning.
      
      Differential Revision: https://phab.mercurial-scm.org/D110
      22371eabb3b1
    • Gregory Szorc's avatar
      sparse: consolidate common code for writing sparse config · 6755b719048c
      Gregory Szorc authored
      In 3 functions we were writing the sparse config and updating the
      working directory. In two of them we had a transaction-like process
      for restoring the sparse config in case of wdir update fail.
      
      Because the pattern is common, we've already made mistakes, and the
      complexity will increase in the near future, let's consolidate the
      code into a reusable function.
      
      As part of this refactor, we end up reading the "sparse" file twice
      when updating it. This is a bit sub-optimal. But I don't think it
      is worth the code complexity to pass around the variables to avoid
      the redundancy.
      
      Differential Revision: https://phab.mercurial-scm.org/D109
      6755b719048c
  16. Jul 15, 2017
    • Gregory Szorc's avatar
      revset: pass repo when passing ui · 2943141f5e07
      Gregory Szorc authored
      The repo instance is currently only used to provide a changeset
      lookup function as part of parsing revsets. I /think/ this allows
      node fragments to resolve. I'm not sure why we wouldn't want this
      to always "just work" if parsing a revset string.
      
      Plus, an upcoming commit will introduce a new consumer that needs a
      handle on the repo. So passing it more often will make that code
      work more.
      
      Passing a repo instance in all callers of revset.match* results in
      a bunch of test changes. Notably, branch and tags caches get
      populated as part of evaluating revsets. I'm not sure if this is
      desirable. So this patch takes the conservative approach and only
      passes the repo if we're passing a ui instance.
      
      Differential Revision: https://phab.mercurial-scm.org/D97
      2943141f5e07
  17. Jul 17, 2017
  18. Jul 14, 2017
    • Pulkit Goyal's avatar
      run-tests: make sure to check if pygments is installed before using it · 754569f5e999
      Pulkit Goyal authored
      e80041832eec introduced support to color the output of tests but used pygments
      without checking whether it's installed or not. That breaks test-run-tests.t for
      machines which don't have pygments installed. This patch conditionalize the
      color test in test-run-tests.t and also add a check to make sure pygments is
      installed before using that.
      754569f5e999
  19. Jul 15, 2017
  20. Jul 17, 2017
  21. Jun 17, 2017
    • Pulkit Goyal's avatar
      status: add a flag to terse the output (issue4119) · 4cd4344a53c4
      Pulkit Goyal authored
      This adds an experimental flag -t/--terse which will terse the output. The terse flag
      will respect other flags which filters the output. The flag takes a string
      whose value can be a subsequence of "marduic" (the order does not matter here.)
      
      Ignored files are not considered while tersing unless -i flag is passed or 'i'
      is there is the terse flag value.
      
      The flag is experimental for testing as there may be cases which will produce
      strange results with the flag. We can set the terse on by default by simply
      passing 'u' to the cmdutil.tersestatus().
      
      This patch also adds a test file with tests covering the new feature.
      4cd4344a53c4
  22. Jul 12, 2017
  23. Jul 11, 2017
  24. Jul 17, 2017
  25. Jul 16, 2017
    • Matt Harbison's avatar
      archive: use a templater to build the metadata file · 4c4e95cae33a
      Matt Harbison authored
      There are no visible changes here.
      
      I'm starting to wonder if adding the '+' to the 'node' line instead of a
      separate key line in 3047167733dc was the right thing to do.  The '{node}'
      keyword never includes '+' elsewhere, and the way setup.py works, it would
      truncate it anyway.  Additionally, the file is missing '{p2node}' when 'wdir()'
      merges are archived.  I thought about adding an 'identify' line that would
      correspond to `hg id -n`.  But the other nodes are the full 40 characters, and
      the output most useful for versioning is the short form.  All of this cries out
      for customization via templating.  (Although maybe having the short identify
      line by default is still a good idea.)
      4c4e95cae33a
Loading