Mercurial 3.0 (2014-05-01)#

Mercurial 3.0.2 (2014-07-01)#

This is a regularly-scheduled bugfix release.

  • cmdutil: add copy-filtering support to duplicatecopies

  • hgweb: avoid initialization race (issue4280)

  • keyword: suppress keyword expansion for internal merge

  • match: make glob '**/' match the empty string

  • parsers.c: fix a couple of memory leaks

  • push: restore contents of HG_URL for hooks (issue4268)

  • rebase: fix bug that caused transitive copy records to disappear (issue4192)

  • repoview: do not crash when localtags refers to non existing revisions

Mercurial 3.0.1 (2014-06-01)#

This is a regularly-scheduled bugfix release.

  • alias: change return code of bad definition to 255

  • alias: fix loss of non-zero return code in command aliases

  • alias: handle shlex error in command aliases

  • bookmarks: properly align multi-byte characters

  • bugzilla: support Bugzilla 4.4.3+ API login token authentication (issue4257)

  • bundle2: fix bundle2 pulling all revs on empty pulls

  • bundle2: fix configuration name mismatch

  • changelog: ensure changelog._delaybuf is initialized

  • color: don't fail on error messages when no curses (issue4237)

  • exchange: propagate arguments to the _getbundleextrapart function

  • localrepo: prevent leak of transaction object (issue4258)

  • proxy: remove unneeded _set_hostport for compatibility with Python 2.7.7rc1

  • setup.py, make: avoid problems with outdated, existing hgext/__index__.py*

  • subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos

  • subrepo: invoke "_sanitize()" also after "git merge --ff"

  • subrepo: make "_sanitize()" take absolute path to the root of subrepo

  • subrepo: make "_sanitize()" work

  • subrepo: normalize path in the specific way for problematic encodings

  • templates: fix ifcontains against sets with length > 1 (issue4259)

  • win32: backout 1a9ebc83a74c

Mercurial 3.0 (2014-05-01)#

This is a regularly-scheduled quarterly feature release. Unlike other 3.0 software releases, this is simply 2.9 + .1, so it should be the usual pain-free upgrade.

Core features#

  • cat: support explicit paths in subrepos

  • cmdserver: allow starting server without repository

  • clone: abort if default destination has no meaningful name (BC)

  • clone: put streaming clones in a transaction

  • color: add debugcolor command (issue4094)

  • color: allow color keywords to be used directly in template

  • commands: add -T as alternative to --template

  • commands: hg debuginstall checks missing templates (issue4151)

  • commit: --edit/-e allows editing commit message supplied through other means

  • config: add initial implementation of --edit (with --global and --local flags)

  • debuginstall: add Python information to debuginstall output (issue4128)

  • demandimport: support HGDEMANDIMPORT=disable to disable demandimport

  • hgweb: add metadata to atom and rss feed entries

  • http: reuse authentication info after the first failed request (issue3567)

  • log: change implementation to use graphlog code

  • push: provide a hint when no paths are configured (issue3692)

  • require: provide a link to a wiki page as well as suggesting upgrade

  • revset: new implementation with incremental evaluation

  • revset: try to handle hyphenated symbols if lookup callback is available

  • revset: add 'only()' revset

  • sshpeer: only print out 'running ssh' messages in debug mode (BC)

  • template: add ifcontains template function

  • template: add pad function for padding output

  • template: add revset() template function

  • template: add shortest(node) template function

  • template: add flexible -T option

  • win32: improve the performance of win32.unlink() over CIFS

Extension features#

  • blackbox: log events related to branch cache

  • convert: avoid updating tags when there is nothing new

  • convert: compare tags from all heads instead of just one

  • convert: replace old sha1s in the description

  • extensions: mark win32text deprecated

  • extensions: remove interhg

  • extensions: remove the inotify extension (BC)

  • histedit: select the lowest rev when looking for a root in a revset (BC)

  • journal: report parsing errors on recover/rollback (issue4172)

  • qimport: allow importing URLs

Fixes#

  • backout: don't limit ancestry check to a single ancestor

  • backout: improve confusing 'cannot backout change on a different branch' abort

  • caches: invalidate store caches when lock is taken

  • cmdserver: forcibly use L channel to read password input (issue3161)

  • cmdserver: reload mq on each runcommand request to avoid corruption

  • diff: use second filename for --stat reporting on git patches (issue4221)

  • dirstate: report bad subdirectories as match.bad, not just a warning (BC)

  • extensions: use normpath to allow trailing '\' on Windows (issue4187)

  • fncache: clean up fncache during strips

  • largefiles: changed overridelog to work with graphlog

  • largefiles: don't prompt when one side of merge was changed but didn't change

  • largefiles: remove directories emptied after their files are moved (issue3515)

  • parsers: fail fast if Python has wrong minor version (issue4110)

  • phases: apply publishing enforcement for "serve" source

  • revlog: deal with chunk ranges over 2G on Windows (issue4215)

  • setup.py: fix C extension compilation issue with OS X 10.9 and Xcode 5.1

  • subrepo: check return code for git push (issue4223)

Experimental features#

  • bundle2: experimental support for bundle2

  • merge: experimental implementation of bid merge

  • merge: tell when .ancestor picks one of multiple common ancestors heads