Mercurial 3.2 (2014-11-01)#

Mercurial 3.2.4 (2015-01-01)#

This is a regularly-scheduled bugfix release.

  • demandimport: blacklist distutils.msvc9compiler (issue4475)

  • largefiles: backout f72d73937853 - linear updates handle m -> a differently

  • largefiles: fix a spurious missing file warning with 'remove -A' (issue4053)

  • largefiles: fix a spurious missing file warning with forget (issue4053)

  • largefiles: introduce the 'composelargefilematcher()' method

  • largefiles: mark lfile as added in lfdirstate when the standin is added

  • sshpeer: more thorough shell quoting

Mercurial 3.2.3 (2014-12-18)#

This is an unscheduled bugfix release containing two security fixes for issues we uncovered in both Git and Mercurial for CVE-2014-9390. Users on Mac and Windows are encouraged to upgrade.

  • context: stop setting None for modified or added nodes

  • darwin: omit ignorable codepoints when normcase()ing a file path

  • encoding: add hfsignoreclean to clean out HFS-ignored characters

  • largefiles: don't actually remove largefiles in an addremove dry run

  • log: fix log -f slow path to actually follow history

  • log: fix log revset instability

  • manifest: disallow setting the node id of an entry to None

  • pathauditor: check for Windows shortname aliases

  • pathauditor: check for codepoints ignored on OS X

  • rebase: ignore negative state when updating back to original wc parent

  • update: add tests for untracked local file

  • update: don't overwrite untracked ignored files on update

Mercurial 3.2.2 (2014-12-01)#

This is a regularly-scheduled bugfix release.

  • changegroup: fix file linkrevs during reorders (issue4462)

  • hgweb: send proper HTTP response after uncaught exception

  • largefiles: avoid exec-bit examination on the platforms unaware of it

  • largefiles: don't show largefile/normal prompts if one side is unchanged

  • manifest: fix a bug where working copy file 'add' mark was buggy

  • merge: be precise about what merged into what in short desc

  • merge: before cd/dc prompt, check that changed side really changed

  • mq: fix update of headers that occur in the "wrong" order

  • mq: introduce insertplainheader - same naive implementation as before

  • mq: when adding headers in plain mode, separate them from message (issue4453)

  • mq: when setting message in plain mode, separate it from header (issue4453)

  • push: stop independent usage of bundle2 in syncphase (issue4454)

  • pushkey: gracefully handle prepushkey hook failure (issue4455)

  • rename: properly report removed and added file as modified (issue4458)

  • revert: look for copy information for all local modifications

  • revset: fix first and last for generatorset (issue4465)

  • templates: fix broken "less" & "more" links in paper style (issue4460)

Mercurial 3.2.1 (2014-11-11)#

This is an unscheduled release to address regressions in discovery, rebase, and bookmarks.

  • bookmarks: fix formatting of exchange message (issue4439)

  • changegroup: don't store unused value on fnodes (issue4443)

  • convert: use git diff-tree -Cn% instead of --find-copies=n% for older git

  • discovery: indices between sample and yesno must match (issue4438)

  • discovery: limit 'all local heads known remotely' to real 'all' (issue4438)

  • extdiff: quote user-supplied options passed to shell

  • hgweb: fix a crash when using web.archivesubrepos

  • mail: actually use the verifycert config value

  • rebase: fix rebase with no common ancestors (issue4446)

  • serve: correct meta variable of --daemon-pipefds option

  • templater: don't overwrite the keyword mapping in runsymbol() (issue4362)

Mercurial 3.2 (2014-11-01)#

This is a quarterly feature release.

