Differences between revisions 149 and 156 (spanning 7 versions)
Revision 149 as of 2012-08-07 06:25:30
Size: 45035
Comment: really %3A instead of : ... see 1bd18c415eec
Revision 156 as of 2012-10-29 04:52:31
Size: 42629
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:

== Mercurial 2.4-rc (2012-10-19) ==

These are the preliminary release notes for 2.4, please test.

=== Core features ===



 * 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 (Bts:issue3378)
 * color: add additional changeset.phase label to log.changeset and log.parent
 * color: enabled color support for export command (Bts:issue1507)
 * color: support for all grep fields
 * log: substantial speedup for untracked files (Bts:issue1340)
 * revsets: add branchpoint() function
 * resolve: commit the changes after each item resolve (Bts: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 (Bts:issue3344)
 * templatekw: add p1rev, p1node, p2rev, p2node keywords
 * templatekw: add parent1, parent1node, parent2, parent2node keywords
 * templater: abort when a template filter raises an exception (Bts:issue2987)
 * templater: add if/ifeq conditionals
 * templater: add sub() function
 * templating: make new-style templating features work with command line lists

 * scmutil: rename classes from "opener" to "vfs" (API)

 * amend: support for ChangesetEvolution if enabled
 * bookmarks: take ChangesetEvolution into account when updating (Bts:issue3561)
 * speedup various operation related to ChangesetEvolution
 * add detection of changeset ''bumped'' by ChangesetEvolution


=== Extension features ===

 * clone: activate bookmark specified with --updaterev
 * clone: update to @ bookmark if it exists
 * 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" (Bts:issue3651)
 * largefiles: fix a traceback in lfconvert if a largefile is missing (Bts:issue3519)
 * mq: improve qqueue message with patches applied (Bts: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 (Bts:issue3456)
 * record: fix display of non-ASCII names in chunk selection

=== Fixes ===

 * bookmarks: abort when incompatible options are used (Bts:issue3663)
 * bookmarks: avoid redundant creation/assignment of "validdests" in "validdest()"
 * bookmarks: check bookmark format during rename (Bts:issue3662)
 * amend: wrap all commit operations in a single transaction
 * bookmarks: when @ bookmark diverges, don't double the @ sign (BC)
 * commands: don't infer repo for commands like update (Bts:issue2748)
 * convert: normalize paths in filemaps (Bts:issue3612)
 * dirstate: handle large dates and times with masking (Bts:issue2608)
 * hgweb: make the escape filter remove null characters (Bts:issue2567)
 * http2: make it possible to connect w/o ssl on port 443
 * wireproto: fix pushkey hook failure and output on remote http repo

== Mercurial 2.3.2 (2012-10-01) ==
 * amend: preserve phase of amended revision (Bts:issue3602)
 * archival: add "extended-timestamp" extra block for zip archives (Bts:issue3600)
 * hgweb: avoid bad $$ processing in graph (Bts:issue3601)
 * hgweb: fix incorrect graph padding calculation (Bts:issue3626)
 * largefiles: fix return codes for multiple commands
 * largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command
 * largefiles: download missing subrepo revs when archiving
 * largefiles: enable islfilesrepo() prior to a commit (Bts:issue3541)
 * largefiles: handle commit -A properly, after a --large commit (Bts:issue3542)
 * largefiles: preserve exit code from outgoing command (Bts:issue3611)
 * largefiles: restore caching of largefiles with 'clone -U --all-largefiles'
 * largefiles: restore normal 'clone -u' and 'clone -U' functionality
 * lock: fixed race condition in trylock/testlock (Bts:issue3506)
 * mergetools.hgrc: set vimdiff to check=changed
 * strip: fix revset usage (Bts:issue3604)
 * subrepo: encode unicode path names (Bts:issue3610)

== Mercurial 2.3.1 (2012-09-01) ==

 * clone: don't fail with --update for non-local clones (Bts:issue3578)
 * commit: normalize filenames when checking explicit files (Bts:issue3576)
 * fileset: actually implement 'minusset'
 * fileset: do not traceback on invalid grep pattern
 * fileset: exclude deleted files from matchctx.existing()
 * fileset: fix generator vs list bug in fast path
 * fileset: matchctx.existing() must consider ignored files
 * fileset: matchctx.existing() must consider unknown files
 * largefiles: adjust localstore to handle batch statlfile requests (Bts:issue3583)
 * merge: handle case when heads are all bookmarks
 * obsolete: import modules within mercurial/ without "from mercurial"
 * revlog: don't try to partialmatch strings with length > 40
 * rollback: write dirstate branch with correct encoding
 * store: only one kind of OSError means "nonexistent entry"
 * store: sort the results of fncachestore.datafiles()
 * strip: fix revset usage (Bts:issue3604)
 * templater: handle a missing value correctly
 * verify: do not choke on valid changelog without manifest
 * wix: bump MSI based installers to use Python 2.7
Line 61: Line 172:
 * largefiles: improve performance by batching statlfile requests when pushing a
 *
largefiles repo (Bts:issue3386)
 * largefiles: improve performance by batching statlfile requests when pushing a largefiles repo (Bts:issue3386)
Line 70: Line 180:
 * rebase: drop the infamous --detach option: rebase now behave with --source and --rev as expectable. It may no longer add second parent to rebased changeset '''(backward compatible change)'''  * rebase: drop the infamous --detach option: rebase now behave with --source and --rev as expectable. It may no longer add second parent to rebased changeset '''(backward incompatible change)'''
Line 644: Line 754:
 * bookmarks: allow create/move bookmark without making it current (Bts:issue2788)
 * bookmarks: do not forward merged bookmark (Bts:issue1877)
 * changegroup: do not count closed new heads (Bts:issue2697)
 * config: handle comment lines in continuations (Bts:issue2854)
 * dispatch: propagate ui command options to the local ui (Bts:issue2523)
 * eol: make the hook check all new heads, not only tip (Bts:issue2666)
 * grep: don't print data from binary files for matches (Bts:issue2614)
 * http: report unexpected unparsable push responses (Bts:issue2777)
 * httprepo: handle large lengths by bypassing the len() operator
 * httprepo: long arguments support (Bts:issue2126)
 * httprepo: proper handling of invalid responses without content-type (Bts:issue2019)
 * httprepo: send URL redirection notices to stderr (Bts:issue2828)
 * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761)
 * localrepo: ignore tags to unknown nodes (Bts:issue2750)
 * merge: drop resolve state for mergers with identical contents (Bts:issue2680)
 * patch: do not patch unknown files (Bts:issue752)
 * path_auditor: check filenames for basic platform validity (Bts:issue2755)
 * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725)
 * rebase: preserve mq series order after rebasing (Bts:issue2849)
 * rebase: restore mq guards after rebasing (Bts:issue2107)
 * revset: report a parse error if a revset is not parsed completely (Bts:issue2654)
 * scmutil: improve path calculation for install-relative RC files (Bts:issue2841)
 * set NOT_CONTENT_INDEXED on .hg dir (Bts:issue2694)
 * sslutil: fall back to commonName when no dNSName in subjectAltName (Bts:issue2798)
 * subrepo: be more careful with deletions of .hgsub and .hgsubstate (Bts:issue2844)
 * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759)
 * subrepo: svn abort now depends on exit code (Bts:issue2833)
 * subrepo: be smarter about what's an absolute path (Bts:issue2808)
 * svn subrepo: attempt work around obstructed checkouts (Bts:issue2752)
 * svn subrepos: work around checkout obstructions (Bts:issue2752)
 * tags: catch more corruption during cache parsing (Bts:issue2779)
 * util: add Mac-specific check whether we're in a GUI session (Bts:issue2553)

