Mercurial 2.4 (2012-11-01)#

Mercurial 2.4.2 (2013-01-01)#

This is a regularly-scheduled bugfix release.

  • amend: invalidate dirstate in case of failure (issue3670)

  • amend: prevent loss of bookmark on failed amend

  • bookmarks: fix head selection for merge with two bookmarked heads

  • bundlerepo: don't return the peer without bundlerepo from getremotechanges

  • dirstate: don't rename branch file if writing it failed

  • dirstate: remove obsolete comment from setbranch

  • hgweb: avoid generator exhaustion with branches

  • hgweb: fix iterator reuse in atom feed generation

  • hgwebdir: honor web.templates and web.static for static files (issue3734)

  • largefiles revert: update lfdirstate with result from first cleanliness check

  • largefiles status: update lfdirstate with result from cleanliness check

  • largefiles: commit directories that only contain largefiles (issue3548)

  • largefiles: don't walk through all ignored files

  • paper: sanity-check page feed links

  • scmutil: don't try to match modes on filesystems without modes (issue3740)

  • zeroconf: use port from server instead of picking port from config (issue3746)

Mercurial 2.4.1 (2012-12-03)#

This is a regularly-schedule bugfix release.

  • amend: force editor only if old message is reused (issue3698)

  • grep: don't search past the end of the searched string

  • hooks: be even more forgiven of non-fd descriptors (issue3711)

  • hooks: delay I/O redirection until we actually run a hook (issue3711)

  • phases: fix missing "error" module import (issue3707)

  • rebase: fix pull --rev options clashing with --rebase (issue3619)

  • subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)

  • update: allow update to existing branches with invalid names (issue3710)

  • util: make chunkbuffer non-quadratic on Windows

Mercurial 2.4 (2012-11-01)#

This is a regularly-scheduled feature release.

Core features#

  • amend: support for ChangesetEvolution if enabled

  • bookmarks: deactivate current bookmark if no name is given

  • bookmarks: teach the -r option to use revsets

  • bookmarks: disallow bookmarks named 'tip', '.', or 'null'

  • clone: substantial speedup to clone on repo with a lots of heads (issue3378)

  • clone: activate bookmark specified with --updaterev

  • clone: update to @ bookmark if it exists

  • log: substantial speedup for untracked files (issue1340)

  • revsets: add branchpoint() function

  • resolve: commit the changes after each item resolve (issue3638)

  • subrepo, hghave: use "svn --version --quiet" to determine version number

  • subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset

  • templatefilters: add parameterized date method

  • templatefilters: add parameterized fill function

  • templatefilters: avoid traceback caused by bogus date input (issue3344)

  • templatekw: add p1rev, p1node, p2rev, p2node keywords

  • templatekw: add parent1, parent1node, parent2, parent2node keywords

  • templater: abort when a template filter raises an exception (issue2987)

  • templater: add if/ifeq conditionals

  • templater: add sub() function

  • templating: make new-style templating features work with command line lists

  • bookmarks: take ChangesetEvolution into account when updating (issue3561)

  • speedup various operation related to ChangesetEvolution

  • add detection of changeset bumped by ChangesetEvolution

Extension features#

  • color: add additional changeset.phase label to log.changeset and log.parent

  • color: enabled color support for export command (issue1507)

  • color: support for all grep fields

  • contrib: add a commit synthesizer for reproducing scaling problems

  • histedit: refuse to edit public changeset

  • histedit: replaces patching logic by merges

  • histedit: support for ChangesetEvolution if enabled

  • largefiles: always create the cache and standin directories when cloning

  • largefiles: distinguish "no remote repo" from "no files to upload" (issue3651)

  • largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519)

  • mq: improve qqueue message with patches applied (issue3036)

  • mq: update bookmarks during qrefresh

  • notify: support revset selection for subscriptions

  • rebase: support for ChangesetEvolution if enabled

  • record: checks for valid username before starting recording process (issue3456)

  • record: fix display of non-ASCII names in chunk selection

Fixes#

  • amend: fix incompatibity between logfile and message option (issue3675)

  • amend: wrap all commit operations in a single transaction

  • bookmarks: abort when incompatible options are used (issue3663)

  • bookmarks: avoid redundant creation/assignment of "validdests" in "validdest()"

  • bookmarks: check bookmark format during rename (issue3662)

  • bookmarks: when @ bookmark diverges, don't double the @ sign (BC)

  • bookmark: prevent crashing when a successor is unknown locally (issue3680)

  • clone: activate @ bookmark if updating to it

  • clone: don't %-escape the default destination (issue3145)

  • clone: make sure to use "@" as bookmark and "default" as branch (issue3677) (BC)

  • clone: print bookmark name when clone activates a bookmark

  • commands: don't infer repo for commands like update (issue2748)

  • convert: normalize paths in filemaps (issue3612)

  • dirstate: handle large dates and times with masking (issue2608)

  • dirstate: handle dangling junctions on windows (issue2579)

  • filemerge: use util.shellquote when calling merge (issue3581)

  • hgweb: make the escape filter remove null characters (issue2567)

  • http2: make it possible to connect w/o ssl on port 443

  • icasefs: make case-folding collision detection as deletion aware (issue3648)

  • largefiles: don't copy largefiles from working dir to the store while converting

  • largefiles: respect the rev when reading standins in copytostore() (issue3630)

  • largefiles: use 'default' instead of 'default-push' when pulling (issue3584)

  • mq: fix qrefresh case sensitivity (issue3271)

  • patchbomb: respect --in-reply-to for all mails if no intro message is sent

  • remove: don't return error on directories with tracked files

  • revset: accept @ in unquoted symbols (issue3686)

  • scmutil: add mustaudit delegation to filtervfs (issue3673)

  • subrepo: only do clean update when overwrite is set (issue3276)

  • subrepo: subrepo isolation, pass baseui when cloning a new subrepo (issue2904)

  • update: check for missing files with --check (issue3595) (BC)

  • url: use open and not url.open for local files (issue3624)

  • verify: fix all doubled-slash sites (issue3665)

  • wireproto: fix pushkey hook failure and output on remote http repo