Differences between revisions 6 and 7
Revision 6 as of 2017-07-20 13:46:03
Size: 2984
Editor: AugieFackler
Comment:
Revision 7 as of 2017-07-20 14:05:47
Size: 12130
Editor: AugieFackler
Comment: Progress on integrating script output.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
== Features ==

 * The experimental sparse extension is now included with Mercurial, but still subject to change.
 * hgweb has support for getting history of a section of a file
 * Support for Python 2.6 has been dropped. Python 2.7 is now required, with 2.7.9 or later '''strongly''' recommended for modern TLS support.
== Notable changes ==

 * amend: new experimental extension providing the amend command
 * experimental sparse extension
 * Support for Python 2.6 has been dropped.
Line 13: Line 13:
 * archive: flag missing files as a dirty wdir() in the metadata file (BC)
Line 21: Line 22:
 * streamclone: consider secret changesets (BC) (Bts:5589)  * streamclone: now correctly omits secret changesets (BC) (Bts:5589)
Line 43: Line 44:
Line 47: Line 47:
 * annotate: restructure formatter output to be nested list (BC)
 * bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)
 * bisect: improve option validation message
 * cat: add formatter support
 * clone: add a server-side option to disable full getbundles (pull-based clones)
 * clone: warn when streaming was requested but couldn't be performed
 * clonebundle: update hook arguments (BC)
Line 48: Line 55:
 * commandserver: now uses selectors2 which should improve reliability
 * commit: curses interactive commit works with line selections (Bts:issue5337)
Line 49: Line 58:
 * hgweb: better followlines UI  * hgweb: better UI for getting history of a range of lines
Line 56: Line 65:
 * new experimental "sparse" extension
 * convert: transcode CVS log messages by specified encoding (Bts:issue5597)
 * fetch: remove shorthand of --edit colliding against -e/-ssh in remoteopts (BC)
 * fsmonitor: don't write out state if identity has changed (Bts:issue5581)
 * fsmonitor: write state with wlock held and dirstate unchanged (Bts:issue5581)
 * histedit: simplify removing of edited and temporary revisions (BC)
 * histedit: remove moving bookmarks message on verbose (BC)
 * keyword: make comparison webcommand suppress keyword expansion
 * largefiles: avoid a crash when archiving a subrepo with largefiles disabled
Line 57: Line 75:
 * rebase: add config to move rebase into a single transaction
 * rebase: allow rebase even if some revisions need no rebase (BC) (Bts:issue5422)
 * rebase: make sure merge state is cleaned up for no-op rebases (Bts:issue5494)
 * rebase: use scmutil.cleanupnodes (Bts:issue5606) (BC)
 * share: now correctly shares caches the source clone (Bts:issue5108)
 * shelve: allow unlimited shelved changes per name
Line 59: Line 83:

== Behavior changes ==

 * amend: strip backup file name changed (BC)
 * histedit: strip backup file name changed (BC)
 * rebase: strip backup file name changed (BC)
 * annotate: restructure formatter output to be nested list (BC)
 * archival: flag missing files as a dirty wdir() in the metadata file (BC)
 * bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)
 * clonebundle: update hook arguments (BC)
 * commit: do not look up committemplate in template paths (BC)
 * fetch: remove shorthand of --edit colliding against -e/-ssh in remoteopts (BC)
 * formatter: open raw template file in binary mode (BC)
 * graphlog: do not look up graphnodetemplate in template paths (BC)
 * histedit: pass multiple nodes to strip (BC)
 * histedit: remove moving bookmarks message on verbose (BC)
 * histedit: unify strip backup files on success (BC)
 * histedit: use scmutil.cleanupnodes (BC)
 * match: don't print explicitly listed files with wrong case (BC)
 * rebase: allow rebase even if some revisions need no rebase (BC) (Bts:issue5422)
 * rebase: use scmutil.cleanupnodes (Bts:issue5606)
 * revset: fix order of first/last members in compound expression (BC)
 * revset: fix order of last() n members where n > 1 (BC)
 * setup: drop support for Python 2.6 (BC)
 * sparse: add a requirement when a repository uses sparse (BC)
 * sparse: require [section] in sparse config files (BC)
 * streamclone: consider secret changesets (BC) (Bts:issue5589)
 * strip: include phases in bundle (BC)
 * update: show the commit to which we updated in case of multiple heads (BC)
 * util: raise ParseError when parsing dates (BC)

