Mercurial 2.6 (2013-05-01)#

Mercurial 2.6.3 (2013-07-01)#

This is a regularly-scheduled bugfix release.

  • commit: amending with --close-branch (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 (issue3958)

  • update: remove .hg/graftstate on clean (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 (issue3938)

  • dirstate: don't overnormalize for ui.slash

  • graft: refuse to commit an interrupted graft (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 (issue3678)

  • help/config: note 64-bit Windows registry key used with 32-bit Python

  • hfs+: rewrite percent-escaper (issue3918)

  • hgignore: fix regression with hgignore directory matches (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 (issue3920)

  • subrepo: open files in 'rb' mode to read exact data in (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 (issue3921) and subrepos on Windows (issue3926)

This is a regularly scheduled feature release.

Core features#

  • amend: support amending merge changesets (issue3778)

  • archive: raise error.Abort if the file pattern matches no files

  • bash_completion: allow remove to complete normal files

  • bookmarks: allow (re-)activating a bookmark on the current changeset

  • bookmarks: don't allow integers as bookmark/branch/tag names

  • bookmarks: moving the active bookmark deactivates it

  • bookmarks: resolve divergent bookmarks when moving active bookmark forward

  • bookmarks: resolve divergent bookmark when moving across a branch

  • commit: show active bookmark in commit editor helper text

  • config: discard "%unset" values defined in the other files read in previously

  • dates: support 'today' and 'yesterday' in parsedate (issue3764)

  • date: understand "now" as a shortcut for the current time

  • dispatch: print 'abort:' when a pre-command hook fails (BC)

  • dispatch: return status is 1 and a nice error message is printed when a user intervention is required (BC)

  • export: clobber files with -o (BC) (issue3652)

  • export: export working directory parent by default

  • export: show 'Date' header in a format that also is readable for humans

  • filesets: add eol predicate

  • hgweb: generate documentation as HTML (previously as text)

  • hgweb: teach archive how to download a specific directory or file

  • 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

  • sslutil: abort if peer certificate is not verified for secure use

  • summary: make "incoming" information sensitive to branch in URL (issue3830)

  • summary: make "outgoing" information sensitive to branch in URL (issue3829)

  • summary: show active bookmark even if not at current changeset

  • templatekw: add default styles for hybrid types (issue3887)

  • templater: add get() function to access dict element (e.g. extra)

  • addremove: improve performance

  • ancestor: a new algorithm that is faster for nodes near tip

  • dirstate: performance improvements

  • grep: use re2 if possible

  • parsers: a C implementation of the new ancestors algorithm

  • scmutil: rewrite dirs in C, use if available

  • tags: update tag type only if tag node is updated (issue3911)

Extension features#

  • blackbox: new extension

  • hgk: add support for phases

  • hgk: don't use fixed format for dates

  • hgk: update backgroud colour when Ttk is available

  • histedit: allow "-" as a command file

  • histedit: handle multiple spaces between action and hash (issue3893)

  • histedit: make "hg histedit" sensitive to branch in URL

  • histedit: properly handle --continue on empty fold

  • histedit: support editing of the first commit (issue3767)

  • interhg: feature integrated in core. Extension removed.

  • 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 pulled() revset expression for use in --lfrev

  • largefiles: introduce pull --lfrev option

  • largefiles: quiet (and document) undefined name errors (issue3886)

  • largefiles: stat all largefiles in one batch before downloading

  • largefiles: use repo.wwrite for writing standins (issue3909)

  • mq: comply with filtering when injecting fake tags (issue3812)

  • mq: do not inherit settings form base repo in mqrepo (Fixes issue2358)

  • rebase: check no-op before checking phase (issue3891)

  • rebase: fix --collapse when a file was added then removed

  • smtp: use 465 as default port for SMTPS

  • smtp: verify the certificate of the SMTP server for STARTTLS/SMTPS

  • subrepo: clone of git sub-repository creates incorrect git branch (issue3870)

  • subrepo: do not push mercurial subrepos whose store is clean

  • subrepo: fix exception on revert when "all" option is omitted

Fixes#

  • annotate: increase refcount of each revision correctly (issue3841)

  • applyupdates: assign variable before we try to use it (issue3855)

  • bookmarks: allow moving a bookmark forward to a descendant

  • bookmarks: fix bug that activated a bookmark even with -r passed

  • case collision: Avoid unexpectd case folding issue during merge that should succeed (issue3452)

  • commit: allow closing "non-head" changesets

  • convert/git: catch errors from modern git-ls-remote (issue3428)

  • destroyed: invalidate phraserevs cache in all case (issue3858)

  • diff: fix binary file removals in git mode

  • http: avoid large text dumps when remote url is not a repo

  • import: don't rollback and unrelated transaction on failed import --exact (issue3616)

  • log: fix behavior with empty repositories (issue3497)

  • outgoing: fix possible filtering crash in outgoing (issue3814)

  • pager: catch ctrl-c on exit (issue3834)

  • record: abort on malformed patches instead of crashing

  • revset: change ancestor to accept 0 or more arguments (issue3750)

  • revset: don't abort when regex to tag() matches nothing (issue3850)

  • scheme: don't crash on invalid URLs

  • setup: make error message for missing Python headers more helpful

  • sshpeer: store subprocess so it cleans up correctly

  • win32: use explicit path to "python.exe" only if it exists