721
Comment:
|
22204
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Changes from 0.6c to 0.7: {{{ core improved merge logic improved copy/rename support (still experimental) automatic binary file handling generic file filtering support locate branches by tag various performance improvements command line new bundle/unbundle commands for exchanging native updates more natural support for remove, copy, and rename faster, more powerful log command new grep command for searching entire history support for plug-in extensions improved exception handling and debugging facilities hgweb optional downloading of tarballs and zip files Windows support hardlinking support newline conversion through file filtering contrib Emacs support updated hgk }}} |
#pragma section-numbers 2 ## notes that are older than 3 major releases should be moved to WhatsNew/Archive = Release Notes = Features and bugfixes in our latest releases. Note that Mercurial follows a time-based release plan with major releases every four months and minor (bugfix) releases on the first of every month (see TimeBasedReleasePlan). {i} Be sure to read the [[UpgradeNotes|upgrade notes]] when [[UpgradingMercurial|upgrading]]. <<TableOfContents(2)>> (See [[WhatsNew/Archive|archive]] for older versions.) == Mercurial 2.0.2 (2012-01-01) == This is a regularly-scheduled bug-fix release. * alias: shortcut command matching so shadowing works properly (Bts:issue3104) * branch: warn on branching * changelog: handle decoding of NULs in extra more carefully (Bts:issue3156) * convert: improve exception reporting for SVN logstream * diff: don't crash when diffing a revision with a deleted subrepo (Bts:issue3153) * fetch: fix unneeded commit when no merge attempted (Bts:issue2847) * fetch: patch cornercase in children calculation (Bts:issue2773) * largefiles: copy files in binary mode (Bts:issue3164) * largefiles: don't require a user cache (Bts:issue3088) (Bts:issue3155) * largefiles: fix 'hg status' abort after merge * largefiles: handle merges between normal files and largefiles (Bts: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() == Mercurial 2.0.1 (2011-12-01) == This is a regularly-scheduled bug-fix release. * alias: shortcut command matching show shadowing works properly (Bts:issue3104) * bundlerepo: don't write branch cache to disk * clone: don't save user's password in .hg/hgrc (Bts:issue3122) * convert/bzr: correctly handle divergent nested renames (Bts: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 (Bts: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 (Bts: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 (Bts: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 (Bts: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 (Bts:issue3085) * rebase: treat nullmerge as a special case in rebasestate (Bts:issue3046) * revset: balance %l or-expressions (Bts:issue3129) * revset: follow(nosuchfile) should give an empty set (Bts:issue3114) * subrepo: fix git status false positive (Bts: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" == Mercurial 2.0 (2011-11-01) == This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes. === Major features === * New core Cmd:graft command (similar to transplant extension) * New [[LargefilesExtension|largefiles]] extension === 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 === 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 === Bug fixes === * alias: don't shadow commands that we only partially matched (Bts:issue2993) (BC) * commit: suppress spurious new head message for duplicate commit (Bts:issue2893) * contrib: some support for named branches in zsh_completion (Bts:issue2988) * progress: add a changedelay to prevent parallel topics from flapping (Bts:issue2698) * rebase: allow rebase to ancestor (Bts:issue3010) * rollback: avoid unsafe rollback when not at tip (Bts:issue2998) * subrepo: fix git branch tracking logic (Bts:issue2920) * subrepo: fix repo relative path calculation for root directories (Bts:issue3033) * summary: show bookmarks separate from tags and note active mark (Bts:issue2892) * util: wrap lines with multi-byte characters correctly (Bts:issue2943) * verify: filter messages about missing null manifests (Bts:issue2900) * wireproto: do not call pushkey module directly (Bts:issue3041) * auth: fix realm handling with Python < 2.4.3 (Bts:issue2739) * diffstat: be more picky when marking file as 'binary' (Bts:issue2816) * dirstate: don't fail when dropping a not-tracked file (Bts:issue3080) * grep: correct handling of matching lines without line ending (Bts:issue3050) * hgweb: fix dynamic date calculation not working under Safari * mq: avoid data loss upon qfold + qmv (Bts:issue3058) * setup: set whole env for running hg even if .hg doesn't exist (Bts:issue3073) * windows: recompute flags when committing a merge (Bts:issue1802) * windows: sanity-check symlink placeholders == 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 (Bts:issue3017) * keyword: preserve file mode when overwriting * osutil: avoid accidentally destroying the True object in isgui (Bts:issue2937) * patch: correctly handle non-tabular Subject: line * patch: handle 'gitpatches' being empty, but not none * record: use command wrapper properly for qnew/qrefresh (Bts:issue3001) * setdiscovery: fix hang when #heads>200 (Bts: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 (Bts:issue2451) * url: parse fragments first (issue2997) * util: fix crash converting an invalid future date to string * util: wrap lines with multi-byte characters correctly (Bts:issue2943) * win32: quietly ignore missing CreateHardLinkA for Wine == 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 (Bts:issue2912) * http: pass user to readauthforuri() (fix 4a43e23b8c55) * http: strip credentials from urllib2 manager URIs (Bts:issue2885) * parsers: avoid pointer aliasing * subrepo: fix cloning of repos from urls without slash after host (Bts: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 == 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 (Bts: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 (Bts:issue2891) * hgweb: do not ignore [auth] if url has a username (Bts:issue2822) * hgweb: handle 'baseurl' configurations with leading slash (Bts:issue2934) * hgweb: raw file mimetype guessing configurable, off by default (BC) (Bts: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 (Bts:issue2112) * rebase: reset bookmarks (Bts:issue2265 and Bts:issue2873) * revert: restore check for uncommitted merge (Bts:issue2915) (BC) * revsets: catch type error on tip^p1(tip) (Bts:issue2884) * revsets: do the right thing with x^:y (Bts:issue2884) * subrepo: handle adding svn subrepo with a svn:external file in it (Bts:issue2931) * subrepo: use working copy of .hgsub to filter status (Bts:issue2901) * url: store and assume the query part of an url is in escaped form (Bts:issue2921) * util: rename the util.localpath that uses url to urllocalpath (Bts:issue2875) * verify: filter messages about missing null manifests (Bts:issue2900) * web: output a correct date in short format (Bts:issue2902) * win32: assign winstdout to sys.__stdout__ as well (Bts:issue2888) == Mercurial 1.9 (2011-07-01) == This is a regular feature release. See UpgradeNotes for some minor compatibility notes. === Major features === * New [[http://www.selenic.com/hg/help/filesets|fileset]] file matching support * Improved remote changeset discovery * New [[CommandServer|command server]] mode to improve application integration * Experimental generaldelta storage scheme * Experimental new http client library === 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 (Bts:issue2756) * add: notify when adding a file that would cause a case-folding collision * bisect: new command to extend the bisect range (Bts: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 (Bts:issue2799) * help: add -e/--extension switch to display extension help text * help: move hgignore man page into built-in help (Bts: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 === 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 (Bts:issue2452) * paper, coal: display diffstat on the changeset page * elapsed time calculation dynamic (javascript) * provide diffstat and summary on the changeset page === Extension changes === * hgcia: handle URL like in notify (Bts:issue2406) * rebase: add -m/--message to rebase --collapse (Bts: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 === Bug fixes === * 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 |
Release Notes
Features and bugfixes in our latest releases.
Note that Mercurial follows a time-based release plan with major releases every four months and minor (bugfix) releases on the first of every month (see TimeBasedReleasePlan).
Be sure to read the upgrade notes when upgrading.
Contents
- Mercurial 2.0.2 (2012-01-01)
- Mercurial 2.0.1 (2011-12-01)
- Mercurial 2.0 (2011-11-01)
- Mercurial 1.9.3 (2011-10-01)
- Mercurial 1.9.2 (2011-08-26)
- Mercurial 1.9.1 (2011-08-01)
- Mercurial 1.9 (2011-07-01)
- Mercurial 1.8.4 (2011-06-01)
- Mercurial 1.8.3 (2011-05-01)
- Mercurial 1.8.2 (2011-04-01)
- Mercurial 1.8.1 (2011-03-10)
- Mercurial 1.8 (2011-03-01)
(See archive for older versions.)
1. 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()
2. 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"
3. Mercurial 2.0 (2011-11-01)
This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.
3.1. Major features
New core graft command (similar to transplant extension)
New largefiles extension
3.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
3.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
3.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
4. 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
5. 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
6. 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)
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)
7. Mercurial 1.9 (2011-07-01)
This is a regular feature release. See UpgradeNotes for some minor compatibility notes.
7.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
7.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
7.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
7.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
7.5. Bug fixes
bookmarks: allow create/move bookmark without making it current (issue2788)
bookmarks: do not forward merged bookmark (issue1877)
changegroup: do not count closed new heads (issue2697)
config: handle comment lines in continuations (issue2854)
dispatch: propagate ui command options to the local ui (issue2523)
eol: make the hook check all new heads, not only tip (issue2666)
grep: don't print data from binary files for matches (issue2614)
http: report unexpected unparsable push responses (issue2777)
- httprepo: handle large lengths by bypassing the len() operator
httprepo: long arguments support (issue2126)
httprepo: proper handling of invalid responses without content-type (issue2019)
httprepo: send URL redirection notices to stderr (issue2828)
localrepo: don't add deleted files to list of modified/added files (issue2761)
localrepo: ignore tags to unknown nodes (issue2750)
merge: drop resolve state for mergers with identical contents (issue2680)
patch: do not patch unknown files (issue752)
path_auditor: check filenames for basic platform validity (issue2755)
rebase: don't mark file as removed if missing in parent's manifest (issue2725)
rebase: preserve mq series order after rebasing (issue2849)
rebase: restore mq guards after rebasing (issue2107)
revset: report a parse error if a revset is not parsed completely (issue2654)
scmutil: improve path calculation for install-relative RC files (issue2841)
set NOT_CONTENT_INDEXED on .hg dir (issue2694)
sslutil: fall back to commonName when no dNSName in subjectAltName (issue2798)
subrepo: be more careful with deletions of .hgsub and .hgsubstate (issue2844)
subrepo: make stdin for svn a pipe for non-interactive use (issue2759)
subrepo: svn abort now depends on exit code (issue2833)
subrepo: be smarter about what's an absolute path (issue2808)
svn subrepo: attempt work around obstructed checkouts (issue2752)
svn subrepos: work around checkout obstructions (issue2752)
tags: catch more corruption during cache parsing (issue2779)
util: add Mac-specific check whether we're in a GUI session (issue2553)
8. Mercurial 1.8.4 (2011-06-01)
This is a regular time-based bugfix release.
bookmarks: do not forward merged bookmark (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 (issue2019)
httprepo: send URL redirection notices to stderr (issue2828)
localrepo: don't add deleted files to list of modified/added files (issue2761)
localrepo: ignore tags to unknown nodes (issue2750)
mq: strip extra whitespace from node ids in header (issue2790)
rebase: restore mq guards after rebasing (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 (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 (issue310)
subrepo: don't crash when git .hgsubstate is empty (issue2716)
subrepo: make stdin for svn a pipe for non-interactive use (issue2759)
- subrepo: respect non-default path for incoming/outgoing
subrepo: svn abort now depends on exit code (issue2833)
subrepo: use code from 71ea5b only if Python needs it (issue2795)
tags: catch more corruption during cache parsing (issue2779)
9. Mercurial 1.8.3 (2011-05-01)
This is a regular time-based bugfix release.
convert: make filemap prune useless branch closing revs (issue2774)
encoding: avoid localstr when a string can be encoded losslessly (issue2763)
extdiff: fix broken symlinks handling (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 (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 (issue2725)
- subrepo: handle svn tracked/unknown directory collisions
subrepo: prevent url normalization from removing // in ssh paths (issue2556)
subrepo: tell Subversion when we are non-interactive (issue2759)
url: use a regex to hide unsupported ssh passwords (issue2754)
- zeroconf: notify the Zeroconf threads when hg exits
10. Mercurial 1.8.2 (2011-04-01)
This is a regular time-based bugfix release.
bookmarks: discard current bookmark if absent from the bookmarks (issue2692)
- bookmarks: fix update of the current bookmark during rename
color: port to using ctypes (issue2687)
convert/svn: fix _iterfiles() output in root dir case (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 (issue2715)
- mq: do not let qrefresh write bad patch
pager: don't page stderr if it's being redirected (issue2541)
push/outgoing: print remote target path even if there's an error (issue2561)
- subrepo: recognize scp-style paths as git URLs
templates: widen the graph canvas (issue2683)
11. 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 (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 (issue2677)
- merge: back out single-parent fast-forward merge
merge: drop resolve state for mergers with identical contents (issue2680)
merge: improve unresolved conflicts warning (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 (issue2673)
12. Mercurial 1.8 (2011-03-01)
12.1. Core
Bookmarks are now a core feature (see UpgradeNotes)
New listfile: pattern-matching (patterns)
- Revset syntax supported by most commands
- Performance improvements for reading large repository indexes
- Certificate validation for HTTPS proxies
12.2. Subrepos
- New support for git subrepos
- Various improvements to merge, update, and commit logic
12.3. Windows
- Numerous robustness improvements for quirks in Windows file handling
Now uses the native ctypes module rather than PyWin32
12.4. Extensions
- eol: filter aliases for compatibility with win32text
mq: --exact option for qpush
- mq: various robustness improvements
- progress: remaining time estimates