== Mercurial 1.8.4 (2011-06-01) ==
This is a regular time-based bugfix release.

 * bookmarks: do not forward merged bookmark (Bts:issue1877)
 * changelog: convert user and desc from local encoding early
 * fix bookmarks rollback behavior
 * hgrc.5: document shell aliases
 * httprepo: proper handling of invalid responses without content-type (Bts:issue2019)
 * httprepo: send URL redirection notices to stderr (Bts:issue2828)
 * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761)
 * localrepo: ignore tags to unknown nodes (Bts:issue2750)
 * mq: strip extra whitespace from node ids in header (Bts:issue2790)
 * rebase: restore mq guards after rebasing (Bts:issue2107)
 * revset: expand help for contains predicate
 * revset: note case-insensitive matches in keyword and user
 * revset: note case-sensitive match in grep
 * revset: report a parse error if a revset is not parsed completely (Bts:issue2654)
 * revset: the name is optional for the tag predicate
 * simplemerge: do not allow binary files to abort an entire merge
 * strip: make it clear that --force discards changes (Bts:issue310)
 * subrepo: don't crash when git .hgsubstate is empty (Bts:issue2716)
 * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759)
 * subrepo: respect non-default path for incoming/outgoing
 * subrepo: svn abort now depends on exit code (Bts:issue2833)
 * subrepo: use code from 71ea5b only if Python needs it (Bts:issue2795)
 * tags: catch more corruption during cache parsing (Bts:issue2779)

== Mercurial 1.8.3 (2011-05-01) ==
This is a regular time-based bugfix release.

 * convert: make filemap prune useless branch closing revs (Bts:issue2774)
 * encoding: avoid localstr when a string can be encoded losslessly (Bts:issue2763)
 * extdiff: fix broken symlinks handling (Bts:issue1909)
 * help config: explain that config files do not exist by default
 * hgweb: add bookmark labels to gitweb theme
 * hgweb: add missing bookmarks definition to coal/map
 * hgweb: add missing bookmarks templates to atom/rss styles
 * hgweb: add separate bookmarks listing to gitweb theme
 * hgweb: add separate bookmarks listing to monoblue theme
 * hgweb: detect change based on changelog size too
 * hgweb: fix inconsistant display of graphlog (Bts:issue1706)
 * hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help
 * hgweb: fix typo in page-header of monoblue's help template
 * hgweb: format page_nav of gitweb/error.tmpl and add missing links
 * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725)
 * subrepo: handle svn tracked/unknown directory collisions
 * subrepo: prevent url normalization from removing // in ssh paths (Bts:issue2556)
 * subrepo: tell Subversion when we are non-interactive (Bts:issue2759)
 * url: use a regex to hide unsupported ssh passwords (Bts:issue2754)
 * zeroconf: notify the Zeroconf threads when hg exits

