Skip to content
Snippets Groups Projects
  1. Jan 02, 2013
  2. Jan 01, 2013
    • durin42's avatar
      test-command-template.t: fix test so it all year · 24f5bec1601f
      durin42 authored
      This test started failing for me after midnight UTC on December
      31st. Fixed it by specifying a date 7 years in the future more
      precisely (rather than just adding 8 to the year and specifying
      January 1st), which allows the test to pass both now and on 2012-12-01
      at the same time.
      24f5bec1601f
  3. Dec 30, 2012
  4. Dec 29, 2012
    • Pierre-Yves David's avatar
      amend: invalidate dirstate in case of failure (issue3670) · 153659e86a5f
      Pierre-Yves David authored
      The temporary commit created by amend update the dirstate. If the final commit
      fails, we need to invalidate the change made to the dirstate, otherwise the
      release of the wlock will write the dirstate created after the rollbacked
      temporary commit.
      
      This dirstate writing logic should probably be handled in the same object than
      the transaction one. However such change are too big for stable.
      153659e86a5f
  5. Nov 23, 2012
  6. Dec 27, 2012
  7. Dec 20, 2012
  8. Dec 30, 2012
  9. Dec 20, 2012
  10. Dec 23, 2012
  11. Dec 28, 2012
  12. Dec 13, 2012
    • Mads Kiilerich's avatar
      largefiles: don't walk through all ignored files · a907826c158c
      Mads Kiilerich authored
      Problem: 'hg status' with largefiles enabled would walk through all the files
      that .hgignore said should be ignored. That made it slow if a lot of files were
      .hgignored or the cache was cold.
      
      It seems like there was a reason to this, but other improvements has rendered
      this unnecessary.
      
      Solution: .hgignore is now only ignored when that is requested (--ignore).
      
      This is a minimal 'stable' change. There is room for other improvement.
      a907826c158c
    • Mads Kiilerich's avatar
      largefiles revert: update lfdirstate with result from first cleanliness check · e388273f3ad1
      Mads Kiilerich authored
      Largefiles revert do for some reason have two lfdirstates and lfdirstatestatus
      invocations in one function. The result from the first lfdirstate check was
      however not written back to the lfdirstate, and some files was thus checked
      twice.
      e388273f3ad1
    • Mads Kiilerich's avatar
      largefiles status: update lfdirstate with result from cleanliness check · 03faf12fbee7
      Mads Kiilerich authored
      Problem: 'hg status' kept checking largefiles with an unknown state until some
      other command wrote the updated dirstate.
      
      Solution: Add missing lfdirstate.write().
      03faf12fbee7
  13. Dec 28, 2012
    • Mads Kiilerich's avatar
      bundlerepo: don't return the peer without bundlerepo from getremotechanges · 8ab0640c3090
      Mads Kiilerich authored
      Problem:
      getremotechanges would return the 'other' repo if nothing was incoming and
      there thus wasn't any bundle to base the repo on. The 'other' could be a http
      peer which only implement the functionality available over the http protocol.
      Transplant could thus fail with
        TypeError: argument of type 'httppeer' is not iterable
      
      Solution:
      Return the local repo instead of the remote peer if there is no reason to place
      a bundlerepo on top of the local repo.
      8ab0640c3090
  14. Dec 24, 2012
    • kiilerix's avatar
      bookmarks: fix head selection for merge with two bookmarked heads · 730b769fb634
      kiilerix authored
      A type mismatch caused the search for the other head to fail. The code is
      fragile, and instead it ended up using the 'first' bookmark head, but the
      ordering is undefined and it could thus randomly use the wrong bookmarkhead
      and fail with:
      
        $ hg up -q -C e@diverged
        $ hg merge
        abort: merging with a working directory ancestor has no effect
      730b769fb634
  15. Nov 29, 2012
  16. Dec 15, 2012
  17. Dec 10, 2012
    • Levi Bard's avatar
      largefiles: commit directories that only contain largefiles (issue3548) · 7e2b9f6a2cd0
      Levi Bard authored
      If we pass a directory to commit whose only commitable files
      are largefiles, the core commit code aborts before finding
      the largefiles.
      So we do the following:
      For directories that only have largefiles as matches,
      we explicitly add the largefiles to the matchlist and remove
      the directory.
      In other cases, we leave the match list unmodified.
      7e2b9f6a2cd0
  18. Dec 06, 2012
  19. Dec 05, 2012
  20. Dec 04, 2012
  21. Dec 03, 2012
  22. Nov 30, 2012
  23. Dec 03, 2012
  24. Nov 29, 2012
    • Katsunori FUJIWARA's avatar
      subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API) · 0c10cf819146
      Katsunori FUJIWARA authored
      Color extension achieves colorization by overriding the class of
      "ui" object just before command execution.
      
      Before this patch, "diff()" of abstractsubrepo and classes
      derived from it has no "ui" argument, so "diff()" of hgsubrepo
      uses "self._repo.ui" to invoke "cmdutil.diffordiffstat()".
      
      For separation of configuration between repositories, revision
      573bec4ab7ba changed the initialization source of "self._repo.ui"
      from "ui"(overridden) to "baseui"(plain) of parent repository.
      And this caused break of colorization.
      
      This patch adds "ui" argument to "diff()" of abstractsubrepo and
      classes derived from it to pass "ui" object of caller side.
      2.4.1
      0c10cf819146
    • Pierre-Yves David's avatar
      rebase: fix pull --rev options clashing with --rebase (issue3619) · 848345a8d6ad
      Pierre-Yves David authored
      Rebase also have a plain `--rev` option used to select the rebase set (as
      `--base` or `--source` would). But the content of the --rev option was intended
      for the remote repo and is irrelevant for the local rebase operation. We expect
      `hg pull --rebase` to stick with the default behavior here:
      
          hg rebase --base . --dest tip(branch(.))
      
      The `rev` option is dropped from the option passed to rebase.
      848345a8d6ad
  25. Nov 28, 2012
  26. Nov 27, 2012
    • Tim Henigan's avatar
      update: allow update to existing branches with invalid names (issue3710) · b74361cf7c0a
      Tim Henigan authored
      Starting with 361ab1e2086f, users are no longer able to update a
      working copy to a branch named with a "bad" character (such as ':').
      
      Prior to v2.4, it was possible to create branch names using "bad"
      characters, so this breaks backwards compatibility.
      
      Mercurial must allow users to update to existing branches with bad
      names.  However, it should continue to prevent the creation of new
      branches with bad names.
      
      A test was added to confirm that 'hg update' works as expected. The
      test uses a bundled repo that was created with an earlier version of
      Mercurial.
      b74361cf7c0a
  27. Nov 28, 2012
  28. Nov 25, 2012
  29. Nov 26, 2012
    • Matt Mackall's avatar
      hooks: be even more forgiven of non-fd descriptors (issue3711) · 2c63896783e3
      Matt Mackall authored
      Looks like there are instances where sys.stdout/stderr contain file
      handles that are invalid. We should be tolerant of this for hook I/O
      redirection, as our primary concern is not garbling our own output stream.
      2c63896783e3
    • Matt Mackall's avatar
      hooks: delay I/O redirection until we actually run a hook (issue3711) · 6180dcb29ec5
      Matt Mackall authored
      We were attempting to redirect I/O even if no hook was actually
      getting called. This defers redirection until we've found something to
      do.
      6180dcb29ec5
    • Matt Mackall's avatar
      util: make chunkbuffer non-quadratic on Windows · 4c29668ca316
      Matt Mackall authored
      The old str-based += collector performed very nicely on Linux, but
      turns out to be quadratically expensive on Windows, causing
      chunkbuffer to dominate in profiles.
      
      This list-based version has been measured to significantly improve
      performance with large chunks on Windows, with negligible overall
      overhead on Linux (though microbenchmarks show it to be about 50% slower).
      
      This may increase memory overhead where += didn't behave quadratically. If we
      want to gather up 1G of data to join, we temporarily have 1G in our
      list and 1G in our string.
      4c29668ca316
    • Matt Mackall's avatar
      revset: backed out changeset 54cedee86e51 · b0affcb67cba
      Matt Mackall authored
      This was causing clones of the hg repo to go from 12.4s to 14.7s.
      b0affcb67cba
  30. Nov 16, 2012
    • Durham Goode's avatar
      commit: increase perf by avoiding checks against entire repo subsets · 54cedee86e51
      Durham Goode authored
      When commiting to a repo with lots of history (>400000 changesets)
      checking the results of revset.py:descendants against the subset takes
      some time.  Since the subset equals the entire changelog, the check
      isn't necessary.  Avoiding it in that case saves 0.1 seconds off of
      a 1.78 second commit. A 6% gain.
      
      We use the length of the subset to determine if it is the entire repo.
      There is precedence for this in revset.py:stringset.
      54cedee86e51
    • Durham Goode's avatar
      commit: increase perf by avoiding unnecessary filteredrevs check · 6f79c32c0bdf
      Durham Goode authored
      When commiting to a repo with lots of history (>400000 changesets)
      the filteredrevs check (added with 5c89e7fa5bc2) in changelog.py
      takes a bit of time even if the filteredrevs set is empty. Skipping
      the check in that case shaves 0.36 seconds off a 2.14 second commit.
      A 17% gain.
      6f79c32c0bdf
Loading