Introduce HG_PREPEND to solve pretxn races
- add writepending to flush delayed writes to separate file
- add support in hooks for lazy evaluation of callable parameters
- add HG_PENDING to pretxn hooks
- call writepending if hook is used
- pass repo root to hook environment
- if HG_PENDING = repo root, we're in pretxn hook
- read pending data to make pending changesets visible
- filter HG_PENDING in tests/printenv.py
test-merge-tool: Make sure no hgmerge can be found in $PATH
The merge tool selecting algorithm is hardcoded to look for hgmerge in $PATH
before it falls back to use internal merge. This fixes the test for this
fallback to be tolerant to existing hgmerges.
audit: check for casefolding of .hg (
issue1450)
patch: teach selectfile about symlinks (
issue1438)
mq: handle empty patches more gracefully (
issue1501)
keepalive: borrow code from newer httplib to patch ValueError (
issue1088)
rename: simplify forced renaming
This should help work around virus scanner issues with rename on Windows.
log: ignore --removed if no files specified (
issue1166)
Otherwise we filter out merge changesets with no changed files
Don't fail on clone on win98 (
issue1492)
hgk: select first changeset at startup (
issue1382)
pure/mpatch: use StringIO instead of mmap (
issue1493)
This is more portable than memory mapping /dev/zero: Windows obviously
does not have /dev/zero and mapping /dev/zero failed on Mac OS X.
Handle when the slicemap option is an empty string
In the cmdtable for the convert extension, the default value for splicefile is
empty string, while mapfile (the class that reads splicemaps) expects either a
real path or None. This patch changes mapfile to expect a real path or logical
false (False, None, empty string, etc.)