Mercurial 3.6 (2015-11-01)#

Mercurial 3.6.3 (2016-01-01)#

This is a regularly-scheduled bugfix release.

  • cmdutil: use crecordmod.checkcurses

  • copyfile: add an optional parameter to copy other stat data

  • crecord: stop raising error.Abort if curses is not found (issue5008)

  • dirstate: don't write repo.currenttransaction to repo.dirstate if repo

  • dockerlib: short form for non-unique uid/gid for CentOS 5 compat (issue4977)

  • merge: while checking for unknown files don't follow symlinks (issue5027)

  • mq: use fallback patch name if no alpha-numeric in summary line (issue5025)

  • parsers: fix parse_dirstate to check len before unpacking header (issue4979)

  • paths: include #fragment again

  • push: restore old behavior of default-push (issue5000)

  • record: don't dereference symlinks while copying over stat data

  • revlog: seek to end of file before writing (issue4943)

  • ui: try to handle $$ more robustly in prompts (issue4970)

Mercurial 3.6.2 (2015-12-01)#

This is a regularly-scheduled bugfix release.

  • docker: match more version of 'hg docker version' (issue4967)

  • localrepo.commit: check all files for resolve state (issue4972)

  • rebase: add returning value from pullrebase function

  • resolve: restore .orig only after merge is fully complete (issue4952)

  • share: wrap bmstore._writerepo for transaction sensitivity (issue4940)

  • tags: create new sortdict for performance reasons

Mercurial 3.6.1 (2015-11-09)#

This is an out-of-cycle bugfix release for issues related to hooks.

  • changegroup: call 'prechangegroup' hook before setting up write delay

  • changegroup: fix the scope of a try finally

  • clonebundles: fix typo s/comand/command/

  • demandimport: fix level passed to loader of sub-modules

  • dirstate: fix filefoldmap incosistency on file delete

  • dockerlib: allow non-unique uid and gid of $DBUILDUSER (issue4657)

  • exchange: do not attempt clone bundle if local repo is non-empty (issue4932)

  • hooks: always include HG_PENDING

  • hooks: fix hooks not firing if prechangegroup was set (issue4934)

  • parsers: fix width of datalen variable in fm1readmarkers

  • posix: fix test-permissions regression

  • posix: retry on symlink race in checklink

  • templatefilters: try round-trip utf-8 conversion by json filter (issue4933)

  • wireproto: move clonebundles command from extension (issue4931)

  • wix: style-coal.css has been renamed

Mercurial 3.6 (2015-11-01)#

Regularly scheduled feature release.

Commands#

  • bookmark: do not crash when active bookmark is forward and --date is used

  • bookmarks: don't deactivate on no-op update (issue4901)

  • clone: fix updaterev to update to latest branch changeset (issue4528)

  • clonebundles: support for seeding clones from pre-generated bundles

  • commit: abort when a committemplate is not changed (BC)

  • help: distinguish sections when multiple match (issue4802)

  • help: pass around ui to doc loader (API)

  • help: pass around ui to rewriter hooks (API)

  • merge: perform all premerges before any merges (BC)

  • merge: abort on file/directory case folding collisions (issue4892)

  • phases: return zero for no-op operations (issue4751) (BC)

  • resolve: perform all premerges before performing any file merges (BC)

Core#

  • cmdutil: make in-memory changes visible to external editor (issue4378)

  • cmdutil: stop tryimportone from using dirstateguard (BC)

  • context: don't hex encode all unknown 20 char revision specs (issue4890)

  • dirstate: batch calls to statfiles (issue4878)

  • parsers: fix infinite loop or out-of-bound read in fm1readmarkers (issue4888)

  • revlog: add an aggressivemergedelta option

  • revlog: change generaldelta delta parent heuristic

  • revset: do not fall through to revspec for literal: branch (issue4838)

  • revsets: makes follow() supports file patterns (issue4757) (BC)

  • templater: add new docheader/footer components for XML (issue4135)

  • templater: create string unescape helper (issue4798)

  • templater: do not pre-evaluate generator keyword at runsymbol (issue4868)

  • templater: introduce {latesttag()} function to match a pattern (issue4184)

  • templater: switch ctx of list expression to rev of revset() (BC)

  • ui: change default path fallback mechanism (issue4796)

  • util: use tuple accessor to get accurate st_mtime value (issue4836)

  • wireproto: properly parse false boolean args (BC)

Extensions#

  • histedit: use one editor when multiple folds happen in a row (issue3524) (BC)

  • largefiles: better handling of merge of largefiles that are not available

  • mq: generate patch names from first line of description

  • rebase: avoid losing branch commits with --keepbranch (issue4835)

  • rebase: fix warning about ignoring tool option on rebase continue (issue4698)

  • rebase: fix wrong 'no changes to commit' when using --collapse

  • rebase: on abort delete rebase state file no matter what

  • rebase: properly abort when destination is public (issue4896)

  • rebase: properly handle chains of markers with missing nodes

  • shelve: bundle using bundle2 if repository is general delta (issue4862)

  • shelve: delete shelve statefile on any exception during abort

  • shelve: restore shelved dirstate explicitly after aborting transaction

  • shelve: restore unshelved dirstate explicitly after aborting transaction

Hgweb#

  • hgweb: consume generator inside context manager (issue4756)

  • hgweb: ensure both foreground and background colors are specified (issue4872)

  • hgweb: overwrite cwd to resolve file patterns relative to repo (issue4568)

Unsorted#

  • builddeb: actually run make when building the deb (issue4778)

  • buildrpm: mkdir -p two needed directories (issue4779)

  • bundle2: don't try to recover from a GeneratorExit (issue4785)

  • bundle: extend the format of --type to support version and compression

  • debian: install bash completion as hg and not mercurial (issue4900)

  • debian: install hgk as part of mercurial-common (issue4829)

  • dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)

  • dispatch: stop warning about EPIPE in --debug mode

  • graphmod: compute slow revset query once prior to reachableroots (issue4782)

  • highlight: add highlightfiles config option which takes a fileset (issue3005)

  • highlight: add option to prevent content-only based fallback

  • highlight: exit early on textual and unknown files (issue3005)

  • incoming: request a bundle2 when possible (BC)

  • localrepo: recreate phasecache if changelog was modified (issue4855)

  • lock: loop a finite number of times in trylock (issue4787)

  • mercurial: add debugextensions command (issue4676)

  • minirst: don't treat top level item as children of last item (issue4803)

  • notify: fix fromauthor setting for 'incoming' hook type (issue4194)

  • posix: shellquote do not require quoting for "+" (issue4818)

  • reachableroots: verify integer range of heads argument (issue4775)

  • revpair: restrict odd-range handling to top-level x:y expression (issue4774)

  • revrange: drop old-style parser in favor of revset (API)

  • test-merge-tools: include /usr/sbin in path for sysctl (issue4813)

  • traceback: allow providing a local support contact point

  • treemanifest: rework lazy-copying code (issue4840)

  • windows: read all global config files, not just the first (issue4491) (BC)

  • worker: restore old countcpus code (issue4869)