721
Comment:
|
32695
|
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 }}} |
= Release Notes = Be sure to read UpgradeNotes and, if relevant, [[API_Changes|API Changes]]. <<TableOfContents>> (See [[WhatsNew/Archive|archive]] for older versions. New versions will be released according to the [[TimeBasedReleasePlan|time-based release plan]].) == 1.6.1 (2010-08-01) == This is a scheduled monthly minor bugfix release. * alias: ensure checksignature() is applied directly to the command (issue2286) * bash/zsh completion: use HGPLAIN when invoking hg (issue2297) * bookmarks: don't allow name to contain whitespaces only * bookmarks: ensure current bookmark is updated when specified with -r . * bundle: lookup revisions after addbranchrevs * color/progress: subclass ui instead of using wrapfunction (issue2096) * commit: only warn when reopening the workdir's branch * dispatch: give better error message when cwd doesn't exist (issue2293) * doc: make sure we use our own code for generating man pages * filelog: cmp: don't read data if hashes are identical (issue2273) * filelog: test behaviour for data starting with "\1\n" * hg.clone: fix branch value when passing a repo object (issue2267) * hgweb.wsgi: add a URL to the corresponding wiki documentation * hgwebdir: allow pure relative globs in paths * hgwebdir: use template paths configured in the hgrc (issue2281) * init: create target directory recursively * inotify: check all components of filenames against hgignore (issue884) * keyword: move collecting of [keyword] patterns to reposetup (issue2303) * log: fix missing diff output for hg log -p in subdirectory * log: follow filenames through renames (issue647) * mail: ensure that Python2.4 to 2.7 use the same header format * mercurial.spec: rename docutils to python-docutils in BuildRequires * mq: clarify the fact that qimport is trying to read a file * mq: cleanup status if applied mq is stripped (issue1881) * mq: fixed ENOENT when qrename to new/directory.patch * mq: reset self.added after the mq transaction instead of inside qimport * qpush --move: move the right patch even with comment lines * rebase: re-add patches to mq repo after rebase * revert: rename original to .orig instead of copying (issue2282) * revset: fix ancestor subset handling (issue2298) * runrst: try to be more helpful if docutils is not installed * tag: do not allow tag names to consist solely of whitespace (issue2307) * transplant: crash if repo.commit() finds nothing to commit == 1.6 (2010-07-01) == (This release makes a couple small behavior changes, be sure to read UpgradeNotes!) === Core === * addremove: optimize `addremove -s100` by matching files by their SHA1 hashes * archive: auto-detect archive type by extension (issue2058) * commit: more friendly handling of new and closed named branches * hooks: provide pre- and post- hooks with parsed command line arguments * log: add `--branch` for filtering on named branch * log: add `--stat` for diffstat output * push: add `--new-branch` option to allow initial push of new branches * push: break infinite http recursion bug with Python 2.6.5 (issue2179) * rollback: add `-n`/`--dry-run` flag, report what's being rolled back * subrepo: various fixes * summary: report copies and renames and add subrepo status * tag: add `-e`/`--edit` option for modifying the commit message * revsets: introduce a powerful query language for specifying revisions, see [[http://www.selenic.com/mercurial/hg.1.html#revsets|the manpage]] or `hg help revsets` === Hgweb === * unify and simplify `hgweb.cgi` and `hgwebdir.cgi` scripts * fix race in refreshing repo list (issue2188) * simplify `hgweb.cgi`, add help pointer * deliver shell hook output to client * allow `--port=0` to specify "choose free port number automatically" * improved templater performance === Help === * add new hgweb, glossary, and revsets topics * numerous improvements to help text === Extensions === * acl: support for access control base on branches and user-defined or OS-level groups * acl: added support for `pretxncommit`, so that one can call the ACL hook at (?) * bookmarks: add support for pushing and pulling bookmarks * churn: add possibility to include/exclude paths * color: add support for Windows consoles * color: colorize based on output labels instead of parsing output * extdiff: add labels, read diff arguments from `[merge-tools]` * keyword: offer svn-like default keywordmaps * keyword: support (q)record * mq: add a line to hg summary * mq: `qpush --move`, reorder patch series and apply only the patch * progress: progress support for many more commands * rebase: add option to not commit after a collapsing == 1.5.4 (2010-06-01) == This is a scheduled monthly minor bugfix release. * dispatch: include Python version in traceback * push: update help * status: avoid performance regression when no .hgsub is present * clone: fix performance issue with hardlinks and Windows shares * hgweb: fix race in refreshing repo list (issue2188) * hgrc: clarify that hgrc keys can be overridden and sections can be split * eol: [[EolExtension|new extension]] for managing file newlines based on a version controlled configuration file * pager: fork and exec pager as parent process with /bin/sh -c * rebase: stress that only local changesets should be rebased * convert/svn: close gettags() log stream (issue2196) * record: check that we are not committing a merge before patch selection == 1.5.3 - 2010-05-13 == This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included: * various improvements to SVN conversion support * minor doc improvements == 1.5.2 - 2010-05-01 == This is a monthly bugfix release with numerous minor fixes including: === Core === * clone: fix URL too long problem with many heads * commands: revised documentation of 'default' and 'default-push' * copies: properly visit file context ancestors on working file contexts * diffstat: use ui.plain() instead of ui.interactive() * dirstate: fix in memory dirstate entries for 1-second race * dispatch: don't mangle !ImportError abort messages * filemerge: use working dir parent as ancestor for backward wdir merge * hgrc.5: describe form of config values and mention lists as well * hgweb: fix attribute error in error response (issue2060) * log: document the new xml style * merge: correctly compute the flag for noexec filesystems * patch: don't look for headers in diff lines * push: fix bug in warning message selection * revlog: fix lazyparser.__iter__() to return all revisions (issue2137) * static-http: allow clone -r (issue2164) * subrepo: fix repo root path handling in svn subrepo * subrepo: propagate and catch push failures * templates: document missing template variables * util: fix default termwidth() under Windows * util: use an explicit prefix for checkexec/checklink temporary files === Extensions === * convert/cvs: skip bad tags * convert/git: check status when reading output stream * convert/subversion: fix default URL checker prototype * mq: rewrite strip docstrings * mq: use util.unlink instead of os.unlink and os.removedirs * schemes: fix // breakage with Python 2.6.5 (issue2111) == 1.5.1 - 2010-04-01 == === Core === * improve warning on adding large files * expand ~ in auth filenames and aliases * several improvements to patch parsing * warn about attempts to use hg branch to switch branches * push: fix bug in prepush logic and its tests * hgweb: fix broken URLs of RSS/Atom feeds * subrepo: several bug fixes === Extensions === * acl: added support for '*' (everyone) in user list * progress: use stderr instead of stdout * schemes: add Kiln On Demand to default schemes == 1.5 - 2010-03-06 == (This release makes a number of small behavior changes, be sure to read UpgradeNotes!) === Core === * improved behavior for named branches with `heads` command * new XML output template for logs * `import` extract multiple patches from emails, mboxes, files, and URLs * new `patch.eol=auto` option to ignore patch line-endings while preserving target file endings. * new `-b/--branch` option for `clone, bundle, incoming, outgoing, pull, and push` * new `server.validate` option to validate completeness of pushed changesets * subrepos now has basic Subversion support * support for SSL server certificates and improved IPv6 support * the `HGPLAIN` environment variable makes output more stable for scripts === Extensions === * new [[ProgressExtension|progress bar extension]] * mq: new `--mq` option to make regular commands operate on queue repository * mq: automatically upgrade conventional patches to git format where needed * color: add support for bookmarks, `resolve -l`, and `churn --diffstat` * convert: two CVS history editing hooks * win32mbcs: add configuration to specify path encoding * zeroconf: many bug fixes * rebase: new `--detach` option for rebase === Web Interface === * improve navigation on log and graph pages * support for pluggable authorization * raw templates for tags/branches pages * add wsgi script for Microsoft IIS with isapi-wsgi === Windows === * add WiX installer scripts to contrib/wix * handle configuration files in <install-dir>\hgrc.d * expand environment variables specified in merge tools paths === Help and Documentation === * greatly improve error messages and command documentation * support extended documentation with --verbose * provide help for disabled extensions and commands == 1.4.3 - 2010-02-01 == This is a scheduled bugfix release. * Mercurial license has changed from GPLv2 to GPLv2+ * speed up copy detection in merge, status, and diff * templates: fix relative path expansion on style setting * merge: fix merging of already-merged subrepos * summary: fix i18n issue reporting clean working directories * hgweb: improve IIS PATH_INFO handling * relink: Windows support == 1.4.2 - 2010-01-01 == This is a minor bugfix release. === core === * config: raise ConfigError on non-existing include files * alias: do not crash when aliased command has no usage help text * auth: allow specifying auth sections in .hg/hgrc * patch: fix handling of chunk offsets * subrepo: add default path to new clones * docs: Fix rst2html detection === extensions === * convert/svn: better handling of hg recursive call failure * convert/svn: make sink recover gracefully from empty changeset * keyword: fix interaction with transplant * mq: preserve --git flag when folding and merging patches * mq: qnew -f rejects merge working directories * mq: qpop: remove added files before re-adding removed files * patchbomb: handle repository#rev URLs correctly * share: use defaultdest to compute unspecified destination == 1.4.1 - 2009-12-01 == === regression fixes === * fix to prepush logic when it creates new heads * fix qseries truncation === other === * doc fixes: formatting, missing options * tests fixes (now less dependent on environment variables) * inotify fixes * keyword: allow RCSfile like CVS * share: fix a bad interaction with clone * show non-default branch names with summary -q * new [[SchemesExtension|schemes extension]] * i18n updates == 1.4 - 2009-11-16 == === core === * summary: new command summarizes current working state * tags: new tag cache greatly speeds up tag operations * diff: new `--stat` option to show diffstat * diff: add `--reverse` option to diff * subrepo: fix a bunch of issues with the experimental subrepo extension * status: fixes for behavior when working with clock skew * clone: new `-u/--updaterev` option * templater: new `latesttag` and `latesttagdistance` keywords * push/pull: handle some broken pipe errors during large transfers * config: environment variables and `~user` constructs are expanded in pathnames === hgweb === * fix for showing header lines in raw changeset diffs * try to send better error messages to the client * use config-supplied ordering by default in hgwebdir index pages * add `web.descend` option to disable showing all nested repositories in hgwebdir === documentation and help === * new config help topic * help texts are now written in [[http://docutils.sourceforge.net/rst.html|reStructuredText]] format * many translation updates including a new Swedish translation * many help text updates and improvements === extensions === * mq: add `-1` options to qapplied/qunapplied * patchbomb: add a `--flag` option to set a flag value in the Subject header * patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme) * color: improve colorization of the qseries command * inotify: cleaner code, fixed pattern handling * zeroconf: show repository descriptions * rebase: some performance and correctness fixes * extdiff: add 3-way diff for merge changesets * convert: handle directory renaming in Darcs, fixed file renaming * relink: new extension which helps people re-hardlink their clones === other === * contrib/shrink-revlog.py script that can significantly shrink some internal hg files * work around non-standard locale settings on OS X == Version 1.3.1 - 2009-07-23 == Regression fixes: * fixed excessive memory usage issues with diff and strip * fixed ssh performance issue on OS X * fixed slow calculation of branch heads * fixed handling of port numbers in URLs * fixed transaction handling exception * fixed incoming with graphlog extension * fixed slow commit in fetch extension * fixed loading of win32mbcs extension Other fixes: * fixed http username handling in acl extension * fixed subrepo path joining on Windows * allow update --check to cross branches * miscellaneous small doc and bug fixes == Version 1.3 - 2009-07-01 == === Major Changes === * experimental support for [[subrepos|sub-repositories]] * Python 2.3 is no longer supported; now requires Python 2.4-2.6 === Commands === * merge: add -P/--preview option * update: don't unlink added files when -C/--clean is specified * update: added -c/--check option to abort on local changes * update: allow merges going backwards * push: improved handling of named branches * branches/heads: add a -c/--closed option to show closed branches * help: new extensions topic === General === * add patch.eol config setting to work with cross-platform patches * fixed support for SSL through proxies * add ability to load hooks from arbitrary Python modules * hide passwords for HTTP repositories in error and log output * fix Python 2.6 support in the Windows installer * add mechanism for specifying HTTP authentication details in hgrc * prompts and choices are now shown even in non-interactive mode * performance improvements, especially on Windows * much improved zsh completion * improved Danish, Japanese, Italian and simplified Chinese translations * new German, French, Greek, Brazilian Portuguese and traditional Chinese translations === Web interface === * read configuration data from webdir configs * add branches page to hgweb * pluggable templater engine support * refresh hgwebdir configuration periodically * let web.encoding override ui.encoding setting * deal with dicts/lists like webdir config paths === Extensions === * experimental [[ShareExtension|share]] extension * the alias extension has been moved into core * mq * add -P/--push option to qimport * numerous bug fixes * convert * improved source detection * support for comments in author maps * add branch map support * add different ordering options * svn: support OS-specific authn providers * svn: improved tag support * git: add committer tag only when needed * bzr: fix renaming support * bzr: add support for filemaps * bzr: handle timestamps correctly * bzr: fix symlink handling * bzr: restore paths to source encoding * cvs: add support for CVS merge(point)s * cvs: add support for synthetic revisions * cvs: better support for branchpoints * cvs: deprecate use of external cvsps * mtn: improve renaming support * mtn: support mtn database files as source * mtn: improve date/time support * p4: better handling of keywords, binary files and symlinks * rebase * don't lose copy/rename info * keep original mq patch format * zeroconf * advertise repositories by hostname * try to guess IP address if necessary * patchbomb * option to set attachment name * support for In-Reply-To header * inotify * fix handling of untracked files moved out of repository * fix support for directory deletion * acl: now works with push over https == Version 1.2.1 - 2009-03-20 == This is a bugfix release. * fixed version number build from tarball * fix allow_read logic for hgweb * improve handling of damaged revlogs in verify * keep .orig files when resolving * clear resolve state properly when rebasing * improve --command handling with bisect * fix diff against bundles * improve fetch logic for inactive branches * fix diffstat with notify * fix 'synthetic file adds' in CVS conversion == Version 1.2 - 2009-03-04 == This is a larger feature release. General features: * explicit closing of named branches via hg commit --close-branch * hg now accepts options given after arguments on the commandline * added translation support with initial Danish, Chinese, Japanese, and Italian translations * added optional pure-Python versions of C modules * pending changesets can now be accessed safely from hooks * diff: added -c option to show single changeset * many improvements to the documentation and online help topics Extensions: * convert: * new support for perforce sources * improvements to handling cvs sources * improvements to handling gnu arch source * improvements to handling darcs sources * bookmarks: * set current to new when current is renamed * bookmarks: Add track.current option * bookmarks: add bookmarks to tags * mq: allow qpop when it won't invalidate any dirstate parents * patchbomb: respect diff settings * rebase: pull --rebase updates if there is nothing to rebase * bugzilla: updated to work with Bugzilla 3.2 * zeroconf: added more documentation * hgk: add several color settings * the imerge extension has been removed (obsoleted by the resolve command) == Version 1.1.2 - 2008-12-31 == This is a minor release including one security fix and two minor bug fixes * improve path auditing (issue 1450) * fix date-related test failures in test suite * add graph controls to monoblue theme == Version 1.1.1 - 2008-12-20 == This is a bugfix release * make hgweb recursion optional (use '**' rather than '*') * fix fncache bug for directories ending in ' ' or '.' * require -a switch to resolve all files * improve help for resolve command * fix inotify interaction with bundle diffs * fix strange readline import error on Windows * fix non-existing target directory with git diffs * fix removing symlinks with git diffs * fix directory creation bug in patch * rebase: allow keeping branch names * fix a copy bug in the SVN converter == Version 1.1 - 2008-12-2 == This is a larger feature release. General: * Added 'resolve' command for better tracking of in-progress merges * Several speedups for status and diff commands (especially on Windows) * Some modules have been rewritten in C for greater speed * Compatibility with Python 2.6 * Improved correctness in the face of casefolding filesystems * Fixed a possible race condition in pull * Fix support for context-size diff settings * Fixed several crashes on Windows related to code freezing * Don't complain when trying to load extensions twice * Allow C extensions to compile on Haiku * Allow for committing in-memory file contents * New repository format which limits path lengths in the store * Unclutter commands list by extracting extension commands into separate lists * static-http support is now a fallback for the general http support * Add some buffering to the templater * Better documentation on git diffs Web interface: * Add a canvas-based repository graph * New and improved hgweb themes: paper, coal and monoblue * paper is now the new default style; the old default is now called 'spartan' * Better WSGI compliance * Collections now show nested repos (best used without a checkout) * diffs are more sensible, follow diff.git settings * Full author name available in annotate templates * Make it easier to add template paths in extensions * Support for allow_read/deny_read access controls * Working diff and file log for removed files * Better alternative for repository collections * Corrected feed link in gitweb theme * Fix a bug with CGIs running under IIS Commands: * commit: print the revision ID when invoked with --verbose * resolve: new command to help keep track of merges * merge: only implicitly select same-branch heads * export: append instead of overwrite when exporting multiple changesets * bundle: added support for different compression types * rollback: clean up empty files * help: several more sections from the manual are available through hg help now * bisect: better documentation, give better feedback, option for scripted testing * branch: allow for resetting current branch name * patch: add a --similarity option to do rename/copy detection * tag: without a checkout, use tip as the tagging revision's parent * log: allow searching by user (with -u) * import: importing from URL now works with http authentication * unbundle: importing from URL now works * pull: with -u, still update if there's only one head on the current branch * diff: fix a problem with the --showfunc option Extensions: * rebase: new extension to support rebasing changesets * bookmarks: new extension to provide (local-only) git-like branches * zeroconf: new extension to support publishing repositories through Zeroconf/Bonjour * hgcia: new extension to facilitate communication with [[http://cia.vc/|CIA]] * mq: * qfinish: added command for conversion of patches into changesets * qpush/qgoto: gracefully abort when encountering guards * qrefresh: don't lose work when interrupted * qimport: allow for importing patches from URLs * qnew: abort early if patch already exists, be more careful in general * qdiff: now supports all diff options * qfold: more tolerance of file removals, better handling of commit messages * import: prevent import from working when patches are applied * convert: * added support for conversion from bzr repositories * incorporate an improved Python version of cvsps, replacing the external cvsps tool (see upgrade notes) * compatibility with recent git releases * add an option to start from an arbitrary revision * correctly encode characters in Subversion repository URLs * better, more tolerant tags detection * highlight: * remove need to pre-generate CSS stylesheet * compatibility with older Pygments versions * make the lexer guessing faster by not reading all of the file * allow demandimport to load it incrementally * fetch: improve support for named branches * graphlog: * now adds --graph options to log, incoming and outgoing * fix calls from outside the repository * inotify: * many bugfixes, should work much better * daemon is automatically started by default * color: * add colorization of diffs * add --color options to many commands * keywords: be more careful about expanding binary files * bugzilla: added support for Bugzilla 3.0 * pager: allow per-command configuration * hgk: display branch names for revisions * churn: support for templated statistics report generation * patchbomb: charset encoding can now be configured * notify: charset encoding can now be configured == Version 1.0.2 - 2008-08-13 == This is a relatively small bugfix release with two security fixes. Security: * ensure that git patches only touch files within the repository ([[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2942|CVE-2008-2942]]) * hgweb: fix "allowpull" permission being ignored when pulling from hgweb General: * commit: handle copies of previously deleted files (issue 1175) * bisect: allow for having multiple resulting changesets * fix Python 2.3 compatibility * make mq patches and .hgtags hardlink-safe again * various documentation improvements and fixes * fix a crash when addremove was called to replace a deleted directory with a symlink * make branches output easier to parse (issue 1230) * fix inactive branches detection (issue 1104) * hgweb: fix a crash in archive when the URL did not end in an expected archive type * sshserver: fix a crash in error handling code * fix the patchbomb extension on Windows by including email package in binary installations * handle symlinks when OS supports them but FS doesn't (issue 1149) Extensions: * mq: * fix qrefresh losing metadata on the last refreshed file (issue 1134) * fix a crash when renaming a patch just after a versioned queue initialization * fix the path of an explicitly specified queue when merging patches * strip now updates the working directory only if a parent was stripped * convert: * CVS: fix a crash when converting an existing working copy * monotone: fix quotes and backslashes parsing when reading commit messages * Subversion: correctly normalize paths and slashes * Subversion: fix compatibility with Subversion 1.5 * git: allow converter to work with recent git releases * color: * get coloring for qseries --verbose output * improve mq extension detection * reset coloring before and after outputting colorized lines * highlight: fix a performance issue when detecting file types from large files * notify: take the diff options into account == Version 1.0.1 - 2008-05-22 == This is a relatively small bugfix release. General: * several improvements in file copying implementation * allow different default value for diff.unified option * allow explicit use of internal merge tools Commands: * rename: doesn't unlink source file with --after * backout: reverse changeset belongs on current branch Extensions: * convert: * svn: improved detection of tags (has also become optional) * svn: improved branch handling * svn: better detection of file copies * mq: * expand terse command help texts * fix unimplemented qdiff -U option * highlight: fix compatibility with older Pygments (0.5.1) * churn: allow whitespaces as delimiter in aliases * pager: disable when used with --debugger == Version 1.0 - 2008-03-24 == General: * greatly improved [[MergeToolConfiguration|merge tool configuration]], see "hgrc.5.txt" for details * improved copy/rename handling in diffs, status, and merge * files in .hg inherit permissions from .hg/store * infer --repository when possible, so commands may be run from anywhere. * easy-installable * new "droplet" logo Commands: * archive: disable ".hg_archival.txt" file addition with "ui.archivemeta" * bisect: now built-in with greatly improved performance and usability * bundle: new --all option to bundle the whole repository more easily. * cat: apply decode filters with --decode * clone: can clone from a full-history bundle * commit: warn when creating a new head * debugancestor: index argument is now optional * diff: set the number of context line to show with -U/--unified * grep: display matched revisions commit date with --date * import: new --no-commit and --user options * incoming/outgoing: add --limit option * log: use -b/--only-branch to show revisions of a single branch * remove: improve handling for --after * revert: major speedup * serve: prefix the served path with --prefix (also in [web] section) * status: unknown files are skipped by --quiet * tag: allow multiple tags to be added or removed * tags: --verbose flags local tags * update: switch between named branches without -C Extensions: * churn: promoted to an official extension (previously in contrib) * color: new extension coloring "status" and "qseries" command outputs * convert: * allow synthetic history to be spliced in with --splicemap * support GNU Arch and Monotone sources * svn: allow shallow conversions of single branches with convert.svn.startrev option. * svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped. * svn: preliminary support as a conversion target * hgk: configuration file changed from .gitk to .hgk * highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments) * inotify: new extension using Linux 2.6 inotify API for instant status checking * keyword: new extension for filewise RCS-keyword expansion in working directory * mq: new --currentdate, --date, --currentuser, and --user options * record: add "qrecord" command when used with mq * win32mbcs: new extension dealing with problematic MBCS behavior on Windows Web interface: * improved WSGI integration and compatibility * follow symlinks in hgwebdir collections * show branches in most of gitweb templates * add line anchors to annotate, changeset, diff and file views * support web.baseurl in hgwebdir, overriding SCRIPT_NAME Hooks: * standard hook to reject text files with CRLF in win32text extension * redirect stdout to stderr for ssh and http servers Windows support: * "hg" script output set to binary mode for redirecting diff, export, annotate, etc. * also search for .hgrc if mercurial.ini cannot be found * major speedup of "clone --pull" == Version 0.9.5 - 2007-10-19 == New features: * Handle symlinks on systems without symlink support * hg archive supports symlinks * Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes) * Improved hg verify diagostics * Faster revlog handling * Faster handling of large directories * Greatly improved handling of large files * Atom syndication support in hgweb * Improved test suite with parallel execution Fixes: * Fixes for some file copy and rename corner cases * Allow moving newly-added files before commit * Improve hg diff whitespace handling * Disallow fast-forward merge with an ancestor * Fix adding untracked files on directory renames * Fix hg archive %r format specifier * Fix re: and glob: patterns in .hgignore * Improve hg executable path resolution * Many options and hgrc parsing improvements * Better handling of VFAT filesystems on Linux * Fix tgz archival on Windows * Fix hg serve on Windows requiring pywin32 modules * Fix --profile under Windows New extensions: * alias - allow user-defined command aliases * children - show the children of the given or working dir revision * imerge - incremental interactive merging * interhg - modify changelog text as in InterWiki * record - darcs-style interactive change selection during commit New extension features: * convert * Now supports Subversion, Darcs and Mercurial as source SCMs * Use clone's behaviour for the default destination name * Force encoding to UTF-8 for converted repository * Support new-style .cvspass file format * Filter the files and directories to import * Remap paths to new locations during import * hgk * Fix hgk stopping because of untrusted repository warnings * Handle filenames with spaces * Improved documentation * mq * Autodetect --git patches on qrefresh == Version 0.9.4 - 2007-06-25 == New features: * support for symlinks * improved tag handling * improved merge handling of file and directory renames * improved named branch usability * numerous improvements to commands * generic pre- and post-command hooks * improved Windows support * basic BeOS and OpenVMS support * numerous bug fixes New extensions and contributions: * extensions can now be specified in .hg/hgrc * new convert extension with CVS support * new graphlog extension * improved patchbomb extension * example FastCGI script |
Release Notes
Be sure to read UpgradeNotes and, if relevant, API Changes.
Contents
- 1.6.1 (2010-08-01)
- 1.6 (2010-07-01)
- 1.5.4 (2010-06-01)
- 1.5.3 - 2010-05-13
- 1.5.2 - 2010-05-01
- 1.5.1 - 2010-04-01
- 1.5 - 2010-03-06
- 1.4.3 - 2010-02-01
- 1.4.2 - 2010-01-01
- 1.4.1 - 2009-12-01
- 1.4 - 2009-11-16
- Version 1.3.1 - 2009-07-23
- Version 1.3 - 2009-07-01
- Version 1.2.1 - 2009-03-20
- Version 1.2 - 2009-03-04
- Version 1.1.2 - 2008-12-31
- Version 1.1.1 - 2008-12-20
- Version 1.1 - 2008-12-2
- Version 1.0.2 - 2008-08-13
- Version 1.0.1 - 2008-05-22
- Version 1.0 - 2008-03-24
- Version 0.9.5 - 2007-10-19
- Version 0.9.4 - 2007-06-25
(See archive for older versions. New versions will be released according to the time-based release plan.)
1. 1.6.1 (2010-08-01)
This is a scheduled monthly minor bugfix release.
- alias: ensure checksignature() is applied directly to the command (issue2286)
- bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
- bookmarks: don't allow name to contain whitespaces only
- bookmarks: ensure current bookmark is updated when specified with -r .
- bundle: lookup revisions after addbranchrevs
- color/progress: subclass ui instead of using wrapfunction (issue2096)
- commit: only warn when reopening the workdir's branch
- dispatch: give better error message when cwd doesn't exist (issue2293)
- doc: make sure we use our own code for generating man pages
- filelog: cmp: don't read data if hashes are identical (issue2273)
- filelog: test behaviour for data starting with "\1\n"
- hg.clone: fix branch value when passing a repo object (issue2267)
- hgweb.wsgi: add a URL to the corresponding wiki documentation
- hgwebdir: allow pure relative globs in paths
- hgwebdir: use template paths configured in the hgrc (issue2281)
- init: create target directory recursively
- inotify: check all components of filenames against hgignore (issue884)
- keyword: move collecting of [keyword] patterns to reposetup (issue2303)
- log: fix missing diff output for hg log -p in subdirectory
- log: follow filenames through renames (issue647)
- mail: ensure that Python2.4 to 2.7 use the same header format
mercurial.spec: rename docutils to python-docutils in BuildRequires
- mq: clarify the fact that qimport is trying to read a file
- mq: cleanup status if applied mq is stripped (issue1881)
- mq: fixed ENOENT when qrename to new/directory.patch
- mq: reset self.added after the mq transaction instead of inside qimport
- qpush --move: move the right patch even with comment lines
- rebase: re-add patches to mq repo after rebase
- revert: rename original to .orig instead of copying (issue2282)
- revset: fix ancestor subset handling (issue2298)
- runrst: try to be more helpful if docutils is not installed
- tag: do not allow tag names to consist solely of whitespace (issue2307)
- transplant: crash if repo.commit() finds nothing to commit
2. 1.6 (2010-07-01)
(This release makes a couple small behavior changes, be sure to read UpgradeNotes!)
2.1. Core
addremove: optimize addremove -s100 by matching files by their SHA1 hashes
- archive: auto-detect archive type by extension (issue2058)
- commit: more friendly handling of new and closed named branches
- hooks: provide pre- and post- hooks with parsed command line arguments
log: add --branch for filtering on named branch
log: add --stat for diffstat output
push: add --new-branch option to allow initial push of new branches
- push: break infinite http recursion bug with Python 2.6.5 (issue2179)
rollback: add -n/--dry-run flag, report what's being rolled back
- subrepo: various fixes
- summary: report copies and renames and add subrepo status
tag: add -e/--edit option for modifying the commit message
revsets: introduce a powerful query language for specifying revisions, see the manpage or hg help revsets
2.2. Hgweb
unify and simplify hgweb.cgi and hgwebdir.cgi scripts
- fix race in refreshing repo list (issue2188)
simplify hgweb.cgi, add help pointer
- deliver shell hook output to client
allow --port=0 to specify "choose free port number automatically"
- improved templater performance
2.3. Help
- add new hgweb, glossary, and revsets topics
- numerous improvements to help text
2.4. Extensions
- acl: support for access control base on branches and user-defined or OS-level groups
acl: added support for pretxncommit, so that one can call the ACL hook at (?)
- bookmarks: add support for pushing and pulling bookmarks
- churn: add possibility to include/exclude paths
- color: add support for Windows consoles
- color: colorize based on output labels instead of parsing output
extdiff: add labels, read diff arguments from [merge-tools]
- keyword: offer svn-like default keywordmaps
- keyword: support (q)record
- mq: add a line to hg summary
mq: qpush --move, reorder patch series and apply only the patch
- progress: progress support for many more commands
- rebase: add option to not commit after a collapsing
3. 1.5.4 (2010-06-01)
This is a scheduled monthly minor bugfix release.
- dispatch: include Python version in traceback
- push: update help
- status: avoid performance regression when no .hgsub is present
- clone: fix performance issue with hardlinks and Windows shares
- hgweb: fix race in refreshing repo list (issue2188)
- hgrc: clarify that hgrc keys can be overridden and sections can be split
eol: new extension for managing file newlines based on a version controlled configuration file
- pager: fork and exec pager as parent process with /bin/sh -c
- rebase: stress that only local changesets should be rebased
- convert/svn: close gettags() log stream (issue2196)
- record: check that we are not committing a merge before patch selection
4. 1.5.3 - 2010-05-13
This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included:
- various improvements to SVN conversion support
- minor doc improvements
5. 1.5.2 - 2010-05-01
This is a monthly bugfix release with numerous minor fixes including:
5.1. Core
- clone: fix URL too long problem with many heads
- commands: revised documentation of 'default' and 'default-push'
- copies: properly visit file context ancestors on working file contexts
- diffstat: use ui.plain() instead of ui.interactive()
- dirstate: fix in memory dirstate entries for 1-second race
dispatch: don't mangle ImportError abort messages
- filemerge: use working dir parent as ancestor for backward wdir merge
- hgrc.5: describe form of config values and mention lists as well
- hgweb: fix attribute error in error response (issue2060)
- log: document the new xml style
- merge: correctly compute the flag for noexec filesystems
- patch: don't look for headers in diff lines
- push: fix bug in warning message selection
revlog: fix lazyparser.iter() to return all revisions (issue2137)
- static-http: allow clone -r (issue2164)
- subrepo: fix repo root path handling in svn subrepo
- subrepo: propagate and catch push failures
- templates: document missing template variables
- util: fix default termwidth() under Windows
- util: use an explicit prefix for checkexec/checklink temporary files
5.2. Extensions
- convert/cvs: skip bad tags
- convert/git: check status when reading output stream
- convert/subversion: fix default URL checker prototype
- mq: rewrite strip docstrings
- mq: use util.unlink instead of os.unlink and os.removedirs
- schemes: fix // breakage with Python 2.6.5 (issue2111)
6. 1.5.1 - 2010-04-01
6.1. Core
- improve warning on adding large files
- expand ~ in auth filenames and aliases
- several improvements to patch parsing
- warn about attempts to use hg branch to switch branches
- push: fix bug in prepush logic and its tests
- hgweb: fix broken URLs of RSS/Atom feeds
- subrepo: several bug fixes
6.2. Extensions
- acl: added support for '*' (everyone) in user list
- progress: use stderr instead of stdout
- schemes: add Kiln On Demand to default schemes
7. 1.5 - 2010-03-06
(This release makes a number of small behavior changes, be sure to read UpgradeNotes!)
7.1. Core
improved behavior for named branches with heads command
- new XML output template for logs
import extract multiple patches from emails, mboxes, files, and URLs
new patch.eol=auto option to ignore patch line-endings while preserving target file endings.
new -b/--branch option for clone, bundle, incoming, outgoing, pull, and push
new server.validate option to validate completeness of pushed changesets
- subrepos now has basic Subversion support
- support for SSL server certificates and improved IPv6 support
the HGPLAIN environment variable makes output more stable for scripts
7.2. Extensions
mq: new --mq option to make regular commands operate on queue repository
- mq: automatically upgrade conventional patches to git format where needed
color: add support for bookmarks, resolve -l, and churn --diffstat
- convert: two CVS history editing hooks
- win32mbcs: add configuration to specify path encoding
- zeroconf: many bug fixes
rebase: new --detach option for rebase
7.3. Web Interface
- improve navigation on log and graph pages
- support for pluggable authorization
- raw templates for tags/branches pages
- add wsgi script for Microsoft IIS with isapi-wsgi
7.4. Windows
- add WiX installer scripts to contrib/wix
handle configuration files in <install-dir>\hgrc.d
- expand environment variables specified in merge tools paths
7.5. Help and Documentation
- greatly improve error messages and command documentation
- support extended documentation with --verbose
- provide help for disabled extensions and commands
8. 1.4.3 - 2010-02-01
This is a scheduled bugfix release.
- Mercurial license has changed from GPLv2 to GPLv2+
- speed up copy detection in merge, status, and diff
- templates: fix relative path expansion on style setting
- merge: fix merging of already-merged subrepos
- summary: fix i18n issue reporting clean working directories
- hgweb: improve IIS PATH_INFO handling
- relink: Windows support
9. 1.4.2 - 2010-01-01
This is a minor bugfix release.
9.1. core
config: raise ConfigError on non-existing include files
- alias: do not crash when aliased command has no usage help text
- auth: allow specifying auth sections in .hg/hgrc
- patch: fix handling of chunk offsets
- subrepo: add default path to new clones
- docs: Fix rst2html detection
9.2. extensions
- convert/svn: better handling of hg recursive call failure
- convert/svn: make sink recover gracefully from empty changeset
- keyword: fix interaction with transplant
- mq: preserve --git flag when folding and merging patches
- mq: qnew -f rejects merge working directories
- mq: qpop: remove added files before re-adding removed files
- patchbomb: handle repository#rev URLs correctly
- share: use defaultdest to compute unspecified destination
10. 1.4.1 - 2009-12-01
10.1. regression fixes
- fix to prepush logic when it creates new heads
- fix qseries truncation
10.2. other
- doc fixes: formatting, missing options
- tests fixes (now less dependent on environment variables)
- inotify fixes
- keyword: allow RCSfile like CVS
- share: fix a bad interaction with clone
- show non-default branch names with summary -q
- i18n updates
11. 1.4 - 2009-11-16
11.1. core
- summary: new command summarizes current working state
- tags: new tag cache greatly speeds up tag operations
diff: new --stat option to show diffstat
diff: add --reverse option to diff
- subrepo: fix a bunch of issues with the experimental subrepo extension
- status: fixes for behavior when working with clock skew
clone: new -u/--updaterev option
templater: new latesttag and latesttagdistance keywords
- push/pull: handle some broken pipe errors during large transfers
config: environment variables and ~user constructs are expanded in pathnames
11.2. hgweb
- fix for showing header lines in raw changeset diffs
- try to send better error messages to the client
- use config-supplied ordering by default in hgwebdir index pages
add web.descend option to disable showing all nested repositories in hgwebdir
11.3. documentation and help
- new config help topic
help texts are now written in reStructuredText format
- many translation updates including a new Swedish translation
- many help text updates and improvements
11.4. extensions
mq: add -1 options to qapplied/qunapplied
patchbomb: add a --flag option to set a flag value in the Subject header
- patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme)
- color: improve colorization of the qseries command
- inotify: cleaner code, fixed pattern handling
- zeroconf: show repository descriptions
- rebase: some performance and correctness fixes
- extdiff: add 3-way diff for merge changesets
- convert: handle directory renaming in Darcs, fixed file renaming
- relink: new extension which helps people re-hardlink their clones
11.5. other
- contrib/shrink-revlog.py script that can significantly shrink some internal hg files
- work around non-standard locale settings on OS X
12. Version 1.3.1 - 2009-07-23
Regression fixes:
- fixed excessive memory usage issues with diff and strip
- fixed ssh performance issue on OS X
- fixed slow calculation of branch heads
- fixed handling of port numbers in URLs
- fixed transaction handling exception
- fixed incoming with graphlog extension
- fixed slow commit in fetch extension
- fixed loading of win32mbcs extension
Other fixes:
- fixed http username handling in acl extension
- fixed subrepo path joining on Windows
- allow update --check to cross branches
- miscellaneous small doc and bug fixes
13. Version 1.3 - 2009-07-01
13.1. Major Changes
experimental support for sub-repositories
- Python 2.3 is no longer supported; now requires Python 2.4-2.6
13.2. Commands
- merge: add -P/--preview option
- update: don't unlink added files when -C/--clean is specified
- update: added -c/--check option to abort on local changes
- update: allow merges going backwards
- push: improved handling of named branches
- branches/heads: add a -c/--closed option to show closed branches
- help: new extensions topic
13.3. General
- add patch.eol config setting to work with cross-platform patches
- fixed support for SSL through proxies
- add ability to load hooks from arbitrary Python modules
- hide passwords for HTTP repositories in error and log output
- fix Python 2.6 support in the Windows installer
- add mechanism for specifying HTTP authentication details in hgrc
- prompts and choices are now shown even in non-interactive mode
- performance improvements, especially on Windows
- much improved zsh completion
- improved Danish, Japanese, Italian and simplified Chinese translations
- new German, French, Greek, Brazilian Portuguese and traditional Chinese translations
13.4. Web interface
- read configuration data from webdir configs
- add branches page to hgweb
- pluggable templater engine support
- refresh hgwebdir configuration periodically
- let web.encoding override ui.encoding setting
- deal with dicts/lists like webdir config paths
13.5. Extensions
experimental share extension
- the alias extension has been moved into core
- mq
- add -P/--push option to qimport
- numerous bug fixes
- convert
- improved source detection
- support for comments in author maps
- add branch map support
- add different ordering options
- svn: support OS-specific authn providers
- svn: improved tag support
- git: add committer tag only when needed
- bzr: fix renaming support
- bzr: add support for filemaps
- bzr: handle timestamps correctly
- bzr: fix symlink handling
- bzr: restore paths to source encoding
- cvs: add support for CVS merge(point)s
- cvs: add support for synthetic revisions
- cvs: better support for branchpoints
- cvs: deprecate use of external cvsps
- mtn: improve renaming support
- mtn: support mtn database files as source
- mtn: improve date/time support
- p4: better handling of keywords, binary files and symlinks
- rebase
- don't lose copy/rename info
- keep original mq patch format
- zeroconf
- advertise repositories by hostname
- try to guess IP address if necessary
- patchbomb
- option to set attachment name
- support for In-Reply-To header
- inotify
- fix handling of untracked files moved out of repository
- fix support for directory deletion
- acl: now works with push over https
14. Version 1.2.1 - 2009-03-20
This is a bugfix release.
- fixed version number build from tarball
- fix allow_read logic for hgweb
- improve handling of damaged revlogs in verify
- keep .orig files when resolving
- clear resolve state properly when rebasing
- improve --command handling with bisect
- fix diff against bundles
- improve fetch logic for inactive branches
- fix diffstat with notify
- fix 'synthetic file adds' in CVS conversion
15. Version 1.2 - 2009-03-04
This is a larger feature release.
General features:
- explicit closing of named branches via hg commit --close-branch
- hg now accepts options given after arguments on the commandline
- added translation support with initial Danish, Chinese, Japanese, and Italian translations
- added optional pure-Python versions of C modules
- pending changesets can now be accessed safely from hooks
- diff: added -c option to show single changeset
- many improvements to the documentation and online help topics
Extensions:
- convert:
- new support for perforce sources
- improvements to handling cvs sources
- improvements to handling gnu arch source
- improvements to handling darcs sources
- bookmarks:
- set current to new when current is renamed
- bookmarks: Add track.current option
- bookmarks: add bookmarks to tags
- mq: allow qpop when it won't invalidate any dirstate parents
- patchbomb: respect diff settings
- rebase: pull --rebase updates if there is nothing to rebase
- bugzilla: updated to work with Bugzilla 3.2
- zeroconf: added more documentation
- hgk: add several color settings
- the imerge extension has been removed (obsoleted by the resolve command)
16. Version 1.1.2 - 2008-12-31
This is a minor release including one security fix and two minor bug fixes
- improve path auditing (issue 1450)
- fix date-related test failures in test suite
- add graph controls to monoblue theme
17. Version 1.1.1 - 2008-12-20
This is a bugfix release
- make hgweb recursion optional (use '**' rather than '*')
- fix fncache bug for directories ending in ' ' or '.'
- require -a switch to resolve all files
- improve help for resolve command
- fix inotify interaction with bundle diffs
- fix strange readline import error on Windows
- fix non-existing target directory with git diffs
- fix removing symlinks with git diffs
- fix directory creation bug in patch
- rebase: allow keeping branch names
- fix a copy bug in the SVN converter
18. Version 1.1 - 2008-12-2
This is a larger feature release.
General:
- Added 'resolve' command for better tracking of in-progress merges
- Several speedups for status and diff commands (especially on Windows)
- Some modules have been rewritten in C for greater speed
- Compatibility with Python 2.6
- Improved correctness in the face of casefolding filesystems
- Fixed a possible race condition in pull
- Fix support for context-size diff settings
- Fixed several crashes on Windows related to code freezing
- Don't complain when trying to load extensions twice
- Allow C extensions to compile on Haiku
- Allow for committing in-memory file contents
- New repository format which limits path lengths in the store
- Unclutter commands list by extracting extension commands into separate lists
- static-http support is now a fallback for the general http support
- Add some buffering to the templater
- Better documentation on git diffs
Web interface:
- Add a canvas-based repository graph
- New and improved hgweb themes: paper, coal and monoblue
- paper is now the new default style; the old default is now called 'spartan'
- Better WSGI compliance
- Collections now show nested repos (best used without a checkout)
- diffs are more sensible, follow diff.git settings
- Full author name available in annotate templates
- Make it easier to add template paths in extensions
- Support for allow_read/deny_read access controls
- Working diff and file log for removed files
- Better alternative for repository collections
- Corrected feed link in gitweb theme
- Fix a bug with CGIs running under IIS
Commands:
- commit: print the revision ID when invoked with --verbose
- resolve: new command to help keep track of merges
- merge: only implicitly select same-branch heads
- export: append instead of overwrite when exporting multiple changesets
- bundle: added support for different compression types
- rollback: clean up empty files
- help: several more sections from the manual are available through hg help now
- bisect: better documentation, give better feedback, option for scripted testing
- branch: allow for resetting current branch name
- patch: add a --similarity option to do rename/copy detection
- tag: without a checkout, use tip as the tagging revision's parent
- log: allow searching by user (with -u)
- import: importing from URL now works with http authentication
- unbundle: importing from URL now works
- pull: with -u, still update if there's only one head on the current branch
- diff: fix a problem with the --showfunc option
Extensions:
- rebase: new extension to support rebasing changesets
- bookmarks: new extension to provide (local-only) git-like branches
- zeroconf: new extension to support publishing repositories through Zeroconf/Bonjour
hgcia: new extension to facilitate communication with CIA
- mq:
- qfinish: added command for conversion of patches into changesets
- qpush/qgoto: gracefully abort when encountering guards
- qrefresh: don't lose work when interrupted
- qimport: allow for importing patches from URLs
- qnew: abort early if patch already exists, be more careful in general
- qdiff: now supports all diff options
- qfold: more tolerance of file removals, better handling of commit messages
- import: prevent import from working when patches are applied
- convert:
- added support for conversion from bzr repositories
- incorporate an improved Python version of cvsps, replacing the external cvsps tool (see upgrade notes)
- compatibility with recent git releases
- add an option to start from an arbitrary revision
- correctly encode characters in Subversion repository URLs
- better, more tolerant tags detection
- highlight:
- remove need to pre-generate CSS stylesheet
- compatibility with older Pygments versions
- make the lexer guessing faster by not reading all of the file
- allow demandimport to load it incrementally
- fetch: improve support for named branches
- graphlog:
- now adds --graph options to log, incoming and outgoing
- fix calls from outside the repository
- inotify:
- many bugfixes, should work much better
- daemon is automatically started by default
- color:
- add colorization of diffs
- add --color options to many commands
- keywords: be more careful about expanding binary files
- bugzilla: added support for Bugzilla 3.0
- pager: allow per-command configuration
- hgk: display branch names for revisions
- churn: support for templated statistics report generation
- patchbomb: charset encoding can now be configured
- notify: charset encoding can now be configured
19. Version 1.0.2 - 2008-08-13
This is a relatively small bugfix release with two security fixes.
Security:
ensure that git patches only touch files within the repository (CVE-2008-2942)
- hgweb: fix "allowpull" permission being ignored when pulling from hgweb
General:
- commit: handle copies of previously deleted files (issue 1175)
- bisect: allow for having multiple resulting changesets
- fix Python 2.3 compatibility
- make mq patches and .hgtags hardlink-safe again
- various documentation improvements and fixes
- fix a crash when addremove was called to replace a deleted directory with a symlink
- make branches output easier to parse (issue 1230)
- fix inactive branches detection (issue 1104)
- hgweb: fix a crash in archive when the URL did not end in an expected archive type
- sshserver: fix a crash in error handling code
- fix the patchbomb extension on Windows by including email package in binary installations
- handle symlinks when OS supports them but FS doesn't (issue 1149)
Extensions:
- mq:
- fix qrefresh losing metadata on the last refreshed file (issue 1134)
- fix a crash when renaming a patch just after a versioned queue initialization
- fix the path of an explicitly specified queue when merging patches
- strip now updates the working directory only if a parent was stripped
- convert:
- CVS: fix a crash when converting an existing working copy
- monotone: fix quotes and backslashes parsing when reading commit messages
- Subversion: correctly normalize paths and slashes
- Subversion: fix compatibility with Subversion 1.5
- git: allow converter to work with recent git releases
- color:
- get coloring for qseries --verbose output
- improve mq extension detection
- reset coloring before and after outputting colorized lines
- highlight: fix a performance issue when detecting file types from large files
- notify: take the diff options into account
20. Version 1.0.1 - 2008-05-22
This is a relatively small bugfix release.
General:
- several improvements in file copying implementation
- allow different default value for diff.unified option
- allow explicit use of internal merge tools
Commands:
- rename: doesn't unlink source file with --after
- backout: reverse changeset belongs on current branch
Extensions:
- convert:
- svn: improved detection of tags (has also become optional)
- svn: improved branch handling
- svn: better detection of file copies
- mq:
- expand terse command help texts
- fix unimplemented qdiff -U option
- highlight: fix compatibility with older Pygments (0.5.1)
- churn: allow whitespaces as delimiter in aliases
- pager: disable when used with --debugger
21. Version 1.0 - 2008-03-24
General:
greatly improved merge tool configuration, see "hgrc.5.txt" for details
- improved copy/rename handling in diffs, status, and merge
- files in .hg inherit permissions from .hg/store
- infer --repository when possible, so commands may be run from anywhere.
- easy-installable
- new "droplet" logo
Commands:
- archive: disable ".hg_archival.txt" file addition with "ui.archivemeta"
- bisect: now built-in with greatly improved performance and usability
- bundle: new --all option to bundle the whole repository more easily.
- cat: apply decode filters with --decode
- clone: can clone from a full-history bundle
- commit: warn when creating a new head
- debugancestor: index argument is now optional
- diff: set the number of context line to show with -U/--unified
- grep: display matched revisions commit date with --date
- import: new --no-commit and --user options
- incoming/outgoing: add --limit option
- log: use -b/--only-branch to show revisions of a single branch
- remove: improve handling for --after
- revert: major speedup
- serve: prefix the served path with --prefix (also in [web] section)
- status: unknown files are skipped by --quiet
- tag: allow multiple tags to be added or removed
- tags: --verbose flags local tags
- update: switch between named branches without -C
Extensions:
- churn: promoted to an official extension (previously in contrib)
- color: new extension coloring "status" and "qseries" command outputs
- convert:
- allow synthetic history to be spliced in with --splicemap
- support GNU Arch and Monotone sources
- svn: allow shallow conversions of single branches with convert.svn.startrev option.
- svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped.
- svn: preliminary support as a conversion target
- hgk: configuration file changed from .gitk to .hgk
- highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments)
- inotify: new extension using Linux 2.6 inotify API for instant status checking
- keyword: new extension for filewise RCS-keyword expansion in working directory
- mq: new --currentdate, --date, --currentuser, and --user options
- record: add "qrecord" command when used with mq
- win32mbcs: new extension dealing with problematic MBCS behavior on Windows
Web interface:
- improved WSGI integration and compatibility
- follow symlinks in hgwebdir collections
- show branches in most of gitweb templates
- add line anchors to annotate, changeset, diff and file views
- support web.baseurl in hgwebdir, overriding SCRIPT_NAME
Hooks:
- standard hook to reject text files with CRLF in win32text extension
- redirect stdout to stderr for ssh and http servers
Windows support:
- "hg" script output set to binary mode for redirecting diff, export, annotate, etc.
- also search for .hgrc if mercurial.ini cannot be found
- major speedup of "clone --pull"
22. Version 0.9.5 - 2007-10-19
New features:
- Handle symlinks on systems without symlink support
- hg archive supports symlinks
Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes)
- Improved hg verify diagostics
- Faster revlog handling
- Faster handling of large directories
- Greatly improved handling of large files
- Atom syndication support in hgweb
- Improved test suite with parallel execution
Fixes:
- Fixes for some file copy and rename corner cases
- Allow moving newly-added files before commit
- Improve hg diff whitespace handling
- Disallow fast-forward merge with an ancestor
- Fix adding untracked files on directory renames
- Fix hg archive %r format specifier
- Fix re: and glob: patterns in .hgignore
- Improve hg executable path resolution
- Many options and hgrc parsing improvements
- Better handling of VFAT filesystems on Linux
- Fix tgz archival on Windows
- Fix hg serve on Windows requiring pywin32 modules
- Fix --profile under Windows
New extensions:
- alias - allow user-defined command aliases
- children - show the children of the given or working dir revision
- imerge - incremental interactive merging
interhg - modify changelog text as in InterWiki
- record - darcs-style interactive change selection during commit
New extension features:
- convert
- Now supports Subversion, Darcs and Mercurial as source SCMs
- Use clone's behaviour for the default destination name
- Force encoding to UTF-8 for converted repository
- Support new-style .cvspass file format
- Filter the files and directories to import
- Remap paths to new locations during import
- hgk
- Fix hgk stopping because of untrusted repository warnings
- Handle filenames with spaces
- Improved documentation
- mq
- Autodetect --git patches on qrefresh
23. Version 0.9.4 - 2007-06-25
New features:
- support for symlinks
- improved tag handling
- improved merge handling of file and directory renames
- improved named branch usability
- numerous improvements to commands
- generic pre- and post-command hooks
- improved Windows support
- basic BeOS and OpenVMS support
- numerous bug fixes
New extensions and contributions:
- extensions can now be specified in .hg/hgrc
- new convert extension with CVS support
- new graphlog extension
- improved patchbomb extension
- example FastCGI script