== Internal API changes ==

 * bundle2: record changegroup data in 'op.records' (API)
 * changegroup: delete unused 'bundlecaps' argument (API)
 * changegroup: deprecate 'getlocalchangroup' (API)
 * changegroup: don't fail on empty changegroup (API)
 * changegroup: let callers pass in transaction to apply() (API)
 * changegroup: remove option to allow empty changegroup (API)
 * changelog: make sure datafile is 00changelog.d (API)
 * cmdutil: drop deprecated hack to pass file object to makefileobj() (API)
 * cmdutil: pass templatespec tuple directly to changeset_templater (API)
 * commands: move templates of common command options to cmdutil (API)
 * context: inline makememctx (API)
 * dirstate: expose a sparse matcher on dirstate (API)
 * dirstate: mark {begin,end}parentchange as deprecated (API)
 * extensions: prohibit registration of command without using @command (API)
 * hidden: rename "revealedrevs" to "pinnedrevs" (API)
 * localrepo: mark walk convenience method as deprecated (API)
 * localrepo: remove unused addchangegroup() (API)
 * match: implement __repr__() and update users (API)
 * match: replace match class by match function (API)
 * osutil: proxy through util (and platform) modules (API)
 * registrar: move cmdutil.command to registrar module (API)
 * repoview: rename '_getdynamicblockers' to 'revealedrevs' (API)
 * revlog: rename constants (API)
 * revset: make repo.anyrevs accept customized alias override (API)
 * sparse: refactor activeprofiles into a generic function (API)
 * templater: add simple interface for unnamed template (API)

== Unprocessed script output below, please integrate this into the above ==
Note that there may be duplicates between the above and the below.

=== commands ===
 * amend: new experimental extension providing the amend command
 * bisect: simpler approach for option validation message
 * bookmark: track bookmark changes at the transaction level
 * bookmarks: fix check of hash-like name to not abort by ambiguous identifier
 * commands: move templates of common command options to cmdutil (API)
 * commit: do not look up committemplate in template paths (BC)
 * commit: select template by spec.ref name
 * config: use the 'config' method in 'configsuboptions'
 * debugcommands: issue warning when repo has secret changesets (Bts:issue5589)
 * debugignore: eliminate inconsistencies with 'hg status' (Bts:issue5222)
 * export: map wctx.node() to 'ff...' node id (Bts:issue5438)
 * help: clarify ancestors() and descendants() include given set (Bts:issue5594)
 * identify: add template support
 * log: add an extension hook-point in changeset_printer
 * perf: add an option to `perfbranchmap` to purge the revbranch cache
 * perf: add 'perfphases' command
 * push: add a way to allow concurrent pushes on unrelated heads
 * show: config option to register aliases for views
 * status: add a flag to terse the output (Bts:issue4119)
 * tag: make sure the repository is locked when tagging
 * update: show the commit to which we updated in case of multiple heads (BC)
 * verify: add a config option to skip certain flag processors
 * verify: always check rawsize