== Mercurial 1.8.2 (2011-04-01) ==
This is a regular time-based bugfix release.

 * bookmarks: discard current bookmark if absent from the bookmarks (Bts:issue2692)
 * bookmarks: fix update of the current bookmark during rename
 * color: port to using ctypes (Bts:issue2687)
 * convert/svn: fix _iterfiles() output in root dir case (Bts:issue2647)
 * eol: do not abort when win32text is found, only warn
 * eol: use dirstate methods to clear dirstate
 * fix compiling of extensions for OS X and XCode 4.0
 * hgweb: add display of bookmarks for changelog and changeset
 * hgweb: add separate page with bookmarks listing
 * merge: avoid unlinking destination of merge when case changes (Bts:issue2715)
 * mq: do not let qrefresh write bad patch
 * pager: don't page stderr if it's being redirected (Bts:issue2541)
 * push/outgoing: print remote target path even if there's an error (Bts:issue2561)
 * subrepo: recognize scp-style paths as git URLs
 * templates: widen the graph canvas (Bts:issue2683)

== Mercurial 1.8.1 (2011-03-10) ==
This release backs out a behavior change for so-called 'fast-forward' merges on named branches.

 * annotate: rewrite to deal with crossed linkrevs (Bts:issue2682)
 * bookmark: fix invalidation of localrepo._bookmarkcurrent
 * cacert: improve error report when web.cacert file does not exist
 * contrib: update tcsh_completion for Mercurial 1.8
 * hgcia: accept "queued." xmlrpc return as success
 * hgweb: fix filelog rss links generation
 * hgweb: use tip in gitweb/monoblue filelog rss links (Bts:issue2677)
 * merge: back out single-parent fast-forward merge
 * merge: drop resolve state for mergers with identical contents (Bts:issue2680)
 * merge: improve unresolved conflicts warning (Bts:issue2681)
 * mergetools: add alternate registry keys for 32bit apps on 64bit O/S
 * mq: forbid commit of merge involving mq patches
 * subrepo: backout 67fbe566eff1, --force requires svn >= 1.5
 * subrepo: don't crash when git repo is missing
 * subrepo: handle svn tracked/unknown directory collisions
 * wix: drop bin/ folder from MSI installers (Bts:issue2673)

== Mercurial 1.8 (2011-03-01) ==
=== Core ===
 * Bookmarks are now a core feature (see UpgradeNotes)
 * New `listfile:` pattern-matching (Topic:patterns)
 * Revset syntax supported by most commands
 * Performance improvements for reading large repository indexes
 * Certificate validation for HTTPS proxies

=== Subrepos ===
 * New support for git subrepos
 * Various improvements to merge, update, and commit logic

=== Windows ===
 * Numerous robustness improvements for quirks in Windows file handling
 * Now uses the native ctypes module rather than !PyWin32

=== Extensions ===
 * eol: filter aliases for compatibility with win32text
 * mq: `--exact` option for qpush
 * mq: various robustness improvements
 * progress: remaining time estimates


----
CategoryProcess CategoryProject
 * bookmarks: allow create/move bookmark without

Release Notes

Features and bugfixes in our latest releases. Please see the Download page for links to source and binaries.

Note that Mercurial follows a time-based release plan with major releases every three months and minor (bugfix) releases on the first of every month (see TimeBasedReleasePlan).

{i} Be sure to read the upgrade notes when upgrading.

(See archive for older versions.)

1. Mercurial 2.4-rc (2012-10-19)

These are the preliminary release notes for 2.4, please test.

1.1. Core features

  • 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)

  • 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
  • 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
  • scmutil: rename classes from "opener" to "vfs" (API)
  • amend: support for ChangesetEvolution if enabled

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

  • speedup various operation related to ChangesetEvolution

  • add detection of changeset bumped by ChangesetEvolution

1.2. Extension features

  • clone: activate bookmark specified with --updaterev
  • clone: update to @ bookmark if it exists
  • 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

1.3. Fixes

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

  • bookmarks: avoid redundant creation/assignment of "validdests" in "validdest()"
  • bookmarks: check bookmark format during rename (issue3662)

  • amend: wrap all commit operations in a single transaction
  • bookmarks: when @ bookmark diverges, don't double the @ sign (BC)
  • 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)

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

  • http2: make it possible to connect w/o ssl on port 443
  • wireproto: fix pushkey hook failure and output on remote http repo

2. Mercurial 2.3.2 (2012-10-01)

  • amend: preserve phase of amended revision (issue3602)

  • archival: add "extended-timestamp" extra block for zip archives (issue3600)

  • hgweb: avoid bad $$ processing in graph (issue3601)

  • hgweb: fix incorrect graph padding calculation (issue3626)

  • largefiles: fix return codes for multiple commands
  • largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command
  • largefiles: download missing subrepo revs when archiving
  • largefiles: enable islfilesrepo() prior to a commit (issue3541)

  • largefiles: handle commit -A properly, after a --large commit (issue3542)

  • largefiles: preserve exit code from outgoing command (issue3611)

  • largefiles: restore caching of largefiles with 'clone -U --all-largefiles'
  • largefiles: restore normal 'clone -u' and 'clone -U' functionality
  • lock: fixed race condition in trylock/testlock (issue3506)

  • mergetools.hgrc: set vimdiff to check=changed
  • strip: fix revset usage (issue3604)

  • subrepo: encode unicode path names (issue3610)

