A Scalable, User-Friendly Source Control System.
Go to file
Na'Tosha Bard 112b1abe18 largefiles: optimize status when files are specified (issue3144)
This fixes a performance issue with 'hg status' when files are specified
on the command-line.  Previously, a large amount of largefiles code was
executed, even if files were specified on the command-line and those files
were not largefiles.  This patch fixes the problem by first checking if
non-largefiles were specified on the command-line and, just letting the
normal status function handle the case if they were.

On a brand new machine, the execution time for 'hg status filename' on
a repository with largefiles was:

real    0m0.636s
user    0m0.512s
sys     0m0.120s

versus the following (the same repository, with largefiles disabled):

real    0m0.215s
user    0m0.180s
sys     0m0.032s

After this patch, the performance of 'hg status filename' on the same
repository, with largefiles enabled is:

real    0m0.228s
user    0m0.189s
sys     0m0.036s

This performance boost is also true when patterns (rather than specific
files) are specified on the command-line.

In the case where patterns are specified in addition to a file list, we
just defer to the normal codepath in order to not spend extra time
expanding the patterns to just risk having to expand them again later.
2011-12-15 16:23:26 +01:00
contrib zsh completion: add support for qfinish 2011-12-12 11:54:22 -06:00
doc Describe all files related to the standard commands. 2011-12-06 15:50:28 +01:00
hgext largefiles: optimize status when files are specified (issue3144) 2011-12-15 16:23:26 +01:00
i18n i18n-de: Error reported by Mathias Goldau and commit msg shortened 2011-12-10 20:48:33 +02:00
mercurial phases: exchange phase boundaries on push 2011-12-15 11:45:01 +01:00
tests phases: exchange phase boundaries on push 2011-12-15 11:45:01 +01:00
.hgignore hgignore: ignore MANIFEST.in (generated since 3f7ee5b12708) 2011-06-10 20:38:02 +02:00
.hgsigs Added signature for changeset b4eeeb8c0f79 2011-12-01 15:55:37 -06:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
hg rename util.set_binary to setbinary 2011-05-06 15:25:35 +02:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi hgweb: add hint about finding library path with debuginstall 2011-11-10 15:08:51 -06:00
Makefile Makefile: adjust example, test-merge1 is now test-merge1.t 2011-10-28 12:59:50 +02:00
README README: add small introduction 2010-10-27 12:05:37 +02:00
setup.py setup: fix py2exe generation broken by c7ccdf21c98c (issue3116) 2011-11-20 19:14:36 +01:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

See http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.