=== core ===
 * bundle: add config option to include phases
 * bundle: add optional 'tagsfnodecache' data to on disk bundle (Bts:issue5543)
 * check-concurrency: expose the feature as 'concurrent-push-mode'
 * checklink: degrade gracefully on posix when fs is readonly (Bts:issue5511)
 * context: avoid writing outdated dirstate out (Bts:issue5584)
 * extensions: register functions always at loading extension (Bts:issue5601)
 * followlines: join merge parents line ranges in blockdescendants() (Bts:issue5595)
 * formatter: add option to redirect output to file object
 * formatter: add support for parts map of [templates] section
 * formatter: add support for separator template
 * formatter: open raw template file in binary mode (BC)
 * json: pass formatting options recursively
 * local-clone: also copy revs-branch-cache files
 * local-clone: also copy tags related caches
 * localrepo: cache types for filtered repos (Bts:issue5043)
 * match: don't print explicitly listed files with wrong case (BC)
 * md5sum: adapt for python 3 support
 * parsers: fix invariant bug in find_deepest (Bts:issue5623)
 * profile: support --profile in alias and abbreviated version (--prof)
 * revlog: C implementation of delta chain resolution
 * revlog: add an experimental option to mitigate delta issues (Bts:issue5480)
 * revlog: add support for partial matching of wdir node id
 * revlog: map rev(wdirid) to WdirUnsupported exception
 * revlog: micro-optimize the computation of hashes
 * revlog: skeleton support for version 2 revlogs
 * revset: add depth limit to descendants() (Bts:issue5374)
 * revset: add support for "wdir()^n"
 * revset: add support for ancestors(wdir())
 * revset: add support for branch(wdir()) and wdir() & branch()
 * revset: add support for integer and hex wdir identifiers
 * revset: add support for p2(wdir()) to get second parent of working directory
 * revset: add support for using ~ operator on wdir() predicate
 * revset: fix order of first/last members in compound expression (BC)
 * revset: fix order of last() n members where n > 1 (BC)
 * revset: make `hg log -r 'wdir()^'` work (Bts:issue4905)
 * setup: drop support for Python 2.6 (BC)
 * smartset: fix generatorset.last() to not return the first element (Bts:issue5609)
 * sslutil: check for missing certificate and key files (Bts:issue5598)
 * test-obsolete-bundle-strip: do not include \n in filename (Bts:issue5586)
 * transaction-summary: display the summary for all transactions
 * ui: add support for a tweakdefaults knob
 * util: raise ParseError when parsing dates (BC)
 * zsh_completion: add '--partial' flag to completions for 'import' (Bts:issue5618)

Mercurial 4.3 release

1. Notable changes

  • amend: new experimental extension providing the amend command
  • experimental sparse extension
  • Support for Python 2.6 has been dropped.

2. Bug fixes

  • archive: flag missing files as a dirty wdir() in the metadata file (BC)
  • bundle: add optional 'tagsfnodecache' data to on disk bundle (5543)

  • rebase: allow rebase even if some revisions need no rebase (BC) (5422)

  • rebase: make sure merge state is cleaned up for no-op rebases (5494)

  • diffstat: properly count lines starting in '--' or '++' (5479)

  • checklink: degrade gracefully on posix when fs is readonly (5511)

  • revset: make hg log -r 'wdir()^' work (4905)

  • export: map wctx.node() to 'ff...' node id (5438)

  • test-obsolete-bundle-strip: do not include \n in filename (5586)

  • streamclone: now correctly omits secret changesets (BC) (5589)

  • debugcommands: issue warning when repo has secret changesets (5589)

  • context: avoid writing outdated dirstate out (5584)

  • fsmonitor: write state with wlock held and dirstate unchanged (5581)

  • fsmonitor: don't write out state if identity has changed (5581)

  • help: clarify ancestors() and descendants() include given set (5594)

  • patch: rewrite reversehunks (5337)

  • extensions: register functions always at loading extension (5601)

  • smartset: fix generatorset.last() to not return the first element (5609)

  • revlog: add an experimental option to mitigated delta issues (5480)

  • followlines: join merge parents line ranges in blockdescendants() (5595)

  • rebase: use scmutil.cleanupnodes (5606) (BC)

  • sslutil: check for missing certificate and key files (5598)

  • convert: transcode CVS log messages by specified encoding (5597)

  • localrepo: cache types for filtered repos (5043)

  • zsh_completion: add '--partial' flag to completions for 'import' (5618)

  • parsers: fix invariant bug in find_deepest (5623)

  • debugignore: eliminate inconsistencies with hg status (5222)

  • demandimport: prefer loaded module over package attribute (5617)

  • share: share 'cachevfs' with the source clone (5108)

  • status: add a flag to terse the output (4119)

3. Improvements

  • annotate: new experimental --skip option to skip revs

  • annotate: restructure formatter output to be nested list (BC)
  • bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)
  • bisect: improve option validation message
  • cat: add formatter support
  • clone: add a server-side option to disable full getbundles (pull-based clones)
  • clone: warn when streaming was requested but couldn't be performed
  • clonebundle: update hook arguments (BC)
  • color: enable ANSI support on Windows 10
  • commandserver: now uses selectors2 which should improve reliability
  • commit: curses interactive commit works with line selections (issue5337)

  • hgweb: improved styling of gitweb's search form
  • hgweb: better UI for getting history of a range of lines
  • revset: add depth limit to ancestors() and descendants() (5374)

  • templater: better handling of template fragments defined in [templates] section

  • add ui.tweakdefaults config knob