Commands#

  • amend: abort early if no username is configured with evolve enabled (issue4211)

  • amend: fix amending rename commit with diverged topologies (issue4405)

  • annotate: rewrite long short-circuit statement by if-elif-else

  • bookmark: make the search for divergent names more robust

  • bookmarks: allow pushkey if new equals current

  • bookmarks: explicitly track identical bookmarks

  • bookmarks: fix divergent bookmark path normalization

  • bookmarks: inform transaction-related hooks that some bookmarks were moved

  • branches: include active, closed and current flags in template output

  • clone: copy '.hg/bookmarks' during copy clone

  • clone: explicitly push bookmarks when cloning from local to remote

  • clone: fix copying bookmarks in uncompressed clones (issue4430)

  • clone: for local clones, copy branchcache from the right location (issue4286)

  • clone: for local clones, copy over filtered branchcaches as well (issue4286)

  • clone: properly mark branches closed with --uncompressed (issue4428)

  • clone: provide sample username = config entry in .hg/hgrc (issue4359)

  • commit: correctly check commit mutability during commit --amend

  • commit: add customizable committemplate config

  • config: give more fine-tuned sample hgrcs to this command

  • config: highlight parse error caused by leading spaces (issue3214)

  • files: add new command unifying locate and manifest functionality

  • graft: allow regrafting ancestors with --force (issue3220)

  • graft: make --force apply across continues (issue3220)

  • help: document that default hgweb style is called paper (issue4373)

  • help: update help for hgweb template and style (issue4373)

  • import: let --exact 'work' with --no-commit (issue4376)

  • locate: deprecate in favor of files

  • log: allow patterns with -f

  • log: do not hide the public phase in debug mode (BC)

  • log: rewrite default template to use labels (issue2866)

  • log: show phase in hg log -v with the phase template

  • merge-tools: add a 'premerge=keep-merge3' config option

  • merge: use bid merge by default (BC)

  • merge: support three labels when using conflict markers

  • parents: deprecate the parents commands

  • pull: perform bookmark updates in the transaction

  • push: update bookmarks within the remote lock

  • push: wrap local phase movement in a transaction

  • pushbookmark: do not attempt to update bookmarks if the push failed (BC)

  • status: make 'hg status --rev' faster when there are deleted files

  • tag: properly abort if an unknown or ignored .hgtags is present

Core#

  • alias: expand "$@" as list of parameters quoted individually (BC) (issue4200)

  • dirstate: add exception when calling setparent without begin/end (API)

  • dirstate: wrap setparent calls with begin/endparentchange (issue4353)

  • hook: protect commit hooks against stripping of temporary commit (issue4422)

  • i18n: detect UI language without POSIX-style locale variable on Windows (BC)

  • localrepo: remove the 'pull' method (API)

  • localrepo: remove the 'push' method (API)

  • posix: implement readpipe using non-blocking I/O (issue4336)

  • revset: fix O(2^n) perf regression in addset

  • revset: have rev() drop out-of-range or filtered rev explicitly (issue4396)

  • setdiscovery: limit the size of all sample (issue4411)

  • ssl: only support TLS (BC)

  • ssl: only use the dummy cert hack if using an Apple Python (issue4410)

  • templater: fix ifcontains when list is a string (issue4399)

Extensions#

  • convert: add support for deterministic progress bar on scanning phase

  • convert: add support to detect git renames and copies

  • eol: fix crash when handling removed files

  • histedit: add "roll" command to fold commit data and drop message (issue4256)

  • largefiles: add examination of exec bit in "hg status --rev REV" case

  • largefiles: keep largefiles from colliding with normal one during linear merge

  • largefiles: restore R status of removed largefiles correctly at "hg rollback"

  • largefiles: restore standins from non branch-tip parent at rollback correctly

  • largefiles: unlink standins not known to the restored dirstate at rollback

  • mq: write '# Parent ' lines with two spaces like export does (BC)

  • mq: write headers for new HG patches in the same order as export (BC)

  • shelve: don't delete "." when rebase is a no-op (issue4398)

Hgweb#

  • hgweb: disable SSLv3 serving (BC)

  • hgweb: refresh repository using URL not path (issue4323)