3. Mercurial 2.3.1 (2012-09-01)

  • clone: don't fail with --update for non-local clones (issue3578)

  • commit: normalize filenames when checking explicit files (issue3576)

  • fileset: actually implement 'minusset'
  • fileset: do not traceback on invalid grep pattern
  • fileset: exclude deleted files from matchctx.existing()
  • fileset: fix generator vs list bug in fast path
  • fileset: matchctx.existing() must consider ignored files
  • fileset: matchctx.existing() must consider unknown files
  • largefiles: adjust localstore to handle batch statlfile requests (issue3583)

  • merge: handle case when heads are all bookmarks
  • obsolete: import modules within mercurial/ without "from mercurial"
  • revlog: don't try to partialmatch strings with length > 40

  • rollback: write dirstate branch with correct encoding
  • store: only one kind of OSError means "nonexistent entry"
  • store: sort the results of fncachestore.datafiles()
  • strip: fix revset usage (issue3604)

  • templater: handle a missing value correctly
  • verify: do not choke on valid changelog without manifest
  • wix: bump MSI based installers to use Python 2.7

4. Mercurial 2.3 (2012-08-01)

This is a regularly-scheduled feature release with numerous improvements and bugfixes.

4.1. Core features

  • help: add --keyword (-k) for searching help
  • hgweb: side-by-side comparison functionality
  • log: support --graph without graphlog extension
  • push: accept revset argument for --rev
  • merge: bookmarks will no longer automatically merge with unnamed heads or other bookmarks. Instead it picks heads with diverging bookmarks.
  • introduce ChangesetsObsolescence concept (experimental)

  • bookmarks: allow existing remote bookmarks to become heads when pushing
  • bookmarks: pull new bookmarks from remote by default (backward incompatible change)

  • bookmarks: delete divergent bookmarks on merge
  • bisect: set HG_NODE when runing a command
  • graft: allow -r to specify revisions
  • graft: implement --log (issue3438)

  • graft: remark on empty graft
  • hooks: print out more information when loading a python hook fails
  • identity: show trailing '+' for dirty subrepos (issue2839)

  • incoming/outgoing: handle --graph in core
  • merge: warn about file deleted in one branch and renamed in other (issue3074)

  • Mercurial can now identify third-party extensions as sources of tracebacks
  • outgoing: accept revset argument for --rev
  • performance improvement on branchy repo: incrementaly update branchcache
  • performance improvement on huge file tree: add a C function to pack the dirstate
  • performance improvement for huge .hgignore: process regex with re2 bindings if available
  • revset: add "diff" field to "matching" predicate
  • revset: add "converted" predicate to find converted changesets
  • revset: add "origin" and "destination" predicates, to get graft, transplant or rebase origins or destinations.
  • revset: add "extra" predicate to match changesets extra fields (issue2767)

  • revset: add pattern matching to "bookmarks/branch/extra/tag/user" predicated

4.2. Extension features

  • acl: use of "!" prefix in user or group names
  • children: mark extension as deprecated
  • convert/svn: handle non-local svn destination paths (issue3142)

  • convert: accept Subversion 'file:///c%3A/svnrepo' syntax on Windows

  • fetch: mark extension as deprecated
  • graphlog: feature is now into core
  • histedit: new extension for interactive history editing
  • hg-ssh: add read-only flag
  • largefiles: add --all-largefiles flag to pull and clone (issue3188)

  • largefiles: improve performance by batching statlfile requests when pushing a largefiles repo (issue3386)

  • largefiles: no longer attempt to clone all largefiles to non-local destinations
  • largefiles: optimize performance when updating (issue3440)

  • largefiles: support revsets for cat, outgoing --large and revert
  • mq: introduce qpush/qpop/qgoto --keep-changes
  • strip: introduce -B option to remove a bookmark
  • rebase: allow collapsing branches in place (issue3111)

  • rebase: make --dest understand revsets
  • rebase: drop the infamous --detach option: rebase now behave with --source and --rev as expectable. It may no longer add second parent to rebased changeset (backward incompatible change)

  • transplant: handle non-empty patches doing nothing (issue2806)

  • transplant: manually transplant pullable changesets with --log