4. Extensions

  • new experimental "sparse" extension
  • convert: transcode CVS log messages by specified encoding (issue5597)

  • fetch: remove shorthand of --edit colliding against -e/-ssh in remoteopts (BC)
  • fsmonitor: don't write out state if identity has changed (issue5581)

  • fsmonitor: write state with wlock held and dirstate unchanged (issue5581)

  • histedit: simplify removing of edited and temporary revisions (BC)
  • histedit: remove moving bookmarks message on verbose (BC)
  • keyword: make comparison webcommand suppress keyword expansion
  • largefiles: avoid a crash when archiving a subrepo with largefiles disabled
  • patchbomb: add -B option to select a bookmark

  • rebase: add config to move rebase into a single transaction
  • rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)

  • rebase: make sure merge state is cleaned up for no-op rebases (issue5494)

  • rebase: use scmutil.cleanupnodes (issue5606) (BC)

  • share: now correctly shares caches the source clone (issue5108)

  • shelve: allow unlimited shelved changes per name
  • strip: now phase information is stored in backup bundle
  • new experimental "sparse" extension

5. Behavior changes

  • amend: strip backup file name changed (BC)
  • histedit: strip backup file name changed (BC)
  • rebase: strip backup file name changed (BC)
  • annotate: restructure formatter output to be nested list (BC)
  • archival: flag missing files as a dirty wdir() in the metadata file (BC)
  • bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)
  • clonebundle: update hook arguments (BC)
  • commit: do not look up committemplate in template paths (BC)
  • fetch: remove shorthand of --edit colliding against -e/-ssh in remoteopts (BC)
  • formatter: open raw template file in binary mode (BC)
  • graphlog: do not look up graphnodetemplate in template paths (BC)
  • histedit: pass multiple nodes to strip (BC)
  • histedit: remove moving bookmarks message on verbose (BC)
  • histedit: unify strip backup files on success (BC)
  • histedit: use scmutil.cleanupnodes (BC)
  • match: don't print explicitly listed files with wrong case (BC)
  • rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)

  • rebase: use scmutil.cleanupnodes (issue5606)

  • revset: fix order of first/last members in compound expression (BC)
  • revset: fix order of last() n members where n > 1 (BC)

  • setup: drop support for Python 2.6 (BC)
  • sparse: add a requirement when a repository uses sparse (BC)
  • sparse: require [section] in sparse config files (BC)
  • streamclone: consider secret changesets (BC) (issue5589)

  • strip: include phases in bundle (BC)
  • update: show the commit to which we updated in case of multiple heads (BC)
  • util: raise ParseError when parsing dates (BC)

6. Internal API changes

  • bundle2: record changegroup data in 'op.records' (API)
  • changegroup: delete unused 'bundlecaps' argument (API)
  • changegroup: deprecate 'getlocalchangroup' (API)
  • changegroup: don't fail on empty changegroup (API)
  • changegroup: let callers pass in transaction to apply() (API)
  • changegroup: remove option to allow empty changegroup (API)
  • changelog: make sure datafile is 00changelog.d (API)
  • cmdutil: drop deprecated hack to pass file object to makefileobj() (API)
  • cmdutil: pass templatespec tuple directly to changeset_templater (API)
  • commands: move templates of common command options to cmdutil (API)
  • context: inline makememctx (API)
  • dirstate: expose a sparse matcher on dirstate (API)
  • dirstate: mark {begin,end}parentchange as deprecated (API)
  • extensions: prohibit registration of command without using @command (API)
  • hidden: rename "revealedrevs" to "pinnedrevs" (API)
  • localrepo: mark walk convenience method as deprecated (API)
  • localrepo: remove unused addchangegroup() (API)
  • match: implement repr() and update users (API)

  • match: replace match class by match function (API)
  • osutil: proxy through util (and platform) modules (API)
  • registrar: move cmdutil.command to registrar module (API)
  • repoview: rename '_getdynamicblockers' to 'revealedrevs' (API)
  • revlog: rename constants (API)
  • revset: make repo.anyrevs accept customized alias override (API)
  • sparse: refactor activeprofiles into a generic function (API)
  • templater: add simple interface for unnamed template (API)

