Mercurial 3.4 (2015-05-01)#
Mercurial 3.4.2 (2015-07-01)#
changegroup: properly compute common base in changeggroupsubset (issue4736)
crecord: fix a typo introduced when moving crecord to core
crecord: fix three typos introduced while moving crecord into core
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set
hgwebdir: don't allow the hidden parent of a subrepo to show as a directory
parsers: do not cache RevlogError type (issue4451)
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
templater: do not preprocess template string in "if" expression (issue4714)
templater: evaluate arguments passed to diff() appropriately
templater: parse \"...\" as string for 2.9.2-3.4 compatibility (issue4733)
transplant: only pull the transplanted revision (issue4692)
transplant: update test to use hash for remote transplant
Mercurial 3.4.1 (2015-06-01)#
This is a regularly-scheduled bugfix release.
archive: always use portable path component separators with subrepos
commands: hide formatter option as EXPERIMENTAL, not as DEPRECATED
context: don't complain about a matcher's subrepo paths in changectx.walk()
convert: properly pass null ids through .hgtags (issue4678)
extensions: clear aftercallbacks after execution (issue4646)
hgweb: bring back infinite scroll in shortlog of paper style
histedit: fix --continue when rules are finished
histedit: fix --edit-plan
histedit: fix keep during --continue
histedit: fix serializing of None backupfile
histedit: fix test-histedit-edit on vfat
localrepo: pass hook argument txnid to pretxnopen hooks
localrepo: rename hook argument from TXNID to txnid (BC)
localrepo: use correct argument name for pretxnclose hooks (BC)
match: explicitly naming a subrepo implies always() for the submatcher
mergecopies: avoid slowdown from linkrev adjustment (issue4680)
rebase: check that the bookmark is still valid when restoring (issue4669)
rebase: clear merge when aborting before any rebasing (issue4661)
revbranchcache: return uncached branchinfo for nullrev (issue4683)
revset: drop magic of fullreposet membership test (issue4682)
revset: id() called with 40-byte strings should give the same results as for short strings
revset: map postfix '%' to only() to optimize operand recursively (issue4670)
ssh: capture output with bundle2 again (issue4642)
templatekw: compare target context and its parent exactly (issue4690)
templater: do not process \-escapes at parsestring() (issue4290)
templater: fix crash by passing invalid object to date() function
templater: strictly parse leading backslashes of '{' (issue4569) (BC)
transaction: really fix _addbackupentry key usage (issue4684)
transaction: separate calculating TXNID from creating transaction object
transaction: use the proper variable in '_addbackupentry' (issue4684)
util.checkcase: don't abort on broken symlinks
Mercurial 3.4 (2015-05-01)#
This is a regularly-scheduled feature release.
Commands#
annotate: add option to annotate working-directory files
annotate: always prepare ancestry context of base fctx (issue4600)
annotate: always adjust linkrev before walking down to parents (issue4623)
annotate: prepare ancestry context of workingfilectx
bookmarks: add incoming() to replace diff() for incoming bookmarks
bookmarks: add outgoing() to replace diff() for outgoing bookmarks
bookmarks: check @pathalias suffix before available @number for efficiency
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
bookmarks: prevent divergent bookmark from being updated unexpectedly
bookmarks: reuse @number bookmark, if it refers changeset referred remotely
bookmarks: rewrite comparing bookmarks in commands.summary() by compare()
bookmarks: show detailed status about incoming/outgoing bookmarks
clone: add progress support to hardlink clones (issue3059)
commands.import: accept a prefix option
commands.push: abort when revisions evaluate to empty set (BC)
commands: add ui.statuscopies config knob
debuginstall: expand the editor path before searching for it (issue4380)
files: split reusable implementation into cmdutil for subrepo support
files: use ctx object to access dirstate
graft: allow creating sibling grafts
graft: record intermediate grafts in extras
log: display closing-branch nodes as "_" (BC)
log: fix --follow null parent not to include revision 0
log: make -fr show complete history from the given revs (BC)
log: prefer 'wctx' over 'pctx' for working context
patch.internalpatch: accept a prefix parameter
patch.internalpatch: add a default value for prefix
patch: rename pathstrip to pathtransform
pull: print "pulling from foo" before accessing the other repo
push: acquire local 'wlock' if "pushback" is expected (BC) (issue4596)
resolve: silence warning of unknown pats for -l/--list (BC)
revert: evaluate filesets against working directory (issue4497)
revert: fix --interactive on local modification (issue4576)
revert: stop marking files clean after interactive revert (issue4592)
revert: accept just -I/-X without paths or -a/-i (issue4592)
revert: apply normallookup on reverted file if size isn't changed (issue4583)
revert: restore the ability to revert across case only renames (issue4481)
status: add relative directory help text (issue3835)
Core#
bundle2: capture transaction rollback message output (issue4614)
bundle2: disable ouput capture unless we use http (issue4613 issue4615)
changelog: fix readpending if no pending data exist (issue4609)
dirstate: fix order of initializing nf vs f
filelog: allow censored files to contain padding data
merge: run update hook after the last wlock release
pushkey: flush pending data before running a pre-pushkey hook (issue4607)
repoview: improve compute staticblockers perf
revlog: _addrevision creates full-replace deltas based on censored revisions
revlog: add "iscensored()" to revlog public API
revlog: addgroup checks if incoming deltas add censored revs, sets flag bit
revlog: in addgroup, reject ill-formed deltas based on censored nodes
revlog: make converting from inline to non-line work after a strip
revlog: special case expanding full-replacement deltas received by exchange
subrepo: don't write .hgsubstate lines with empty subrepo state (issue4622)
subrepo: update the help text to account for diff -I/-X gitsubrepo support
tags: establish a separate and shared cache of .hgtags filenodes
tags: change format of tags cache files
tags: have a different cache file per filter level
ui: disable revsetaliases in plain mode (BC)
util: add progress callback support to copyfiles
windows: make shellquote() quote any path containing '\' (issue4629)
Extensions#
color: be more conservative about setting ANSI mode on Windows (BC)
color: fix crash in cmd.exe
color: omit terminfo/win32 warning if non-interactive (issue4543)
color: support a different color mode when the pager is active
convert: adjust progress bar for octopus merges (issue4169)
histedit: add --edit-plan option to histedit
histedit: allow histedit --continue when not on a descendant (BC)
histedit: fix preventing strips during histedit
histedit: fix style of new error message
histedit: improve roll action integration with fold
histedit: fix rollup prompting for a commit message (issue4606)
largefiles: don't crash when cloning to a remote repo
largefiles: don't mangle filesets when fixing up the log matcher
largefiles: always consider updatelfiles 'checked' parameter set
largefiles: avoid infinite recursive call of openlfdirstate in overriderevert
largefiles: don't create chain of __contains__ calls
largefiles: don't prefix standin patterns with '.hglf' when logging
largefiles: don't warn when reverting a forgotten largefile
largefiles: extract and reuse 'standin' variable in overriderevert()
largefiles: for update -C, only update largefiles when necessary
largefiles: handle logging from outside the repo
largefiles: introduce lfutil.findstorepath()
largefiles: override cmdutil.revert() instead of comands.revert()
largefiles: report the source of copied/moved largefiles in status -C
largefiles: set the extension as enabled locally after a clone requiring it
largefiles: teach log to handle patterns
largefiles: update _subdirlfs() comment
largefiles: use common function to build content of .hg_archival.txt
largefiles: use lfutil.findstorepath() when verifying a local repo
largefiles: use the core file copy logic to validate the destination path
largefiles: use the share source as the primary local store (issue4471)
mq: avoid silent failure when single patch doesn't apply (issue4604)
rebase: don't forward "source" argument to rebase (issue4633)
rebase: restore bookmark state on abort
record: edit patch of newly added files (issue4304)
record: fix adding new file with record from within a subdir (issue4626)
record: fix record with change on moved file crashes (issue4619)
shelve: acquire lock in the right order
shelve: add interactive mode
shelve: add interactive mode command line option
Hgweb#
hgweb: resurrect <span> tag on diffline to fix rendering in monoblue style
hgweb: use introrev() for finding parents (issue4506)
json: implement {bookmarks} template
json: implement {branches} template
json: implement {changeset} template
json: implement {comparison} template
json: implement {fileannotate} template
json: implement {filediff} template
json: implement {helptopics} template
json: implement {help} template
json: implement {manifest} template
json: implement {shortlog} and {changelog} templates
json: implement {tags} template
Unsorted#
archive: change the default prefix to
''from Nonearchive: look for first visible revision to build repo identity (issue4591)
bundle2-localpeer: properly propagate the server output on error (issue4594)
bundle2-wireproto: properly propagate the server output on error (issue4594)
changeset_printer: display p1rev:p1node with "+" suffix for workingctx
check-commit: be more picky about detection of wrong bug tag
check-commit: check capitalization in summary lines
churn: deprecate -t option in favour of -T
crecord: fix another underbar
crecord: fix underbar style for orig_stdout
devel-warn: add a prefix to all messages ("devel-warn: ")
dirs._addpath: don't mutate Python strings after exposing them (issue4589)
dispatch: consolidate formatting of ParseErrors
dispatch: offer near-edit-distance suggestions for {file,rev}set functions
dispatch: offer suggestions of similar-named commands
extensions: support callbacks after another extension loads
get-with-headers: support parsing and pretty printing JSON
graphlog: do not bypass commands.log so that -fr works
graphlog: move comment and flag denoting revs might be unsorted
graphlog: remove too early return from getgraphlogrevs() for empty repo
lazymanifest: fix memory leak in lmiter_iterentriesnext() after 3d485727e45e
lazymanifest: fix pure hg iterkeys()
linkrev: fix issue with annotate of working copy
manifestv2: add support for reading new manifest format
manifestv2: add support for writing new manifest format
obsolete: avoid infinite loop from obs-cycle in divergence (issue4126)
record: add interactive option to the commit command
record: allow editing new files (issue4304)
record_curses: fix ui bug for newly added file
revbranchcache: add test for when the cache is not writable
revbranchcache: move out of branchmap onto localrepo
revbranchcache: populate cache incrementally
revbranchcache: store repo on the object
revbranchcache: write cache even during read operations
revrange: don't parse revset aliases as hash prefixes (issue4553)
rollback: clear resolve state (issue4593)
ssl: resolve symlink before checking for Apple python executable (issue4588)
ssl: set explicit symbol "!" to web.cacerts to disable SSL verification (BC)
strip: properly clear resolve state with --keep (issue4593)
subrepo: add 'cat' support for git subrepos
subrepo: add basic support to hgsubrepo for the files command
subrepo: add include/exclude support for diffing git subrepos
subrepo: add status support for ignored and clean files in git subrepos
subrepo: change arguments of abstractsubrepo.__init__ (API)
subrepos: support adding files in git subrepos
test-convert-git: show insane progress bar with octopus merge (issue4169)
test-histedit-edit.t: demonstrate qnew fails during a histedit (issue4366)
test-https: enable dummycert test only if Apple python is used (issue4500)
test-shelve: be more lenient about whitespace (issue4124)
tests: add test showing tags cache drops filtered heads (issue4550)
tests: handle deleted .hg directory (git 2.2.0 and higher) (issue4585)
trydiff: join filename with prefix only once
unbundle: acquire 'wlock' when processing bundle2 (BC) (issue4596)
webcommands: define a dict of available commands
webcommands: define web commands using a decorator