Mercurial 2.2 (2012-05-01)#

Mercurial 2.2.3 (2012-07-01)#

This is a regularly-scheduled bugfix release.

  • amend: disable hooks when creating intermediate commit (issue3501)

  • archive: make progress only show files that are actually archived

  • bookmarks: correctly update current bookmarks on rebase (issue2277)

  • bugzilla: stop bugs always being marked as fixed in xmlrpc (issue3484)

  • graft: don't drop the second parent on unsuccessful merge (issue3498)

  • hgweb: fixes linebreak location in gitweb filediff.tmpl view

  • rebase: improve error message on improper phases

  • record: fix display of non-ASCII names

  • statichttprepo: don't send Range header when requesting entire file

  • strip: update help to state that you can strip public changeset

  • subrepo/svn: make rev number retrieval compatible with svn 1.5 (issue2968)

  • subrepo: support Git being named "git.cmd" on Windows (issue3173)

  • subrepo: warn user if Git is not version 1.6.0 or higher

  • update: fix help regarding update to ancestor

Mercurial 2.2.2 (2012-06-01)#

This is a regularly-scheduled bugfix release.

  • addremove: document default similarity behavior (issue3429)

  • alias: inherit command optionalrepo flag (issue3298)

  • amend: preserve extra dict (issue3430)

  • bisect: save current state before running a command

  • bugzilla: fix transport initialization on python 2.4

  • build: fix hgrc manpage building with docutils 0.9

  • bundle: make bundles more portable (issue3441)

  • changelog: ensure that nodecache is valid (issue3428)

  • hg-ssh: exit with 255 instead of -1 on error

  • hgweb: fix filediff base calculation

  • largefiles: fix "hg status dir" missing regular files (issue3421)

  • largefiles: fix deletion of multiple missing largefiles (issue3329)

  • largefiles: follow normal codepath for addremove if non-largefiles repo (issue3249)

  • largefiles: in putlfile, ensure tempfile's directory exists prior to creation

  • largefiles: use wlock for lfconvert (issue3444)

  • localrepo: clear _filecache earlier to really force reloading (issue3462)

  • match: make 'match.files()' return list object always

  • mq: add --no-backup for qpush/qpop/qgoto

  • mq: backup local changes in qpop --force (issue3433)

  • mq: backup local changes in qpush --force

  • mq: qimport need wlock for --push - do that after releasing lock

  • osutil: handle deletion race with readdir/stat (issue3463)

  • pager: check if signal.SIGPIPE exists

  • pager: preserve Hg's exit code (and fix Windows support) (issue3225)

  • pager: remove quiet flag

  • paper, monoblue: link correctly to lines in annotate view

  • parsers: fix refcount bug on corrupt index

  • patch: fix segfault against unified diffs which start line is zero

  • patch: keep patching after missing copy source (issue3480)

  • posix: workaround lack of TIOCGWINSZ on Irix (issue3449)

  • revpair: handle odd ranges (issue3474)

  • revset: explicitely tag alias arguments for expansion

  • revset: fix infinite alias expansion detection

  • revset: fix traceback for bogus revisions in id(rev)

  • revset: make matching() preserve input revision order

  • scmutil: seen.union should be seen.update (issue3476)

  • subrepo: do not traceback on .hgsubstate parsing errors

  • subrepo: ignore blank lines in .hgsubstate (issue3424)

  • tag: run commit hook when lock is released (issue3344)

  • templater: handle SyntaxError when parsing ui.logtemplate

  • util: fix bad variable use in bytecount introduced by f0f7f3fab315

  • win32: fix encoding handling for registry strings (issue3467)

Mercurial 2.2.1 (2012-05-03)#

This is an unscheduled bugfix release to fix a signficant memory leak in hgweb.

  • bookmarks: catch the proper exception for missing revisions

  • help: add reference to template help (issue3413)

  • help: added description for the web.collapse setting

  • largefiles: fix commit of both largefiles and non-largefiles (issue3354)

  • parsers: fix refcount leak, simplify init of index (issue3417)

Mercurial 2.2 (2012-05-01)#

This is a regularly-scheduled feature release. The most notable feature is a new safe '--amend' option for commit using our new phases infrastructure. There are also a number of signficant performance improvements for large repositories and improvements for case-folding filesystems. See UpgradeNotes for minor compatibility notes.