7. Unprocessed script output below, please integrate this into the above

Note that there may be duplicates between the above and the below.

7.1. commands

  • amend: new experimental extension providing the amend command
  • bisect: simpler approach for option validation message
  • bookmark: track bookmark changes at the transaction level
  • bookmarks: fix check of hash-like name to not abort by ambiguous identifier
  • commands: move templates of common command options to cmdutil (API)
  • commit: do not look up committemplate in template paths (BC)
  • commit: select template by spec.ref name
  • config: use the 'config' method in 'configsuboptions'
  • debugcommands: issue warning when repo has secret changesets (issue5589)

  • debugignore: eliminate inconsistencies with 'hg status' (issue5222)

  • export: map wctx.node() to 'ff...' node id (issue5438)

  • help: clarify ancestors() and descendants() include given set (issue5594)

  • identify: add template support
  • log: add an extension hook-point in changeset_printer
  • perf: add an option to perfbranchmap to purge the revbranch cache

  • perf: add 'perfphases' command
  • push: add a way to allow concurrent pushes on unrelated heads
  • show: config option to register aliases for views
  • status: add a flag to terse the output (issue4119)

  • tag: make sure the repository is locked when tagging
  • update: show the commit to which we updated in case of multiple heads (BC)
  • verify: add a config option to skip certain flag processors
  • verify: always check rawsize

7.2. core

  • bundle: add config option to include phases
  • bundle: add optional 'tagsfnodecache' data to on disk bundle (issue5543)

  • check-concurrency: expose the feature as 'concurrent-push-mode'
  • checklink: degrade gracefully on posix when fs is readonly (issue5511)

  • context: avoid writing outdated dirstate out (issue5584)

  • extensions: register functions always at loading extension (issue5601)

  • followlines: join merge parents line ranges in blockdescendants() (issue5595)

  • formatter: add option to redirect output to file object
  • formatter: add support for parts map of [templates] section
  • formatter: add support for separator template
  • formatter: open raw template file in binary mode (BC)
  • json: pass formatting options recursively
  • local-clone: also copy revs-branch-cache files
  • local-clone: also copy tags related caches
  • localrepo: cache types for filtered repos (issue5043)

  • match: don't print explicitly listed files with wrong case (BC)
  • md5sum: adapt for python 3 support
  • parsers: fix invariant bug in find_deepest (issue5623)

  • profile: support --profile in alias and abbreviated version (--prof)
  • revlog: C implementation of delta chain resolution
  • revlog: add an experimental option to mitigate delta issues (issue5480)

  • revlog: add support for partial matching of wdir node id
  • revlog: map rev(wdirid) to WdirUnsupported exception

  • revlog: micro-optimize the computation of hashes
  • revlog: skeleton support for version 2 revlogs
  • revset: add depth limit to descendants() (issue5374)

  • revset: add support for "wdir()^n"
  • revset: add support for ancestors(wdir())
  • revset: add support for branch(wdir()) and wdir() & branch()

  • revset: add support for integer and hex wdir identifiers
  • revset: add support for p2(wdir()) to get second parent of working directory
  • revset: add support for using ~ operator on wdir() predicate
  • revset: fix order of first/last members in compound expression (BC)
  • revset: fix order of last() n members where n > 1 (BC)

  • revset: make hg log -r 'wdir()^' work (issue4905)

  • setup: drop support for Python 2.6 (BC)
  • smartset: fix generatorset.last() to not return the first element (issue5609)

  • sslutil: check for missing certificate and key files (issue5598)

  • test-obsolete-bundle-strip: do not include \n in filename (issue5586)

  • transaction-summary: display the summary for all transactions
  • ui: add support for a tweakdefaults knob
  • util: raise ParseError when parsing dates (BC)

  • zsh_completion: add '--partial' flag to completions for 'import' (issue5618)

Release4.3 (last edited 2017-08-21 08:53:09 by BorisFeld)