File: 4.9

package info (click to toggle)
mercurial 7.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 46,124 kB
  • sloc: python: 214,491; ansic: 56,606; tcl: 3,715; sh: 1,879; lisp: 1,483; cpp: 864; makefile: 792; javascript: 649; xml: 36
file content (51 lines) | stat: -rw-r--r-- 2,230 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Mercurial 4.9 (2019-01-08)


## Mercurial 4.9 release 

This is an overview of [[WhatsNew#Mercurial_4.9_.282019-02-01.29|4.9 release]].

### Security Fixes 

It was possible to use symlinks and subrepositories to defeat Mercurial's path-checking logic and write files outside a repository. This has been fixed. Users on older versions can either disable subrepositories with
{{{
[subrepos]
allowed = false
}}}
in their configuration or by ensuring any cloned repositories don't contain malicious symlinks.

### New Features 

- 'hg histedit' will now present a curses UI if curses is available and 'ui.interface' or 'ui.interface.histedit' is set to 'curses'.
- The 'sparse-revlog' delta strategy is enabled by default for new repositories.
 See `hg help config.format.sparse-revlog` for details.


### New Experimental Features 


### Other Notable Features 

- New `rewrite.update-timestamp=True` option to update the commit timestamp on history editing (e.g. amend.)
- New `ui.message-output=stderr` option for scripting, which prevents status messages from interleaved.
- New `rootglob:` filename pattern for a glob that is rooted at the root of the repository.
 See `hg help patterns` and `hg help hgignore` for details.
- Some more reimplementation of ancestry algorithms in Rust for better performance.

### Bug Fixes 


### Backwards Compatibility Changes 

- Boolean options passed to the logtoprocess extension are now formatted as "0" or "1" instead of "None", "False", or "True".

- The logtoprocess extension no longer supports invalid "ui.log()" arguments. A log message is always formatted and passed in to the "$MSG1" environment variable.


### Internal API Changes 

- Status messages may be sent to a dedicated stream depending on configuration. Don't use "ui.status()", etc. as a shorthand for conditional writes. Use "ui.write()" for data output.

- Add 'exthelper' class to simplify extension writing by allowing functions, commands, and configitems to be registered via annotations.  The previous APIs are still available for use.

- The extension hook "extsetup" without a 'ui' argument has been deprecated, and will be removed in the next version.  Add a 'ui' argument to avoid the deprecation warning.