4.3. Fixes

  • bisect: fix O(n**2) behaviour (issue3382)

  • bookmarks: fix push of moved bookmark when creating new branch heads
  • case insensitive file system can no longer be confused by -R on (issue2167)

  • copies: one fix related to directory rename detection (issue3511)

  • convert: check for failed svn import in debugsvnlog and abort cleanly
  • convert: ignore svn:executable for subversion targets without exec bit support
  • convert: keep branch switching merges with ancestors (issue3340)

  • convert: make filemap renames consistently override revision renames
  • debugrevlog: fix a bug with empty repository (issue3537)

  • graphlog: don't truncate template value at last \n
  • httprepo: ensure Content-Type header exists when pushing data
  • largefiles: fix a traceback when addremove follows a remove (issue3507)

  • largefiles: fix a traceback when archiving a subrepo in a subrepo
  • largefiles: fix addremove when largefile is missing (issue3227)

  • largefiles: fix addremove with -R option
  • largefiles: fix exception hack for i18n (issue3197)

  • largefiles: fix path handling for cp/mv (issue3516)

  • largefiles: archive -S now store largefiles instead of standins
  • largefiles: fix hg addremove when already removed largefile exists (issue3364)

  • merge: do not warn about copy and rename in the same transaction (issue2113)

  • mq: add ".hgsubstate" to patch target list only if it is not listed up yet
  • mq: create patch file after commit to import diff of ".hgsubstate" at qrefresh
  • pager: work around bug in python 2.4's subprocess module (issue3533):

  • revlog: zlib.error are no longer sent to the user (issue3424)

  • tag: don't allow tagging the null revision (issue1915)

5. 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

6. 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)

7. 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)

8. 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.

8.1. 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

8.2. 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

8.3. 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 (issue 3303)

9. Mercurial 2.1.2 (2012-04-01)

This is a regularly-scheduled bugfix release.

  • alias: abort on missing positional args (issue3331)

  • aliases: use empty string for missing position parameters (issue3331)

  • bookmarks: clone non-divergent bookmarks with @ in them
  • convert/git: abort if git submodules are detected (issue2150)

  • convert: deal with empty splicemap path (issue3311)

  • dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)

  • dirstate: fix some problems for recursive case normalization (issue3342)

  • dirstate: normalize case of directory components
  • extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
  • filemerge: remove temporary files when using internal:dump as merge-tool
  • filemerge: restore default prompt for binary/symlink lost in 83925d3a4559
  • icasefs: use case preserved root for 'util.fspath()' invocation (issue3302)

  • largefiles: suppress unexpected warning of 'hg status' for removed files
  • localrepo: fix unpushable repos when using bookmarks (issue3317)

  • merge: accept missing revisions in symlink flag merge (issue3316)

  • merge: handle linear update to symlink correctly (issue3316)

  • mq: fix qpush --move with comments in series file between applied patches
  • qfinish: comply with the phases.new-commit option in secret mode (issue3335)

  • rebase: move bookmarks as needed with pull --rebase (issue3285)

  • rebase: properly calculate descendant set when aborting (issue3332)

  • rename: handle case-changing (issue1717)

  • setup.py: don't call splitlines twice on the output of xcodebuild (issue3277)

  • strip: enhance repair.strip to receive a list of nodes (issue3299)

  • strip: ignore -n (issue3326) (BC)

  • wix: add phases help text and two more translations (issue3288)

10. Mercurial 2.1.1 (2012-03-01)

This is a regularly-scheduled bugfix release.

  • bdiff: fix malloc(0) issue in fixws()
  • bugzilla: stop XMLRPC requests from requesting gzipped responses
  • bundlerepo: bundle repos should be non-publishing (issue3266)

  • cmdserver: invalidate the dirstate when running commands (issue3271)

  • context: make workingctx.forget() really warn about untracked files
  • convert: ignore blank lines in mapfiles (issue3286)

  • convert: tolerate spaces between splicemap parent ids (issue3203)

  • convert: use splicemap entries when sorting revisions (issue1748)

  • dirstate: filecacheify _ignore (issue3278)

  • fetch: use update rather than clean when updating (issue3246)

  • forget: show warning messages for forgetting in subrepo correctly
  • graft: use proper revisions for copy detection (issue3265)

  • import: handle git renames and --similarity (issue3187)

  • largefiles: check whether specified patterns are related to largefiles strictly
  • largefiles: don't break filesets
  • largefiles: only cache largefiles in new heads
  • largefiles: use repo.store.createmode for new files in .hg/largefiles
  • localrepo: clear _filecache on rollback (issue3261)

  • localrepo: reset _phasesdirty flag after writing
  • localrepo: use 'changectx.dirs()' in 'status()' for directory patterns
  • log: fix --follow FILE ancestry calculation
  • log: remove caching of all visited revisions (issue3253)

  • log: restore cache used by --copies
  • mdiff: adjust hunk offsets with --ignore-blank-lines (issue3234)

  • mq: fix qapplied --last and qprev documentation (issue3282)

  • mq: fix qnext when all remaining patches are guarded
  • mq: make qimport --push push all imported patches (issue3130)

  • mq: make qprev return the previous applied patch (issue3245)

  • mq: restore _branchtags() fast path (issue3223)

  • patch: fix fuzzing of hunks without previous lines (issue3264)

  • patch: fuzz more aggressively to match patch(1) behaviour
  • pull: backout change to return code
  • scmutil: update cached copy when filecached attribute is assigned (issue3263)

  • setup: handle output from Apple's Xcode 4.3 better (issue3277)

  • subrepo: fix for merge inconsistencies
  • update: delete bookmarks.current when explicitly updating to a rev (issue3276)

  • update: don't move the active bookmark if a rev is specified with -r

11. Mercurial 2.1 (2012-02-01)

This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.

11.1. Major features

  • Changesets now have a phase attribute, which tracks what changesets are safe to modify (see Phases)

