A Scalable, User-Friendly Source Control System.
Go to file
Siddharth Agarwal 262d694589 pull: list bookmarks before pulling changesets (issue3873)
Consider a bookmark B that exists both locally and remotely. If B is updated
remotely, and then a pull is performed where the pull set contains the new
location of B, the bookmark is updated locally. However, if remote B is
updated in the middle of a pull to a location not in the pull set, the
bookmark won't be updated locally at all.

To fix this, list bookmarks before pulling in changesets, not after. This
still leaves a race open if B gets moved in between listing bookmarks and
pulling in changesets, but the race window is much smaller. Fixing the race
properly would require a bundle format upgrade.

test-hook.t's output changes because we no longer do two listkeys calls during
pull, just one.

test-pull-http.t's output changes because we now search for bookmarks before
searching for changes.
2013-03-29 19:54:06 -07:00
contrib perf: add perfdirs command 2013-04-01 13:46:32 -07:00
doc help: use a full header for topic titles 2013-02-10 12:58:57 +01:00
hgext blackbox: defer opening a log file until needed (issue3869) 2013-03-26 16:27:51 -07:00
i18n i18n-ja: synchronized with 10161c15d778 2013-03-01 03:25:19 +09:00
mercurial pull: list bookmarks before pulling changesets (issue3873) 2013-03-29 19:54:06 -07:00
tests pull: list bookmarks before pulling changesets (issue3873) 2013-03-29 19:54:06 -07:00
.hgignore exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
.hgsigs Added signature for changeset 148259109d6c 2013-02-28 21:53:13 -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 mq: add a warning about uncommitted changes for qfinish 2011-11-10 15:40:34 -06:00
Makefile check-code: add Makefile target to run check-code 2013-02-09 15:57:04 +01:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py setup.py: ignore warnings from obsolete 2013-03-04 10:05:52 +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

Running without installing:

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

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