Size: 62352
Comment:
|
Size: 0
Comment: Spam wikipage deleted by robot
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#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. Please see the [[Download]] page for links to source and binaries. Note that Mercurial follows a time-based release plan with major releases every three months and minor (bugfix) releases on the first of every month (see TimeBasedReleasePlan). {i} Be sure to read the [[UpgradeNotes|upgrade notes]] when [[UpgradingMercurial|upgrading]]. <<TableOfContents(2)>> (See [[WhatsNew/Archive|archive]] for older versions.) == Mercurial 2.7 (2013-08-01) == Regularly scheduled feature release. This release contains an important fix for a merge ancestor calculation regression in the 2.6 series. * ancestor: decrement ninteresting correctly (Bts:issue3984) * bookmarks: allow bookmark command to take multiple arguments * bookmarks: pull --update updates to active bookmark if it moved (Bts:issue4007) * bookmarks: update only proper bookmarks on push -r/-B (issue 3973) * changegroup: fix fastpath during commit * checklink: work around sshfs brain-damage (Bts:issue3636) * churn: split email aliases from the right * commands: add checks for unfinished operations (Bts:issue3955) * commit: enable --secret option * convert: catch empty origpaths in svn gettags (Bts:issue3941) * convert: fix bad conversion of copies when hg.startrev is specified * convert: handle changeset sorting errors without traceback (Bts:issue3961) * hgweb: fix incorrect way to count revisions in log (Bts:issue3977) * hgweb: run search instead of showing wrong error for ambigious identifier * histedit: don't clobber working copy on --abort if not on histedit cset * histedit: refuse to edit history that contains merges (Bts:issue3962) * import: cut commit messages at --- unconditionally (Bts:issue2148) * largefiles: overridematch() should replace the file path instead of extending (Bts:issue3934) * log: add a log style that is default+phase (Bts:issue3436) * paper: add line wrapping switch to file source view * paper: code selection without line numbers in file source view * paper: highlight line which is linked to in source view * progress: respect HGPLAIN * rebase: allow aborting when descendants detected * rebase: continue abort without strip for immutable csets (Bts:issue3997) * rebase: don't clobber wd on --abort when we've updated away (Bts:issue4009) * revert: make backup when unforgetting a file (Bts:issue3423) * revlog: handle hidden revs in _partialmatch (Bts:issue3979) * rollback: mark as deprecated * splicemap: improve error handling when parsing (Bts:issue2084) * splicemap: support paths with spaces in splicemap (Bts:issue3844) * sslutil: force SSLv3 on Python 2.6 and later (Bts:issue3905) * summary: augment output with info from extensions * templater: add strip function with chars as an extra argument * log: show style list when unknown style specified * tip: deprecate the tip command * update: add tracking of interrupted updates (Bts:issue3113) * worker: check problem state correctly (Bts:issue3982) * worker: properly report errors from worker processes (Bts:issue3982) == Mercurial 2.6.3 (2013-07-01) == This is a regularly-scheduled bugfix release. * commit: amending with --close-branch (Bts:issue3445) * doc: make it easier to read how to enable extensions * doc: reword "config file" to "configuration file" * docs: change description to synopsis in hgrc.5 * histedit: raise ImportError when demandloading is enabled * pathencode: fix hashmangle short dir limit (Bts:issue3958) * update: remove .hg/graftstate on clean (Bts:issue3970) == Mercurial 2.6.2 (2013-06-01) == This is a regularly-scheduled bugfix release. * amend: complain more comprehensibly about subrepos * blackbox: fix blackbox causing exceptions in tests * blackbox: fix recording exit codes (Bts:issue3938) * dirstate: don't overnormalize for ui.slash * graft: refuse to commit an interrupted graft (Bts:issue3667) * help: fix role/option confusion in RST * help: stop documentation markup appearing in generated help == Mercurial 2.6.1 (2013-05-14) == This is an unscheduled bugfix release to address some minor regressions in the 2.6 release. * convert: fix bug of wrong CVS path parsing without port number (Bts:issue3678) * help/config: note 64-bit Windows registry key used with 32-bit Python * hfs+: rewrite percent-escaper (Bts:issue3918) * hgignore: fix regression with hgignore directory matches (Bts:issue3921) * highlight: fix page layout with empty first and last lines * largefiles: check existence of the file with case awareness of the filesystem * largefiles: check unknown files with case awareness of the filesystem * pathencode: grow buffers to increase safety margin * revert: ensure that copies and renames are honored (Bts:issue3920) * subrepo: open files in 'rb' mode to read exact data in (Bts:issue3926) * windows: check target type before actual unlinking to follow POSIX semantics == Mercurial 2.6 (2013-05-01) == /!\ This release has known issues with some ignore rules (Bts:issue3921) and subrepos on Windows (Bts:issue3926) This is a regularly scheduled feature release. * addremove: improve performance * amend: support amending merge changesets (Bts:issue3778) * ancestor: a new algorithm that is faster for nodes near tip * annotate: increase refcount of each revision correctly (Bts:issue3841) * applyupdates: assign variable before we try to use it (Bts:issue3855) * archive: raise error.Abort if the file pattern matches no files * bash_completion: allow remove to complete normal files * blackbox: new extension * bookmarks: don't allow integers as bookmark/branch/tag names * bookmarks: allow (re-)activating a bookmark on the current changeset * bookmarks: allow moving a bookmark forward to a descendant * bookmarks: moving the active bookmark deactivates it * bookmarks: fix bug that activated a bookmark even with -r passed * bookmarks: resolve divergent bookmark when moving across a branch * bookmarks: resolve divergent bookmarks when moving active bookmark forward * commit: allow closing "non-head" changesets * commit: show active bookmark in commit editor helper text * config: discard "%unset" values defined in the other files read in previously * convert/git: catch errors from modern git-ls-remote (Bts:issue3428) * convert: add closesort algorithm to mercurial sources * dates: support 'today' and 'yesterday' in parsedate (Bts:issue3764) * destroyed: invalidate phraserevs cache in all case (Bts:issue3858) * diff: fix binary file removals in git mode * dirstate: performance improvements * dispatch: exit with status 1 for an InterventionRequired exception (BC) * dispatch: print 'abort:' when a pre-command hook fails (BC) * export: clobber files with -o (BC) (Bts:issue3652) * export: export working directory parent by default * export: show 'Date' header in a format that also is readable for humans * extensions: obsolete and remove interhg extension * filesets: add eol predicate * grep: use re2 if possible * hgk: add support for phases * hgk: don't use fixed format for dates * hgk: update backgroud colour when Ttk is available * hgweb: generate HTML documentation * hgweb: teach archive how to download a specific directory or file * histedit: allow "-" as a command file * histedit: handle multiple spaces between action and hash (Bts:issue3893) * histedit: make "hg histedit" sensitive to branch in URL * histedit: properly handle --continue on empty fold * histedit: support editing of the first commit (Bts:issue3767) * httppeer: avoid large dumps when we don't see an hgweb repo * icasefs: rewrite case-folding collision detection (Bts:issue3452) * import: don't rollback on failed import --exact (Bts:issue3616) * largefiles: don't cache largefiles for pulled heads by default * largefiles: improve reuse of HTTP connections * largefiles: introduce lfpull command for pulling missing largefiles * largefiles: introduce pull --lfrev option * largefiles: introduce pulled() revset expression for use in --lfrev * largefiles: quiet (and document) undefined name errors (Bts:issue3886) * largefiles: stat all largefiles in one batch before downloading * largefiles: use repo.wwrite for writing standins (Bts:issue3909) * log: fix behavior with empty repositories (Bts:issue3497) * merge: apply non-interactive working dir updates in parallel * mergetools: avoid losing the merged version with meld * mergetools: vimdiff issues a warning explaining how to abort * mq: comply with filtering when injecting fake tags (Bts:issue3812) * mq: do not inherit settings form base repo in mqrepo (Fixes Bts:issue2358) * outgoing: fix possible filtering crash in outgoing (Bts:issue3814) * pager: catch ctrl-c on exit (Bts:issue3834) * date: understand "now" as a shortcut for the current time * parsers: a C implementation of the new ancestors algorithm * pull: list bookmarks before pulling changesets (Bts:issue3873) * push: make locking of source optional (Bts:issue3684) * rebase: check no-op before checking phase (Bts:issue3891) * rebase: fix --collapse when a file was added then removed * record: abort on malformed patches instead of crashing * revset: change ancestor to accept 0 or more arguments (Bts:issue3750) * revset: don't abort when regex to tag() matches nothing (Bts:issue3850) * sadclown: another test failure eluded bos * scheme: don't crash on invalid URLs * scmutil: rewrite dirs in C, use if available * setup: make error message for missing Python headers more helpful * smtp: use 465 as default port for SMTPS * smtp: verify the certificate of the SMTP server for STARTTLS/SMTPS * sshpeer: store subprocess so it cleans up correctly * sslutil: abort if peer certificate is not verified for secure use * subrepo: clone of git sub-repository creates incorrect git branch (Bts:issue3870) * subrepo: do not push mercurial subrepos whose store is clean * subrepo: fix exception on revert when "all" option is omitted * summary: make "incoming" information sensitive to branch in URL (Bts:issue3830) * summary: make "outgoing" information sensitive to branch in URL (Bts:issue3829) * summary: show active bookmark even if not at current changeset * tags: update tag type only if tag node is updated (Bts:issue3911) * templatekw: add default styles for hybrid types (Bts:issue3887) * templater: add get() function to access dict element (e.g. extra) * unionrepo: read-only operations on a union of two localrepos * win32: use explicit path to "python.exe" only if it exists == Mercurial 2.5.4 (2013-04-04) == This fixes an urgent regression in merging with subrepos introduced in 2.5. * applyupdates: assign variable before we try to use it (Bts:issue3855) * setup.py: properly discard trust warning == Mercurial 2.5.3 (2013-04-01) == * hgweb: show correct error message for i18n environment * localrepo: always write the filtered phasecache when nodes are destroyed (Bts:issue3827) * rebase: restore active bookmark after rebase --continue * setup.py: add metadata to register package to PyPI * setup.py: ignore warnings from obsolete * zsh_completion: fix trailing carriage return spoiling tag completion == Mercurial 2.5.2 (2013-03-01) == * bundle: treat branches created newly on the local correctly (Bts:issue3828) * largefiles: avoid rechecking hashes when avoidable * largefiles: don't let update leave wrong largefiles in wd if fetch fails * largefiles: fix off-by-one error on pull --all-largefiles * largefiles: fix download of largefiles from an empty list of changesets * largefiles: missing largefiles should not be committed as removed * mergetools: vimdiff issue a warning explaining how to abort * outgoing: fix possible filtering crash in outgoing (Bts:issue3814) * rebase: fix potential infinite loop in complex rename situation (Bts:issue3843) == Mercurial 2.5.1 (2013-02-08) == This is a non-scheduled bugfix release. * hgk: support the old way of getting the current Ttk theme (Bts:issue3808) * hgweb.cgi: fix internal WSGI emulation (Bts:issue3804) * hgweb: make 'summary' work with hidden changesets (Bts:issue3810) * incoming: fix incoming when a local head is remotely filtered (Bts:issue3805) * largefiles: don't crash when trying to find default dest for url without path * rebase: derive node from target rev (Bts:issue3802) == Mercurial 2.5 (2013-02-01) == This is a regularly-scheduled feature release. === Core features === * branchmap: improved performances * bundle: add revset expression to show bundle contents (Bts:issue3487) * dirstate: implement unix statfiles in C * hgweb: add (Atom) subscribe links to the repository index * hgweb: add "URL breadcrumbs" * hgweb: add branches RSS and Atom feeds * hgweb: secret changeset are excluded from html view (Bts:3614 ) * serve: use chunked encoding in hgweb responses * pathencode: implement both basic and hashed encoding in C * subrepo: append subrepo path to subrepo error messages * validate: check for spurious incoming filelog entries * hgweb: allow hgweb's archive to recurse into subrepos === Changeset Evolution === Major progress toward ChangesetEvolution were done. * hidden changesets are now properly ignored by all commands * a global --hidden flag is added to give access to hidden changesets * rewriting a changeset but not its descendants is now allowed; this leaves unstable changeset behind * we now detect *divergent* changesets. The third and last kind of obsolescence related troubles. `divergent()` revset is added * a `troubled()` revset have been added * branchmap for of *visible* and *served* changeset are now cached on disk. This is a major performance improvements * performance improvements of most evolution related algorithm === Extension features === * color: add template label function * convert: add config option to use the local time zone * convert: add support for converting git submodule (Bts:issue3528) * hgk: use Ttk instead of plain Tk * inotify: don't fall over just because of a dangling symlink * largefiles: fix revert removing a largefile from a merge * largefiles: fix update from a merge with removed files * largefiles: make log match largefiles in the non-standin location too * largefiles: make update with backup files in .hglf slightly less broken * largefiles: rename 'admin' to more descriptive 'lfstoredir * rebase: performance improvements * rebase: rebase set with multiple roots are now handled by the --rev option * record: use patch.diffopts to account for user diffopts * share: always set default path to work with subrepos (Bts:issue3518) * zsh_completion: add completion of branch names === Fixes === * commands: 'hg bookmark NAME' should work even with ui.strict=True * copies: do not track backward copies, only renames (Bts:issue3739) * destroyed: keep the filecache in sync with `__dict__` (Bts:issue3335, Bts:issue3693, Bts:issue3743) * grep: don't search past the end of the searched string * hgweb: properly returns 404 for unknown revision (instead of 500) * histedit: proper phase conservation (Bts:issue3724) * histedit: prevents obsolescence cycle (Bts:issue3681) * hook: disable demandimport before importing hooks * mq: don't fail when removing a patch without patch file from series file * mq: fix qpop of working directory parent patch when not at qtip * zeroconf: use port from server instead of picking port from config (Bts:issue3746) * update: update to current bookmark if it moved out from under us (issue3682) * bookmarks: show active bookmark even if not at working dir * largefiles: let wirestore._stat return stats as expected by remotestore verify * largefiles: adapt verify to batched remote statlfile (issue3780) * largefiles: don't allow corruption to propagate after detection * largefiles: don't verify largefile hashes on servers when processing statlfile * largefiles: allow use of urls with #revision * largefiles: fix commit when using relative paths from subdirectory * largefiles: fix cat when using relative paths from subdirectory * histedit: prevent parent guessed via --outgoing from being a revset (issue3770) * rebase: delete divergent bookmarks on destination (issue3685) * hgwebdir: use web.prefix when creating url breadcrumbs (issue3790) * subrepo: allow skipping courtesy phase sync (issue3781) * merge: .hgsubstate is special as merge destination, not as merge source * merge: improved handling of symlinks == Mercurial 2.4.2 (2013-01-01) == This is a regularly-scheduled bugfix release. * amend: invalidate dirstate in case of failure (Bts:issue3670) * amend: prevent loss of bookmark on failed amend * bookmarks: fix head selection for merge with two bookmarked heads * bundlerepo: don't return the peer without bundlerepo from getremotechanges * dirstate: don't rename branch file if writing it failed * dirstate: remove obsolete comment from setbranch * hgweb: avoid generator exhaustion with branches * hgweb: fix iterator reuse in atom feed generation * hgwebdir: honor web.templates and web.static for static files (Bts:issue3734) * largefiles revert: update lfdirstate with result from first cleanliness check * largefiles status: update lfdirstate with result from cleanliness check * largefiles: commit directories that only contain largefiles (Bts:issue3548) * largefiles: don't walk through all ignored files * paper: sanity-check page feed links * scmutil: don't try to match modes on filesystems without modes (Bts:issue3740) * zeroconf: use port from server instead of picking port from config (Bts:issue3746) == Mercurial 2.4.1 (2012-12-03) == This is a regularly-schedule bugfix release. * amend: force editor only if old message is reused (Bts:issue3698) * grep: don't search past the end of the searched string * hooks: be even more forgiven of non-fd descriptors (Bts:issue3711) * hooks: delay I/O redirection until we actually run a hook (Bts:issue3711) * phases: fix missing "error" module import (Bts:issue3707) * rebase: fix pull --rev options clashing with --rebase (Bts:issue3619) * subrepo: add argument to "diff()" to pass "ui" of caller side (Bts:issue3712) (API) * update: allow update to existing branches with invalid names (Bts:issue3710) * util: make chunkbuffer non-quadratic on Windows == Mercurial 2.4 (2012-11-1) == This is a regularly-scheduled feature release. === Core features === * amend: support for ChangesetEvolution if enabled * bookmarks: deactivate current bookmark if no name is given * bookmarks: teach the -r option to use revsets * bookmarks: disallow bookmarks named 'tip', '.', or 'null' * clone: substantial speedup to clone on repo with a lots of heads (Bts:issue3378) * clone: activate bookmark specified with --updaterev * clone: update to @ bookmark if it exists * log: substantial speedup for untracked files (Bts:issue1340) * revsets: add branchpoint() function * resolve: commit the changes after each item resolve (Bts:issue3638) * subrepo, hghave: use "svn --version --quiet" to determine version number * subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset * templatefilters: add parameterized date method * templatefilters: add parameterized fill function * templatefilters: avoid traceback caused by bogus date input (Bts:issue3344) * templatekw: add p1rev, p1node, p2rev, p2node keywords * templatekw: add parent1, parent1node, parent2, parent2node keywords * templater: abort when a template filter raises an exception (Bts:issue2987) * templater: add if/ifeq conditionals * templater: add sub() function * templating: make new-style templating features work with command line lists * bookmarks: take ChangesetEvolution into account when updating (Bts:issue3561) * speedup various operation related to ChangesetEvolution * add detection of changeset ''bumped'' by ChangesetEvolution === Extension features === * color: add additional changeset.phase label to log.changeset and log.parent * color: enabled color support for export command (Bts:issue1507) * color: support for all grep fields * contrib: add a commit synthesizer for reproducing scaling problems * histedit: refuse to edit public changeset * histedit: replaces patching logic by merges * histedit: support for ChangesetEvolution if enabled * largefiles: always create the cache and standin directories when cloning * largefiles: distinguish "no remote repo" from "no files to upload" (Bts:issue3651) * largefiles: fix a traceback in lfconvert if a largefile is missing (Bts:issue3519) * mq: improve qqueue message with patches applied (Bts:issue3036) * mq: update bookmarks during qrefresh * notify: support revset selection for subscriptions * rebase: support for ChangesetEvolution if enabled * record: checks for valid username before starting recording process (Bts:issue3456) * record: fix display of non-ASCII names in chunk selection === Fixes === * amend: fix incompatibity between logfile and message option (Bts:issue3675) * amend: wrap all commit operations in a single transaction * bookmarks: abort when incompatible options are used (Bts:issue3663) * bookmarks: avoid redundant creation/assignment of "validdests" in "validdest()" * bookmarks: check bookmark format during rename (Bts:issue3662) * bookmarks: when @ bookmark diverges, don't double the @ sign (BC) * bookmark: prevent crashing when a successor is unknown locally (Bts:issue3680) * clone: activate @ bookmark if updating to it * clone: don't %-escape the default destination (Bts:issue3145) * clone: make sure to use "@" as bookmark and "default" as branch (Bts:issue3677) (BC) * clone: print bookmark name when clone activates a bookmark * commands: don't infer repo for commands like update (Bts:issue2748) * convert: normalize paths in filemaps (Bts:issue3612) * dirstate: handle large dates and times with masking (Bts:issue2608) * dirstate: handle dangling junctions on windows (Bts:issue2579) * filemerge: use util.shellquote when calling merge (Bts:issue3581) * hgweb: make the escape filter remove null characters (Bts:issue2567) * http2: make it possible to connect w/o ssl on port 443 * icasefs: make case-folding collision detection as deletion aware (Bts:issue3648) * largefiles: don't copy largefiles from working dir to the store while converting * largefiles: respect the rev when reading standins in copytostore() (Bts:issue3630) * largefiles: use 'default' instead of 'default-push' when pulling (Bts:issue3584) * mq: fix qrefresh case sensitivity (Bts:issue3271) * patchbomb: respect --in-reply-to for all mails if no intro message is sent * remove: don't return error on directories with tracked files * revset: accept @ in unquoted symbols (Bts:issue3686) * scmutil: add mustaudit delegation to filtervfs (Bts:issue3673) * subrepo: only do clean update when overwrite is set (Bts:issue3276) * subrepo: subrepo isolation, pass baseui when cloning a new subrepo (Bts:issue2904) * update: check for missing files with --check (Bts:issue3595) (BC) * url: use open and not url.open for local files (Bts:issue3624) * verify: fix all doubled-slash sites (Bts:issue3665) * wireproto: fix pushkey hook failure and output on remote http repo == Mercurial 2.3.2 (2012-10-01) == * amend: preserve phase of amended revision (Bts:issue3602) * archival: add "extended-timestamp" extra block for zip archives (Bts:issue3600) * hgweb: avoid bad $$ processing in graph (Bts:issue3601) * hgweb: fix incorrect graph padding calculation (Bts:issue3626) * largefiles: fix return codes for multiple commands * largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command * largefiles: download missing subrepo revs when archiving * largefiles: enable islfilesrepo() prior to a commit (Bts:issue3541) * largefiles: handle commit -A properly, after a --large commit (Bts:issue3542) * largefiles: preserve exit code from outgoing command (Bts:issue3611) * largefiles: restore caching of largefiles with 'clone -U --all-largefiles' * largefiles: restore normal 'clone -u' and 'clone -U' functionality * lock: fixed race condition in trylock/testlock (Bts:issue3506) * mergetools.hgrc: set vimdiff to check=changed * strip: fix revset usage (Bts:issue3604) * subrepo: encode unicode path names (Bts:issue3610) == Mercurial 2.3.1 (2012-09-01) == * clone: don't fail with --update for non-local clones (Bts:issue3578) * commit: normalize filenames when checking explicit files (Bts:issue3576) * fileset: actually implement 'minusset' * fileset: do not traceback on invalid grep pattern * fileset: exclude deleted files from matchctx.existing() * fileset: fix generator vs list bug in fast path * fileset: matchctx.existing() must consider ignored files * fileset: matchctx.existing() must consider unknown files * largefiles: adjust localstore to handle batch statlfile requests (Bts:issue3583) * merge: handle case when heads are all bookmarks * obsolete: import modules within mercurial/ without "from mercurial" * revlog: don't try to partialmatch strings with length > 40 * rollback: write dirstate branch with correct encoding * store: only one kind of OSError means "nonexistent entry" * store: sort the results of fncachestore.datafiles() * strip: fix revset usage (Bts:issue3604) * templater: handle a missing value correctly * verify: do not choke on valid changelog without manifest * wix: bump MSI based installers to use Python 2.7 == Mercurial 2.3 (2012-08-01) == This is a regularly-scheduled feature release with numerous improvements and bugfixes. === Core features === * help: add --keyword (-k) for searching help * hgweb: side-by-side comparison functionality * log: support --graph without graphlog extension * push: accept revset argument for --rev * merge: bookmarks will no longer automatically merge with unnamed heads or other bookmarks. Instead it picks heads with diverging bookmarks. * introduce ChangesetsObsolescence concept ''(experimental)'' * bookmarks: allow existing remote bookmarks to become heads when pushing * bookmarks: pull new bookmarks from remote by default '''(backward incompatible change)''' * bookmarks: delete divergent bookmarks on merge * bisect: set HG_NODE when runing a command * graft: allow -r to specify revisions * graft: implement --log (Bts:issue3438) * graft: remark on empty graft * hooks: print out more information when loading a python hook fails * identity: show trailing '+' for dirty subrepos (Bts:issue2839) * incoming/outgoing: handle --graph in core * merge: warn about file deleted in one branch and renamed in other (Bts:issue3074) * Mercurial can now identify third-party extensions as sources of tracebacks * outgoing: accept revset argument for --rev * performance improvement on branchy repo: incrementaly update branchcache * performance improvement on huge file tree: add a C function to pack the dirstate * performance improvement for huge .hgignore: process regex with re2 bindings if available * revset: add "diff" field to "matching" predicate * revset: add "converted" predicate to find converted changesets * revset: add "origin" and "destination" predicates, to get graft, transplant or rebase origins or destinations. * revset: add "extra" predicate to match changesets extra fields (Bts:issue2767) * revset: add pattern matching to "bookmarks/branch/extra/tag/user" predicated === Extension features === * acl: use of "!" prefix in user or group names * children: mark extension as deprecated * convert/svn: handle non-local svn destination paths (Bts:issue3142) * convert: accept Subversion 'file:///c%3A/svnrepo' syntax on Windows * fetch: mark extension as deprecated * graphlog: feature is now into core * histedit: new extension for interactive history editing * hg-ssh: add read-only flag * largefiles: add --all-largefiles flag to pull and clone (Bts:issue3188) * largefiles: improve performance by batching statlfile requests when pushing a largefiles repo (Bts:issue3386) * largefiles: no longer attempt to clone all largefiles to non-local destinations * largefiles: optimize performance when updating (Bts:issue3440) * largefiles: support revsets for cat, outgoing --large and revert * mq: introduce qpush/qpop/qgoto --keep-changes * strip: introduce -B option to remove a bookmark * rebase: allow collapsing branches in place (Bts:issue3111) * rebase: make --dest understand revsets * rebase: drop the infamous --detach option: rebase now behave with --source and --rev as expectable. It may no longer add second parent to rebased changeset '''(backward incompatible change)''' * transplant: handle non-empty patches doing nothing (Bts:issue2806) * transplant: manually transplant pullable changesets with --log === Fixes === * bisect: fix O(n**2) behaviour (Bts:issue3382) * bookmarks: fix push of moved bookmark when creating new branch heads * case insensitive file system can no longer be confused by `-R` on (Bts:issue2167) * copies: one fix related to directory rename detection (Bts:issue3511) * convert: check for failed svn import in debugsvnlog and abort cleanly * convert: ignore svn:executable for subversion targets without exec bit support * convert: keep branch switching merges with ancestors (Bts:issue3340) * convert: make filemap renames consistently override revision renames * debugrevlog: fix a bug with empty repository (Bts:issue3537) * graphlog: don't truncate template value at last \n * httprepo: ensure Content-Type header exists when pushing data * largefiles: fix a traceback when addremove follows a remove (Bts:issue3507) * largefiles: fix a traceback when archiving a subrepo in a subrepo * largefiles: fix addremove when largefile is missing (Bts:issue3227) * largefiles: fix addremove with -R option * largefiles: fix exception hack for i18n (Bts:issue3197) * largefiles: fix path handling for cp/mv (Bts:issue3516) * largefiles: archive -S now store largefiles instead of standins * largefiles: fix hg addremove when already removed largefile exists (Bts:issue3364) * merge: do not warn about copy and rename in the same transaction (Bts:issue2113) * mq: add ".hgsubstate" to patch target list only if it is not listed up yet * mq: create patch file after commit to import diff of ".hgsubstate" at qrefresh * pager: work around bug in python 2.4's subprocess module (Bts:issue3533): * revlog: zlib.error are no longer sent to the user (Bts:issue3424) * tag: don't allow tagging the null revision (Bts:issue1915) == Mercurial 2.2.3 (2012-07-01) == This is a regularly-scheduled bugfix release. * amend: disable hooks when creating intermediate commit (Bts:issue3501) * archive: make progress only show files that are actually archived * bookmarks: correctly update current bookmarks on rebase (Bts:issue2277) * bugzilla: stop bugs always being marked as fixed in xmlrpc (Bts:issue3484) * graft: don't drop the second parent on unsuccessful merge (Bts:issue3498) * hgweb: fixes linebreak location in gitweb filediff.tmpl view * rebase: improve error message on improper phases * record: fix display of non-ASCII names * statichttprepo: don't send Range header when requesting entire file * strip: update help to state that you can strip public changeset * subrepo/svn: make rev number retrieval compatible with svn 1.5 (Bts:issue2968) * subrepo: support Git being named "git.cmd" on Windows (Bts:issue3173) * subrepo: warn user if Git is not version 1.6.0 or higher * update: fix help regarding update to ancestor == Mercurial 2.2.2 (2012-06-01) == This is a regularly-scheduled bugfix release. * addremove: document default similarity behavior (Bts:issue3429) * alias: inherit command optionalrepo flag (Bts:issue3298) * amend: preserve extra dict (Bts:issue3430) * bisect: save current state before running a command * bugzilla: fix transport initialization on python 2.4 * build: fix hgrc manpage building with docutils 0.9 * bundle: make bundles more portable (Bts:issue3441) * changelog: ensure that nodecache is valid (Bts:issue3428) * hg-ssh: exit with 255 instead of -1 on error * hgweb: fix filediff base calculation * largefiles: fix "hg status dir" missing regular files (Bts:issue3421) * largefiles: fix deletion of multiple missing largefiles (Bts:issue3329) * largefiles: follow normal codepath for addremove if non-largefiles repo (Bts:issue3249) * largefiles: in putlfile, ensure tempfile's directory exists prior to creation * largefiles: use wlock for lfconvert (Bts:issue3444) * localrepo: clear _filecache earlier to really force reloading (Bts:issue3462) * match: make 'match.files()' return list object always * mq: add --no-backup for qpush/qpop/qgoto * mq: backup local changes in qpop --force (Bts:issue3433) * mq: backup local changes in qpush --force * mq: qimport need wlock for --push - do that after releasing lock * osutil: handle deletion race with readdir/stat (Bts:issue3463) * pager: check if signal.SIGPIPE exists * pager: preserve Hg's exit code (and fix Windows support) (Bts:issue3225) * pager: remove quiet flag * paper, monoblue: link correctly to lines in annotate view * parsers: fix refcount bug on corrupt index * patch: fix segfault against unified diffs which start line is zero * patch: keep patching after missing copy source (Bts:issue3480) * posix: workaround lack of TIOCGWINSZ on Irix (Bts:issue3449) * revpair: handle odd ranges (Bts:issue3474) * revset: explicitely tag alias arguments for expansion * revset: fix infinite alias expansion detection * revset: fix traceback for bogus revisions in id(rev) * revset: make matching() preserve input revision order * scmutil: seen.union should be seen.update (Bts:issue3476) * subrepo: do not traceback on .hgsubstate parsing errors * subrepo: ignore blank lines in .hgsubstate (Bts:issue3424) * tag: run commit hook when lock is released (Bts:issue3344) * templater: handle !SyntaxError when parsing ui.logtemplate * util: fix bad variable use in bytecount introduced by f0f7f3fab315 * win32: fix encoding handling for registry strings (Bts:issue3467) == Mercurial 2.2.1 (2012-05-03) == This is an unscheduled bugfix release to fix a signficant memory leak in hgweb. * bookmarks: catch the proper exception for missing revisions * help: add reference to template help (Bts:issue3413) * help: added description for the web.collapse setting * largefiles: fix commit of both largefiles and non-largefiles (Bts:issue3354) * parsers: fix refcount leak, simplify init of index (Bts:issue3417) == Mercurial 2.2 (2012-05-01) == This is a regularly-scheduled feature release. The most notable feature is a new safe '--amend' option for commit using our new [[Phases|phases]] infrastructure. There are also a number of signficant performance improvements for large repositories and improvements for case-folding filesystems. See UpgradeNotes for minor compatibility notes. === Core features === * commit: add --amend option * fileset: add "subrepo" fileset symbol * graft: add --dry-run support (Bts:issue3362) * hgweb: add support for branch width and color settings * hgweb: add block numbers to diff regions and related links * hgweb: support multi-level repository indexes by enabling descend and collapse * merge: improve performance with lots of unknown files * parsers: incrementally parse the revlog index in C * plan9: add support for [[https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs|plan9]] * push/pull: improve performance for partial transfers * push: decompress in larger chunks for better performance on the server * clone: add server config option to prefer uncompressed clone * revert: add support for reverting subrepos * revset: add "matching" keyword * store: speed up read and write of large fncache files * ui: optionally quiesce ssl verification warnings on python 2.5 === Extension features === * bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface * bugzilla: allow change comment to mark bugs fixed * bugzilla: extract optional hours from commit message and update bug time * bugzilla: modify access interface to include new bug states * graphlog: add all log options to glog command * patchbomb: add --body flag to send patches as inline message body text * record: allow splitting of hunks by manually editing patches * transplant: permit merge changesets via --parent === Fixes === * alias: fix shell alias documentation (Bts:issue3374) * archive: make it work with svn subrepos (Bts:issue3308) * branchmap: server should not advertise secret changeset in branchmap (Bts:issue3303) * clone: always close source repository (Bts:issue2491) * commit: abort on merge with missing files (BC) * config: discard UTF-8 BOM if found * convert/bzr: convert all branches (Bts:issue3229) (BC) * convert/bzr: expect unicode metadata, encode in UTF-8 (Bts:issue3232) * convert/bzr: handle empty bzr repositories (Bts:issue3233) * convert/bzr: ignore nested repos when listing branches (Bts:issue3254) * convert/svn: do not try converting empty head revisions (Bts:issue3347) * convert/svn: make svn sink work with svn 1.7 * convert: support non-annotated tags in git backend * dirstate: preserve path components case on renames (Bts:issue3402) * export: catch exporting empty revsets (Bts:issue3353) * icasefs: make case-folding collision detection rename aware (Bts:issue3370) * inotify: catch !SignalInterrupt during shutdown (Bts:issue3351) * journal: use tryread helper to backup files (Bts:issue3375) * largefiles: fix cat for largefiles (Bts:issue3352) * largefiles: fix status -S reporting of subrepos (Bts:issue3231) * largefiles: hide .hglf/ prefix for largefiles in hgweb * largefiles: notice dirty large files in a subrepo * largefiles: only update changed largefiles when transplanting * largefiles: optimize update speed by only updating changed largefiles * localrepo: add setparents() to adjust dirstate copies (Bts:issue3407) * mdiff: fix diff header generation for files with spaces (Bts:issue3357) * merge: check for untracked files more precisely (Bts:issue3400) * merge: fix unknown file merge detection for case-folding systems * patch: be more tolerant with "Parent" header (Bts:issue3356) * patch: be more tolerant with EOLs in binary diffs (Bts:issue2870) * patch: fix patch hunk/metdata synchronization (Bts:issue3384) * phase: when phase cannot be reduced, hint at --force and return 1 (BC) * posix: disable cygwin's symlink emulation (BC) * posix: ignore execution bit in cygwin (Bts:issue3301) * pure/osutil: use Python's msvcrt module (Bts:issue3380) * rebase: preserve mq series order, guarded patches (Bts:issue2849) * rebase: skip resolved but emptied revisions * revset: fix O(n**2) behaviour of bisect() (Bts:issue3381) * revset: fix adds/modifies/removes and patterns (Bts:issue3403) * revset: fix alias substitution recursion (Bts:issue3240) * subrepo/svn: abort on commit with missing file (Bts:issue3029) * subrepo/svn: fix checked out rev number retrieval (Bts:issue2968) * subrepo: fix default implementation of forget() (Bts:issue3404) * subrepo: rewrite handling of subrepo state at commit (Bts:issue2403) * templates/filters: extracting the user portion of an email address (BC) * transplant: do not rollback on patching error (Bts:issue3379) * update: fix case-collision with a clean wd and no --clean * update: make --check abort with dirty subrepos * update: use normal update path with --check (Bts:issue2450) * wireprotocol: use visibleheads as reference while unbundling (Bts:issue 3303) == Mercurial 2.1.2 (2012-04-01) == This is a regularly-scheduled bugfix release. * alias: abort on missing positional args (Bts:issue3331) * aliases: use empty string for missing position parameters (Bts:issue3331) * bookmarks: clone non-divergent bookmarks with @ in them * convert/git: abort if git submodules are detected (Bts:issue2150) * convert: deal with empty splicemap path (Bts:issue3311) * dirstate: avoid normalizing letter case on icasefs for exact match (Bts:issue3340) * dirstate: fix some problems for recursive case normalization (Bts:issue3342) * dirstate: normalize case of directory components * extdiff: escape filenames with vim/DirDiff and make quoting work with Windows * filemerge: remove temporary files when using internal:dump as merge-tool * filemerge: restore default prompt for binary/symlink lost in 83925d3a4559 * icasefs: use case preserved root for 'util.fspath()' invocation (Bts:issue3302) * largefiles: suppress unexpected warning of 'hg status' for removed files * localrepo: fix unpushable repos when using bookmarks (Bts:issue3317) * merge: accept missing revisions in symlink flag merge (Bts:issue3316) * merge: handle linear update to symlink correctly (Bts:issue3316) * mq: fix qpush --move with comments in series file between applied patches * qfinish: comply with the phases.new-commit option in secret mode (Bts:issue3335) * rebase: move bookmarks as needed with pull --rebase (Bts:issue3285) * rebase: properly calculate descendant set when aborting (Bts:issue3332) * rename: handle case-changing (Bts:issue1717) * setup.py: don't call splitlines twice on the output of xcodebuild (Bts:issue3277) * strip: enhance repair.strip to receive a list of nodes (Bts:issue3299) * strip: ignore -n (Bts:issue3326) (BC) * wix: add phases help text and two more translations (Bts:issue3288) == Mercurial 2.1.1 (2012-03-01) == This is a regularly-scheduled bugfix release. * bdiff: fix malloc(0) issue in fixws() * bugzilla: stop XMLRPC requests from requesting gzipped responses * bundlerepo: bundle repos should be non-publishing (Bts:issue3266) * cmdserver: invalidate the dirstate when running commands (Bts:issue3271) * context: make workingctx.forget() really warn about untracked files * convert: ignore blank lines in mapfiles (Bts:issue3286) * convert: tolerate spaces between splicemap parent ids (Bts:issue3203) * convert: use splicemap entries when sorting revisions (Bts:issue1748) * dirstate: filecacheify _ignore (Bts:issue3278) * fetch: use update rather than clean when updating (Bts:issue3246) * forget: show warning messages for forgetting in subrepo correctly * graft: use proper revisions for copy detection (Bts:issue3265) * import: handle git renames and --similarity (Bts:issue3187) * largefiles: check whether specified patterns are related to largefiles strictly * largefiles: don't break filesets * largefiles: only cache largefiles in new heads * largefiles: use repo.store.createmode for new files in .hg/largefiles * localrepo: clear _filecache on rollback (Bts:issue3261) * localrepo: reset _phasesdirty flag after writing * localrepo: use 'changectx.dirs()' in 'status()' for directory patterns * log: fix --follow FILE ancestry calculation * log: remove caching of all visited revisions (Bts:issue3253) * log: restore cache used by --copies * mdiff: adjust hunk offsets with --ignore-blank-lines (Bts:issue3234) * mq: fix qapplied --last and qprev documentation (Bts:issue3282) * mq: fix qnext when all remaining patches are guarded * mq: make qimport --push push all imported patches (Bts:issue3130) * mq: make qprev return the previous applied patch (Bts:issue3245) * mq: restore _branchtags() fast path (Bts:issue3223) * patch: fix fuzzing of hunks without previous lines (Bts:issue3264) * patch: fuzz more aggressively to match patch(1) behaviour * pull: backout change to return code * scmutil: update cached copy when filecached attribute is assigned (Bts:issue3263) * setup: handle output from Apple's Xcode 4.3 better (Bts:issue3277) * subrepo: fix for merge inconsistencies * update: delete bookmarks.current when explicitly updating to a rev (Bts:issue3276) * update: don't move the active bookmark if a rev is specified with -r == Mercurial 2.1 (2012-02-01) == This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes. === Major features === * Changesets now have a phase attribute, which tracks what changesets are safe to modify (see [[Phases]]) === Core changes === * annotate: support diff whitespace filtering flags (Bts:issue3030) * bookmarks: automatically advance bookmark on bare update (BC) (Bts:issue2894) * bookmarks: shadow divergent bookmarks of foo with foo@n * copies: improved copy detection for diff and status * hooks: new priority specifier to control ordering * id: add command line options for handling ssh and https urls * push: propagate --new-branch and --ssh options when pushing subrepos * revset: add remote() predicate to lookup remote revisions * subrepo: support explicit add and forget of files in subrepos === Extension changes === * bugzilla: make XMLRPC interface support http and https access * largefiles: add --normal option to hg add (Bts:issue3061) * notify: add option for writing to mbox * rebase: add a "D" short option for detach * rebase: allow --detach when --rev is used * win32mbcs: allow win32mbcs extension to be enabled on cygwin platform * mq: add secret phase setting === Bug fixes === * hgcia: fix diffstat support * largefiles: add error checking to tags conversion (Bts:issue3092) * largefiles: add tests for uncovered codepaths (Bts:issue3092) * largefiles: check if largefile could be found when archiving (Bts:issue3193) * largefiles: correctly download new largefiles when merging * largefiles: correctly handle dirstate status when rebasing * largefiles: correctly handle newly added largefile on other side of merge * largefiles: display remote errors from putlfile (Bts:issue3123) (Bts:issue3149) * largefiles: don't reference uninitialized variable (Bts:issue3092) * largefiles: fix caching largefiles from an aliased repo (Bts:issue3212) * largefiles: fix confusion upon removal of added largefile (Bts:issue3176) * largefiles: fix inappropriate locking (Bts:issue3182) * largefiles: fix output of hg summary (Bts:issue3060) * largefiles: cache new largefiles for new heads when pulling * largefiles: implement addremove (Bts:issue3064) * largefiles: optimize performance of status on largefiles repos (Bts:issue3136) * largefiles: optimize status when files are specified (Bts:issue3144) * largefiles: remove empty directories upon update (Bts:issue3202) * largefiles: fix addremove when no largefiles are specified * largefiles: fix revert on missing largefile (Bts:issue3217) * largefiles: fix transplant for all cases (Bts:issue3192) * mail: use quoted-printable for mime encoding to avoid too long lines (Bts:issue3075) * merge: give a special message for internal:merge failure (Bts:issue3105) * rebase: reinstate old-style rev spec support for the source and base (Bts:issue3181) * ssh: quote remote paths (Bts:issue2983) * sslutil: abort properly if no certificate received for https connection * sslutil: show fingerprint when cacerts validation fails * status: support revsets with --change * subrepo: avoid syncing bookmarks twice on clone (Bts:issue3191) * tag: invalidate tag cache immediately after adding new tag (Bts:issue3210) * util: don't encode ':' in url paths * bundlerepo: try to find containing repo on creation (Bts:issue1812) * convert: subversion convert abort on revision not found (Bts:issue3205) * discovery: fix regression when checking heads for pre 1.4 client (Bts:issue3218) * merge: defer symlink flag merging to filemerge (Bts:issue3200) * patch: a little bit more robust line counting on diff --stat (Bts:issue3183) * push: return 1 if no changes found (Bts:issue3228) * qpush: avoid trying to manage existing history (Bts:issue2218) * revsets: include the correct first ancestor change for follow(file) * revsets: filesets now work correctly inside of revsets == 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 (Bts: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 (Bts: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 [[Topic: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 |