11.2. Core changes

  • annotate: support diff whitespace filtering flags (issue3030)

  • bookmarks: automatically advance bookmark on bare update (BC) (issue2894)

  • bookmarks: shadow divergent bookmarks of foo with foo@n
  • copies: improved copy detection for diff and status
  • hooks: new priority specifier to control ordering
  • id: add command line options for handling ssh and https urls
  • push: propagate --new-branch and --ssh options when pushing subrepos
  • revset: add remote() predicate to lookup remote revisions
  • subrepo: support explicit add and forget of files in subrepos

11.3. Extension changes

  • bugzilla: make XMLRPC interface support http and https access
  • largefiles: add --normal option to hg add (issue3061)

  • notify: add option for writing to mbox
  • rebase: add a "D" short option for detach
  • rebase: allow --detach when --rev is used
  • win32mbcs: allow win32mbcs extension to be enabled on cygwin platform
  • mq: add secret phase setting

11.4. Bug fixes

  • hgcia: fix diffstat support
  • largefiles: add error checking to tags conversion (issue3092)

  • largefiles: add tests for uncovered codepaths (issue3092)

  • largefiles: check if largefile could be found when archiving (issue3193)

  • largefiles: correctly download new largefiles when merging
  • largefiles: correctly handle dirstate status when rebasing
  • largefiles: correctly handle newly added largefile on other side of merge
  • largefiles: display remote errors from putlfile (issue3123) (issue3149)

  • largefiles: don't reference uninitialized variable (issue3092)

  • largefiles: fix caching largefiles from an aliased repo (issue3212)

  • largefiles: fix confusion upon removal of added largefile (issue3176)

  • largefiles: fix inappropriate locking (issue3182)

  • largefiles: fix output of hg summary (issue3060)

  • largefiles: cache new largefiles for new heads when pulling
  • largefiles: implement addremove (issue3064)

  • largefiles: optimize performance of status on largefiles repos (issue3136)

  • largefiles: optimize status when files are specified (issue3144)

  • largefiles: remove empty directories upon update (issue3202)

  • largefiles: fix addremove when no largefiles are specified
  • largefiles: fix revert on missing largefile (issue3217)

  • largefiles: fix transplant for all cases (issue3192)

  • mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)

  • merge: give a special message for internal:merge failure (issue3105)

  • rebase: reinstate old-style rev spec support for the source and base (issue3181)

  • ssh: quote remote paths (issue2983)

  • sslutil: abort properly if no certificate received for https connection
  • sslutil: show fingerprint when cacerts validation fails
  • status: support revsets with --change
  • subrepo: avoid syncing bookmarks twice on clone (issue3191)

  • tag: invalidate tag cache immediately after adding new tag (issue3210)

  • util: don't encode ':' in url paths
  • bundlerepo: try to find containing repo on creation (issue1812)

  • convert: subversion convert abort on revision not found (issue3205)

  • discovery: fix regression when checking heads for pre 1.4 client (issue3218)

  • merge: defer symlink flag merging to filemerge (issue3200)

  • patch: a little bit more robust line counting on diff --stat (issue3183)

  • push: return 1 if no changes found (issue3228)

  • qpush: avoid trying to manage existing history (issue2218)

  • revsets: include the correct first ancestor change for follow(file)
  • revsets: filesets now work correctly inside of revsets

12. Mercurial 2.0.2 (2012-01-01)

This is a regularly-scheduled bug-fix release.

  • alias: shortcut command matching so shadowing works properly (issue3104)

  • branch: warn on branching
  • changelog: handle decoding of NULs in extra more carefully (issue3156)

  • convert: improve exception reporting for SVN logstream
  • diff: don't crash when diffing a revision with a deleted subrepo (issue3153)

  • fetch: fix unneeded commit when no merge attempted (issue2847)

  • fetch: patch cornercase in children calculation (issue2773)

  • largefiles: copy files in binary mode (issue3164)

  • largefiles: don't require a user cache (issue3088) (issue3155)

  • largefiles: fix 'hg status' abort after merge
  • largefiles: handle merges between normal files and largefiles (issue3084)

  • merge: check filename case collision between changesets for branch merging
  • pathauditor: switch normcase logic according to case sensitivity of filesystem
  • progress: check for ui.quiet and ui.debugflag before we write
  • rollback: always call destroyed() (regression from 1.9)
  • util: fix url.str() for windows file URLs

  • windows: use upper() instead of lower() or os.path.normcase()

13. Mercurial 2.0.1 (2011-12-01)

