Mercurial 3.1 (2014-08-01)#

Mercurial 3.1.2 (2014-10-01)#

This is a regularly-scheduled bugfix release.

  • commit: catch changed exec bit on files from p1 (issue4382)

  • diff: document the nobinary option

  • dispatch: check shell alias again after loading extensions (issue4355)

  • dispatch: make "_checkshellalias" reusable regardless of adding aliases

  • help: fix typo in log examples

  • help: mention mode in hg log --removed help (issue4381)

  • hgweb: fail if an invalid command was supplied in url path (issue4071)

  • hgweb: refresh hgweb.repo on phase change (issue4061)

  • histedit: abort gracefully on --continue/--abort with no state

  • keepalive: fix how md5 is used

  • mq: examine "pushable" of already applied patch correctly

  • mq: pop correct patches when changing pushable-ness of already applied ones

  • mq: report correct numbers for changing "number of guarded, applied patches"

  • mq: use "mq.applied[i].name" instead of "mq.appliedname(i)" for safety

  • revset: add an optimised baseset.__contains__ (issue4371)

  • templater: fix precedence of --style and --template options

Mercurial 3.1.1 (2014-09-01)#

This is a regularly-scheduled bugfix release.

  • changectx: ancestor should only prefer merge.preferancestor if it is a revision

  • color: pass on key error for win32 (issue4298)

  • config: exit non zero on non-existent config option (issue4247)

  • context: call normal on the right object

  • debugobsolete: catch ValueError that may be raised by obsstore.create

  • discovery: prevent crash on unknown remote heads with old repo (issue4337)

  • graft: fix collision detection with origin revisions that are missing

  • help: add pad function to template help

  • help: only call doc() when it is callable

  • hgweb: avoid config object race with hgwebdir (issue4326)

  • histedit: preserve initial author on fold (issue4296)

  • import: show warning message for merge changesets

  • incoming: don't request heads that already are common

  • largefiles: don't override matchandpats for always matchers (issue4334)

  • largefiles: drop setting lfstatus in overridelog (issue4334)

  • largefiles: in overridelog, use non-lf matcher for patch generation (issue4334)

  • log: use correct phase info for parent field (issue4347)

  • merge: show the scary multiple ancestor hint for merges only, not for updates

  • obsstore.create: add a simple safeguard against cyclic markers

  • repoview: filter tags to non-existent nodes from blockers (issue4328)

  • repoview: fix typo in repoview.changelog

  • revset: bookmark revset interprets 'literal:' prefix correctly (issue4329)

  • unbundle: don't advance bookmarks (issue4322) (BC)

Mercurial 3.1 (2014-08-01)#

Core features#

  • backout: accept '--edit' like other commands creating new changeset

  • bookmarks: improve the bookmark help (issue4244)

  • commit: make commit message shown in text editor customizable by template

  • config: allow 'user' in .hgrc ui section (issue3169)

  • conflict markers: customise local/other name for various command (graft, update, rebase, ...) (BC)

  • diff: add nobinary config to suppress git-style binary diffs

  • discovery: if a push would create a new head, mention the bookmark name if any

  • filemerge: add an internal:tagmerge merge tool

  • filemerge: add a [ui] mergemarkers option to use detailed merge marker.

  • gpg: accept '--edit' like other commands creating new changeset

  • help: suggest keyword search when no topic is found

  • import: add --partial flag to create a changeset despite failed hunks

  • resolve: print message when no unresolved files remain (issue4214)

  • resolve: print warning when no work performed (issue4208)

  • templatefilter: add splitlines function

  • templatekw: add 'currentbookmark' keyword to show current bookmark easily

  • templatekw: add 'subrepos' keyword to show updated subrepositories

  • templater: introduce startswith function

  • templater: introduce word function

  • templates: escape NUL bytes in jsonescape (issue4303)

  • update: introduce --tool for controlling the merge tool

  • update: show message when a bookmark is activated by update

  • update: when deactivating a bookmark, print a message

  • version: show enabled extensions (issue4209)

Extension features#

  • convert: detect removal of ".gitmodules" at git source revisions correctly

  • convert: drastically speed up git conversions

  • convert: mercurial source: convert global tags only - not local tags

  • convert: only consider shamap revisions converted if they still exists

  • convert: update the transplant, rebase and graft references in 'extra'

  • largefiles: show also how many data entities are outgoing at "hg outgoing"

  • mergetools.hgrc: add minimal configuration for editmerge

  • pager: add attend-<command> option

  • patchbomb: includes series information in the header

  • purge: add options for deleting only files or only directories

  • qfold: allow to specify '--message/'--logfile' and '--edit' at the same time

  • qimport: record imported revs incrementally (issue3874)

  • qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time

  • shelve: accept '--edit' like other commands creating new changeset

  • shelve: add -l|--list support for bash completion

  • strip: drop -b/--backup option (BC)

Fixes#

  • bookmarks: avoid deleting primary bookmarks on rebase

  • branch: add debug message for branch cache write failure

  • bugzilla extension: stop trying to cache setup across hook invocation

  • filemerge: use non-minimal conflict marker regions (BC)

  • help: always show command help with -h (issue4240)

  • histedit: respect revsetalias entries (issue4311)

  • largefiles: avoid unnecessary creation of .hg/largefiles when opening lfdirstate

  • largefiles: include largefiles when doing log on a directory (issue4241)

  • largefiles: use "normallookup", if "mtime" of standin is unset

  • log: allow revset for --follow to be lazily evaluated

  • log: do not use exact matcher for --patch --follow without file (issue4319)

  • log: make --patch --follow work inside a subdirectory

  • p4: accept changesets with no description (issue4282)

  • resolve: keep wlock while resolving

  • revset: maintain ordering when subtracting from a baseset (issue4289)

  • revset: optimize baseset.__sub__ (issue4313)

  • strip: remove bookmarks after strip succeed (issue4295)

  • vim: use try catch in vim plugin to avoid conflicts

Experimental features#

  • bundle2: add pushkey support

  • bundle2: fix bundle2 pulling all revs on empty pulls

  • bundle2: pull phase data alongside changesets (when enabled)

  • bundle2: use bundle2 to push phases (when enabled)

Mercurial project#

  • build: initial support for in-tree autobuilding recipes

  • buildrpm: include release version in .tar.gz name

  • make: add a basic osx mpkg target

  • packaging: move output directory from build/ to packages/

  • setup: fixed for Pythons which don't have a CFLAGS

  • setup: make Xcode 5.1 check less specific