Core features#

  • commit: add --amend option

  • fileset: add "subrepo" fileset symbol

  • graft: add --dry-run support (issue3362)

  • hgweb: add support for branch width and color settings

  • hgweb: add block numbers to diff regions and related links

  • hgweb: support multi-level repository indexes by enabling descend and collapse

  • merge: improve performance with lots of unknown files

  • parsers: incrementally parse the revlog index in C

  • plan9: add support for plan9

  • push/pull: improve performance for partial transfers

  • push: decompress in larger chunks for better performance on the server

  • clone: add server config option to prefer uncompressed clone

  • revert: add support for reverting subrepos

  • revset: add "matching" keyword

  • store: speed up read and write of large fncache files

  • ui: optionally quiesce ssl verification warnings on python 2.5

Extension features#

  • bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface

  • bugzilla: allow change comment to mark bugs fixed

  • bugzilla: extract optional hours from commit message and update bug time

  • bugzilla: modify access interface to include new bug states

  • graphlog: add all log options to glog command

  • patchbomb: add --body flag to send patches as inline message body text

  • record: allow splitting of hunks by manually editing patches

  • transplant: permit merge changesets via --parent

Fixes#

  • alias: fix shell alias documentation (issue3374)

  • archive: make it work with svn subrepos (issue3308)

  • branchmap: server should not advertise secret changeset in branchmap (issue3303)

  • clone: always close source repository (issue2491)

  • commit: abort on merge with missing files (BC)

  • config: discard UTF-8 BOM if found

  • convert/bzr: convert all branches (issue3229) (BC)

  • convert/bzr: expect unicode metadata, encode in UTF-8 (issue3232)

  • convert/bzr: handle empty bzr repositories (issue3233)

  • convert/bzr: ignore nested repos when listing branches (issue3254)

  • convert/svn: do not try converting empty head revisions (issue3347)

  • convert/svn: make svn sink work with svn 1.7

  • convert: support non-annotated tags in git backend

  • dirstate: preserve path components case on renames (issue3402)

  • export: catch exporting empty revsets (issue3353)

  • icasefs: make case-folding collision detection rename aware (issue3370)

  • inotify: catch SignalInterrupt during shutdown (issue3351)

  • journal: use tryread helper to backup files (issue3375)

  • largefiles: fix cat for largefiles (issue3352)

  • largefiles: fix status -S reporting of subrepos (issue3231)

  • largefiles: hide .hglf/ prefix for largefiles in hgweb

  • largefiles: notice dirty large files in a subrepo

  • largefiles: only update changed largefiles when transplanting

  • largefiles: optimize update speed by only updating changed largefiles

  • localrepo: add setparents() to adjust dirstate copies (issue3407)

  • mdiff: fix diff header generation for files with spaces (issue3357)

  • merge: check for untracked files more precisely (issue3400)

  • merge: fix unknown file merge detection for case-folding systems

  • patch: be more tolerant with "Parent" header (issue3356)

  • patch: be more tolerant with EOLs in binary diffs (issue2870)

  • patch: fix patch hunk/metdata synchronization (issue3384)

  • phase: when phase cannot be reduced, hint at --force and return 1 (BC)

  • posix: disable cygwin's symlink emulation (BC)

  • posix: ignore execution bit in cygwin (issue3301)

  • pure/osutil: use Python's msvcrt module (issue3380)

  • rebase: preserve mq series order, guarded patches (issue2849)

  • rebase: skip resolved but emptied revisions

  • revset: fix O(n**2) behaviour of bisect() (issue3381)

  • revset: fix adds/modifies/removes and patterns (issue3403)

  • revset: fix alias substitution recursion (issue3240)

  • subrepo/svn: abort on commit with missing file (issue3029)

  • subrepo/svn: fix checked out rev number retrieval (issue2968)

  • subrepo: fix default implementation of forget() (issue3404)

  • subrepo: rewrite handling of subrepo state at commit (issue2403)

  • templates/filters: extracting the user portion of an email address (BC)

  • transplant: do not rollback on patching error (issue3379)

  • update: fix case-collision with a clean wd and no --clean

  • update: make --check abort with dirty subrepos

  • update: use normal update path with --check (issue2450)

  • wireprotocol: use visibleheads as reference while unbundling (issue3303)