This is a regularly-scheduled bug-fix release.

  • alias: shortcut command matching show shadowing works properly (issue3104)

  • bundlerepo: don't write branch cache to disk
  • clone: don't save user's password in .hg/hgrc (issue3122)

  • convert/bzr: correctly handle divergent nested renames (issue3089)

  • convert/bzr: fix test of divergent nested renames for bzr 1.x
  • convert/svn: fix URL quoting issue with svn 1.7
  • convert: handle trailing slashes in filemap better (issue3124)

  • diff: '\ No newline at end of file' is also not part of the header
  • diff: --ignore-blank-lines was too enthusiastic
  • dirstate: fix case-folding identity for traditional Unix
  • graft: disallow grafting grafted csets in specific situations (issue3091)

  • graft: preserve original source in subsequent grafts
  • hook: flush stdout before redirecting to stderr
  • import: fix parent selection when importing merges
  • largefiles: ensure destination directory exists before findfile links to there
  • largefiles: file storage should be relative to repo, not relative to cwd
  • largefiles: fix 'hg clone . ../foo' OSError abort
  • largefiles: fix rename (issue3093)

  • largefiles: treat status of cache missed largefiles as "missing" correctly
  • largefiles: use "ui.configlist()" to get largefiles.patterns configuration
  • largefiles: write .hg/largefiles/ files atomically
  • makedate: wrong timezone offset if DST rules changed this year (issue2511)

  • mdiff/patch: fix bad hunk handling for unified diffs with zero context
  • posix: add extended support for OS X path folding
  • posix: fix findexe() to check for file type and access
  • rebase: ensure target is not taken as external (issue3085)

  • rebase: treat nullmerge as a special case in rebasestate (issue3046)

  • revset: balance %l or-expressions (issue3129)

  • revset: follow(nosuchfile) should give an empty set (issue3114)

  • subrepo: fix git status false positive (issue3109)

  • subrepo: use correct paths for subrepos with ..-relative paths on windows
  • update: don't clobber untracked files with wrong casing
  • url: handle file://localhost/c:/foo "correctly"

14. Mercurial 2.0 (2011-11-01)

This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.

14.1. Major features

  • New core graft command (similar to transplant extension)

  • New largefiles extension

14.2. Core changes

  • commit: abort when there are uncommitted subrepos, use the -S option to recurse
  • help: most commands now have usage examples with help -v
  • import: add --edit switch
  • revset: add more keywords for bisection
  • revert: introduce short option -C for --no-backup
  • log: add new 'bisect' style that prints the bisection status
  • hgweb: add a "web/logoimg" setting to customize the web logo image
  • subrepo: pull revisions on demand when archiving hg subrepos

14.3. Extension changes

  • color: add styles for tags
  • convert: added bookmarks support in filemap
  • eol: add new eol.fix-trailing-newline setting
  • eol: eol.only-consistent can now be specified in .hgeol
  • export: add %m to file format string (first line of the commit message)
  • mq: make qqueue print current queue name
  • rebase: add --edit switch
  • rebase: add --rev option to rebase
  • rebase: allow rebase on ancestor
  • share: introduce unshare command
  • transplant: add --edit option

14.4. Bug fixes

  • alias: don't shadow commands that we only partially matched (issue2993) (BC)

  • commit: suppress spurious new head message for duplicate commit (issue2893)

  • contrib: some support for named branches in zsh_completion (issue2988)

  • progress: add a changedelay to prevent parallel topics from flapping (issue2698)

  • rebase: allow rebase to ancestor (issue3010)

  • rollback: avoid unsafe rollback when not at tip (issue2998)

  • subrepo: fix git branch tracking logic (issue2920)

  • subrepo: fix repo relative path calculation for root directories (issue3033)

  • summary: show bookmarks separate from tags and note active mark (issue2892)

  • util: wrap lines with multi-byte characters correctly (issue2943)

  • verify: filter messages about missing null manifests (issue2900)

  • wireproto: do not call pushkey module directly (issue3041)

  • auth: fix realm handling with Python < 2.4.3 (issue2739)

  • diffstat: be more picky when marking file as 'binary' (issue2816)

  • dirstate: don't fail when dropping a not-tracked file (issue3080)

  • grep: correct handling of matching lines without line ending (issue3050)

  • hgweb: fix dynamic date calculation not working under Safari
  • mq: avoid data loss upon qfold + qmv (issue3058)

  • setup: set whole env for running hg even if .hg doesn't exist (issue3073)

  • windows: recompute flags when committing a merge (issue1802)

  • windows: sanity-check symlink placeholders

15. Mercurial 1.9.3 (2011-10-01)

This is a regular bugfix release.

  • setup: build inotify for sys.platform='linux*'
  • bundlerepo: add argument check before unlink
  • hgweb: properly check for bookmarks when drawing graph
  • http: handle push of bundles > 2 GB again (issue3017)

  • keyword: preserve file mode when overwriting
  • osutil: avoid accidentally destroying the True object in isgui (issue2937)

  • patch: correctly handle non-tabular Subject: line
  • patch: handle 'gitpatches' being empty, but not none
  • record: use command wrapper properly for qnew/qrefresh (issue3001)

  • setdiscovery: fix hang when #heads>200 (issue2971)

  • ui: also swap sys.stdout with self.fout in _readline
  • ui: write traceback to self.ferr
  • url: Remove the proxy env variables only when needed (issue2451)

  • url: parse fragments first (issue2997)
  • util: fix crash converting an invalid future date to string
  • util: wrap lines with multi-byte characters correctly (issue2943)

  • win32: quietly ignore missing CreateHardLinkA for Wine

16. Mercurial 1.9.2 (2011-08-26)

