A Scalable, User-Friendly Source Control System.
Go to file
Siddharth Agarwal 8529661292 filectx: add isabsent method
This will indicate whether this filectx represents a file that is *not* in a
changectx. This will be used by merge and filemerge code to know about when a
conflict is a change/delete conflict.

While this is kind of hacky, it is the least bad of all the alternatives. Other
options considered but rejected include:
- isinstance(fctx, ...) -- not very Pythonic, doesn't support duck typing
- fctx.size() is None -- the 'size()' call on workingfilectxes causes a disk stat
- fctx.filenode() == nullid -- the semantics around filenode are incredibly
  confusing. In particular, for workingfilectxes, filenode() is always None no
  matter whether the file is present on disk or in either parent. Having different
  behavior for None versus nullid in the merge code is just asking for pain.

Thanks to Pierre-Yves David for early review feedback here.
2015-11-16 11:27:27 -08:00
contrib import-checker: reset context to verify convention in function scope 2015-11-01 17:42:03 +09:00
doc spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgext convert: use repo._bookmarks.recordchange instead of repo._bookmarks.write 2015-11-16 17:15:36 -08:00
i18n i18n: make sure to include translation of (DEPRECATED) 2015-11-03 22:44:57 +09:00
mercurial filectx: add isabsent method 2015-11-16 11:27:27 -08:00
tests debugmergestate: print out record type for files 2015-11-13 23:01:36 -08:00
.hgignore hgignore: ignore the PyCharm workspace folder 2014-10-13 11:46:04 +02:00
.hgsigs Added signature for changeset ec7a5e1a55ed 2015-11-09 16:24: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 hg: add support for HGUNICODEPEDANTRY environment variable 2014-06-23 09:33:07 -04:00
hgeditor spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgweb.cgi urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
Makefile makefile: add wheel build target 2015-10-09 12:30:46 -05:00
README urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
setup.py setup: import setup from setuptools if FORCE_SETUPTOOLS is set 2015-10-09 12:25:51 -05: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 https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.