This is a regular bugfix release (slightly early due to travel plans).

  • commands: clarify that 'hg heads foo' shows heads on branch foo
  • dispatch: don't rewrap aliases that have the same definition
  • graphlog: attempt to fix index overrun (issue2912)

  • http: pass user to readauthforuri() (fix 4a43e23b8c55)
  • http: strip credentials from urllib2 manager URIs (issue2885)

  • parsers: avoid pointer aliasing
  • subrepo: fix cloning of repos from urls without slash after host (issue2970)

  • ui: pass ' ' to raw_input when prompting
  • url: really handle urls of the form file:///c:/foo/bar/ correctly

  • win32: msvcr71.dll should be used for python 2.4 and 2.5

17. Mercurial 1.9.1 (2011-08-01)

This is a regular bugfix release. It fixes several regressions introduced in 1.9. The hgweb server now disables MIME type guessing by default to avoid a potential cross-site scripting issue when hosting untrusted repositories (issue2923). See UpgradeNotes for more info.

  • dispatch: make sure global options on the command line take precedence
  • eol: ignore IOError from deleted files in commitctx
  • hgcia: set default value of strip to -1 (issue2891)

  • hgweb: do not ignore [auth] if url has a username (issue2822)

  • hgweb: handle 'baseurl' configurations with leading slash (issue2934)

  • hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)

  • httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
  • patch: fix parsing patch files containing CRs not followed by LFs
  • rebase: block collapse with keepbranches on multiple named branches (issue2112)

  • rebase: reset bookmarks (issue2265 and issue2873)

  • revert: restore check for uncommitted merge (issue2915) (BC)

  • revsets: catch type error on tip^p1(tip) (issue2884)

  • revsets: do the right thing with x^:y (issue2884)

  • subrepo: handle adding svn subrepo with a svn:external file in it (issue2931)

  • subrepo: use working copy of .hgsub to filter status (issue2901)

  • url: store and assume the query part of an url is in escaped form (issue2921)

  • util: rename the util.localpath that uses url to urllocalpath (issue2875)

  • verify: filter messages about missing null manifests (issue2900)

  • web: output a correct date in short format (issue2902)

  • win32: assign winstdout to sys.stdout as well (issue2888)

18. Mercurial 1.9 (2011-07-01)

This is a regular feature release. See UpgradeNotes for some minor compatibility notes.

18.1. Major features

  • New fileset file matching support

  • Improved remote changeset discovery
  • New command server mode to improve application integration

  • Experimental generaldelta storage scheme
  • Experimental new http client library

18.2. Command changes

  • HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
  • manifest: add new option --all
  • aliases: add positional arguments to non-shell aliases
  • add: introduce a warning message for non-portable filenames (issue2756)

  • add: notify when adding a file that would cause a case-folding collision
  • bisect: new command to extend the bisect range (issue2690)

  • bookmarks: allow deactivating current bookmark with -i
  • bundle: update current bookmark to most recent revision on current branch
  • diff: make diff -c aware of revision sets
  • help: add -c/--command flag to only show command help (issue2799)

  • help: add -e/--extension switch to display extension help text
  • help: move hgignore man page into built-in help (issue2769)

  • http: correctly handle redirects from http to https
  • identify: list bookmarks for remote repositories
  • import: add --bypass option
  • paths: Add support for -q/--quiet
  • pushkey: add hooks for pushkey/listkeys
  • revset: add aliases
  • revset: add ^ and ~ operators from parentrevspec extension
  • revset: add a revset command to get bisect state
  • revset: add desc(string) to search in commit messages
  • revset: add follow(filename) to follow a filename's history across copies
  • revset: introduce filelog() to emulate log's fast path
  • revset: add a last() function

18.3. Web changes

  • add bookmarks listing to raw style and summary pages
  • support alternate logo url
  • add base link to file log for paper and coal styles (issue2452)

  • paper, coal: display diffstat on the changeset page
  • elapsed time calculation dynamic (javascript)
  • provide diffstat and summary on the changeset page

18.4. Extension changes

  • hgcia: handle URL like in notify (issue2406)

  • rebase: add -m/--message to rebase --collapse (issue2389)

  • Updating hgext.extdiff to use revsets
  • bash_completion: enable alias auto-complete
  • bugzilla: add XMLRPC interface
  • color: add support for terminfo-based attributes and color
  • convert/mtn: add support for using monotone's "automate stdio" when available
  • convert/svn: stop using svn bindings when pushing to svn
  • convert: add bookmark support for hg and git backends
  • convert: add svnrev, svnpath and svnuuid template keywords
  • extdiff: add repository root as a variable
  • graphlog: support more log command features with revsets
  • keyword: convert a verbatim block to a field list
  • keyword: offer additional datefilters when the extension is enabled
  • mq: add a 'mq()' revset predicate that returns applied mq csets
  • notify: send changesets on 'outgoing' hook, updated doc
  • progress: add speed format
  • rebase: add --tool argument for specifying merge tool
  • rebase: allow for rebasing descendants onto ancestors on different named branches
  • record: add an option to backup all wc modifications
  • record: add qrefresh -i/--interactive
  • record: add white space diff options
  • record: alias qrecord to qnew -i/--interactive

18.5. Bug fixes

  • bookmarks: allow create/move bookmark without

WhatsNew (last edited 2024-11-14 15:38:56 by RaphaelGomes)