Software update: Mercurial 4.8.2

Jan

8

2019

Mercurial is a program for software and project developers, among others, that allows management and version control over data and source code. The program can be seen as a direct competitor for the well-known svn or Subversion. Mercurial is used for example by NetBeans and Roundup Issue Tracker . Version 4.8.2 has recently become available with the following list of adjustments:

Mercurial 4.8.2

This is a regularly-scheduled bugfix release containing following fixes:
commands
update: do not pass in user revspec as default destination (issue6044)
core
match: fix assertion for fileset with no context (issue6046)
revlog: catch delta base value under -1
revlog: catch revlog corruption in index_baserev
server: always close http socket if responding with an error (issue6033)
vfs: ensure closewrapbase fh does not escape by entering context manager
extensions
phabricator: properly encode boolean types in the request body
1.4. unsorted
windows: ensure mixedfilemodewrapper fd does not escape by entering context mgr
worker: do not swallow in the main process
Mercurial 4.8.1

A regularly scheduled bugfix release. Some security fixes are included, but all are expected to be low-risk.
commands
commandserver: get around ETIMEDOUT raised by selectors2
graft: do not try to skip from ancestor more than once (issue6024)
verify: provide unit to ui.makeprogress ()
core
revlog: fix out-of-bounds access by negative parents read from revlog (SEC)
extensions
rebase: abort in-mem rebase if there’s a dirty merge state
rebase: fix dir / file conflict detection when using in-mem merge
rebase: fix path auditing to audit path relative to repo root (issue5818)
rebase: preserve working copy when redoing in-mem rebase on disk
unsorted
tests: stabilize test-inherit-mode.t on FreeBSD and macOS (issue6026)
Mercurial 4.8

An overview of new features available. This is a regularly-scheduled quarterly feature release.

commands
add: add a label for messages about added files
addremove: add labels for messages about added and removed files
annotate: pass in wdir rev and node to formatter (BC)
annotate: rename {line_number} to {lineno} (BC)
bookmarks: add explicit option to list bookmarks of the given names
bookmarks: pass in formatter to printbookmarks () instead of opts (API)
clone: ​​allow local cloning to create more than one level of directories
debugcommands: introduce debugrevlogindex (BC)
debugcommands: use openstorage () in debugdata (BC)
grep: add MULTIREV support to –allfiles flag
grep: rename {line_number} to {lineno} as well (BC)
grep: search all commits in allfiles mode
help: adding a clean declaration for shortlist / basic commands (API)
help: adding support for command categories
identify: change {parents} to a list of nodes (BC)
identify: show remote bookmarks in ‘hg id url -Tjson -B’
log: have changesetformatter fill in wdir () rev and node (BC)
log: respect graphs on terminal nodes (collapsing o- ~ to just o ~)
merge: improve interactive one-changed one-deleted message (issue5550)
phase: explicitly exclude secret phase and above
phase: expose a ‘_phase (idx)’ revset
phase: handle phase with no command flag
phase: report number or non-public changeset alongside the new range
push: add “remote” to “repository changed while pushing” messages (issue5971)
remove: add a label for messages about removed files
rename: return error status if any rename / copy failed
resolve: add a flag for the default behavior or re-merging
resolve: add config to make resolutions not re-merge by default
resolve: add confirm config option
resolve: add option to warn / abort on -m with unresolved conflict markers
resolve: graduate resolve.mark-check from experimental, add docs
resolve: rename {status} to {merge status} to not shadow change status (BC)
status: advertise – abort instead of ‘update -C.’ to abort a merge
status: advertise – abort instead of ‘update -C.’ to abort graft
status: remove “morestatus” message from formatter data (BC)
status: rename {copy} to {source} for compatibility with {file_copies} (BC)
verify: make output less confusing (issue5924)
core
context: drop compatibility for ‘context.descendant’ (API)
context: move logic from changectx .__ init__ to localrepo .__ getitem__ (API)
context: remove unused overlayfilectx (API)
dispatch: do not show list of commands on bogus command
dispatch: making all hg abortions be output with a specific label
dispatch: show a short error message when invalid global option given
exchange: support declaring pull depth
exchange: support defining narrow file patterns for pull
filelog: add a hasnode () method (API)
filelog: drop _generaldelta attribute (API)
filelog: drop index attribute (API)
filelog: remove checkhash () (API)
filelog: remove revdiff () (API)
filelog: remove version attribute (API)
filelog: stop proxying “opener” (API)
filelog: stop proxying _addrevision () (API)
filelog: stop proxying checksize () (API)
filelog: stop proxying compress () (API)
filelog: stop proxying datafile (API)
filelog: stop proxying deltaparent () (API)
filelog: stop proxying flags () (API)
filelog: stop proxying headrevs () (API)
filelog: stop proxying rawsize () (API)
filelog: stop proxying start (), end (), and length () (API)
localrepo: add repository feature when repo can be stream cloned
localrepo: add requirement when narrow files creation option present
localrepo: automatically load lfs extension when required (BC)
localrepo: define “features” on repository instances (API)
localrepo: define storage backend in creation options (API)
localrepo: move repo creation logic out of local repository .__ init__ (API)
localrepo: pass ui to newreporequirements () (API)
localrepo: support marking repos as having shallow file storage
localrepo: support writing shared file (API)
pager: do not enable when TERM = dumb
repository: establish API for emitting revision deltas
revlog: add method for acquiring storage info (API)
revlog: drop LookupError alias (API)
revlog: drop RevlogError alias (API)
revlog: drop compatibility for ‘revlog.descendant’ (API)
revlog: drop emitrevisiondeltas () and associated functionality (API)
revlog: drop some more error aliases (API)
revlog: new API to emit revision data
revlog: reuse cached delta for identical base revision (issue5975)
revset: expand bookmark (.) to the active bookmark
revsetlang: fix position or ‘-‘ in spaceless ‘ab’ expressions
streamclone: ​​do not support stream clone unless repo feature present
streamclone: ​​include obsstore file into stream bundle if client can read it
templatefuncs: add truncate parameter to path
templatekw: add experimental {status} keyword
templatekw: deprecate old-style template keyword function (API)
templates: rename “user” to “luser” defined in default map file (API)
tracing: new module to make tracing events easier
tracing: trace command function execution
transaction: make entries a private attribute (API)
transaction: remember original len (repo) instead of tracking added revs (API)
util: make timedcm require the label (API)
wireprotov2: add bookmarks to “changesetdata” command
wireprotov2: add phases to “changesetdata” command
wireprotov2: client support for advertising redirect targets
wireprotov2: client support for following content redirects
wireprotov2: define and implement “changesetdata” command
wireprotov2: define and implement “filedata” command
wireprotov2: define and implement “filesdata” command
wireprotov2: define and implement “manifestdata” command
wireprotov2: server support for sending content redirects
wireprotov2: support response caching
extensions
absorb: import extension from Facebook’s hg-experiment
absorb: print ‘{rev}:’ as a prefix to the hash
absorb: print summary of changesets affected
absorb: prompt user to accept absorb changes by default
amend: support “history-editing-backup” config option
closehead: fix close-head -r listification
commitextras: work nicely with other extensions
convert: fix a file descriptor leak
extension: add a summary or total loading time per extension
extensions: add detailed loading information
extensions: new closehead module for closing arbitrary heads
fastannotate: initial import from Facebook’s hg-experimental
fastannotate: make the default value for ‘fastannotate.useflock’ dynamic
fix: add a monkey-patchable point after all new revisions have been committed
fix: compute changed lines lazily to make whole-file fixer tools faster
fix: determine fixer tool failure by exit code instead of stderr
fix: pull out flag definitions to make them re-usable from extensions
fsmonitor: use vfs instead of opener (issue5938)
journal: do not pass in repolookuperror string to template (BC)
journal: unify template name for “nodes” (BC)
largefiles: automatically load largefiles extension when required (BC)
lfs: add repository feature denoting the use of LFS
lfs: autoload the extension when cloning from repo with lfs enabled
lfs: consult the narrow matcher when extracting pointers from ctx (issue5794)
lfs: do not add extension to hgrc after clone or share (BC)
lfs: do not add extension to hgrc after conversion (BC)
logtoprocess: connect all fds to / dev / null to avoid bad interaction with pager
logtoprocess: define $ HG for children processes
narrow: add ‘- import rules’ flag to tracked command
narrow: add a –narrowspec flag to clone command
narrow: add narrow and ellipses as server capabilities
narrow: add server logic to send cg while widening without ellipsis
narrow: check for servers’ narrow support before doing anything (BC)
narrow: drop support for remote expansion (BC)
narrow: introduce a config option to check if narrow is enabled or not
narrow: move .hg / narrowspec to .hg / store / narrowspec (BC)
narrow: move support for ‘hg verify’ into core
narrow: the first version of narrow_widen wire protocol command
narrow: validate spec files are well-formed during clone (BC)
patchbomb: allow using HGHOSTNAME to force a hostname
phabricator: drop support for the legacy phabricator.auth.token config (BC)
phabricator: mark extension as experimental for now
rebase: add – stop option to stop rebase at any point (issue5206)
rebase: do not try to prune obsolete changeset already in the destination
rebase: explicitly track collapses as fold
rebase: skip extinct revisions even if it has no successor in rebase set
rebase: support “history-editing-backup” config option
remotenames: add names argument to remotenames revset
share: allow more than one level or directories to be created
shelve: add an “internal” extra
shelve: fix crash on unshelve without .shelve metadata file
shelve: use the internal phase when possible
sqlitestore: file storage backend using SQLite
strip: ignore orphaned internal changesets while computing safe strip roots
hgweb
hgweb: add error template to json so it will not crash
hgweb: map Abort to 403 error to report inaccessible path for example
hgweb: show short log by default in json output (issue5978)
hgweb: use scmutil.binnode () to translate None to wdir hash (issue5988)
chg
chgserver: add “setumask2” command which uses correct message frame
chgserver: restore pager fds attached within runcommand session
rust-chg: add Client extensions to run cHg-specific requests
rust-chg: add callback to handle pager and shell command requests
unsorted
ancestors: actually iterate about ancestors in topological order (issue5979)
bundle2: graduate bundle2.stream option from experimental to server section
changegroup: pass sorted revisions into group () (API)
changegroup: port to emitrevisions () (issue5976)
changegroup: remove reordering control (BC)
changegroup: restore default node ordering (issue6001)
cleanupnodes: drop special casing around prune markers (API)
commands: restore compatibility for “^ cmd” registration (issue6005)
copies: improve logic or deciding copytracing on based or config options
crecord: make nextsametype () check that parent item exists (issue6009)
crecord: make enter move cursor down to the next item of the same type
delta: skip “empty delta” optimization for non-general case (issue6006)
error: introduce StorageError
filemerge: add config knob to check capabilities or internal merge tools
filemerge: show warning if chosen tool has no binary files capability
fileset: extract language processing part to new module (API)
fileset: optimize ‘x and not y’ to ‘x – y’
fileset: roughly adjust weights of functions
formatter: remove experimental marker from -T option
formatter: rename {abspath} / {file} to {path}, and drop relative {path} (BC)
global: replace most uses or RevlogError with StorageError (API)
hg: allow extra arguments to be passed to repo creation (API)
httppeer: expose capabilities for each command
index: drop support for negative indexes into the index
index: handle index [-1] as nullid more explicitly
linelog: fix infinite loop vulnerability
lookup: add option to disambiguate prefix within revset
mail: always fall back to iso-8859-1 if us-ascii will not work (BC)
mail: modernize check for Python-with-TLS
manifest: add rawsize () proxy (API)
report: enable auto-merge
mergetool: warn if ui.merge points to nonexistent tool
narrowspec: limit patterns to path: and rootfilesin: (BC)
narrowspec: use sparse.parseconfig () to parse narrowspec file (BC)
obsolete: fix ValueError when stored note contains ‘:’ char (issue5783)
overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
phase: add an archived phase
phases: add an internal phases
pull report: issue a message about “extinct” pulled changesets
py3: rename pycompat.getcwd () to encoding.getcwd () (API)
revisions: allow “x123” to refer to nodeid prefix “123”
scmutil: accept multiple predecessors in ‘replacements’ (API)
shortest: never emit 0-length prefix even if unique
shortest: use ‘x’ prefix to disambiguate from revnum if configured
sparse-revlog: only refine delta candidates in the sparse case (issue6006)
statprof: fix indent level or fp.write () (issue6004)
statprof: update the name as the i rises (issue6003)
storageutil: consistently raise LookupError (API)
storageutil: implement file identifier resolution method (BC)
storageutil: move metadata parsing and packing from revlog (API)
storageutil: new module for storage primitives (API)
url: allow to configure timeout on http connection
Behavior Changes
annotate: pass in wdir rev and node to formatter (BC)
annotate: rename {line_number} to {lineno} (BC)
changegroup: remove reordering control (BC)
debugcommands: introduce debugrevlogindex (BC)
debugcommands: use openstorage () in debugdata (BC)
formatter: rename {abspath} / {file} to {path}, and drop relative {path} (BC)
grep: rename {line_number} to {lineno} as well (BC)
identify: change {parents} to a list of nodes (BC)
journal: do not pass in repolookuperror string to template (BC)
journal: unify template name for “nodes” (BC)
largefiles: automatically load largefiles extension when required (BC)
lfs: do not add extension to hgrc after clone or share (BC)
lfs: do not add extension to hgrc after conversion (BC)
localrepo: automatically load lfs extension when required (BC)
log: have changesetformatter fill in wdir () rev and node (BC)
mail: always fall back to iso-8859-1 if us-ascii will not work (BC)
narrow: check for servers’ narrow support before doing anything (BC)
narrow: drop support for remote expansion (BC)
narrow: move .hg / narrowspec to .hg / store / narrowspec (BC)
narrow: validate spec files are well-formed during clone (BC)
narrowspec: limit patterns to path: and rootfilesin: (BC)
narrowspec: use sparse.parseconfig () to parse narrowspec file (BC)
phabricator: drop support for the legacy phabricator.auth.token config (BC)
resolve: rename {status} to {merge status} to not shadow change status (BC)
status: remove “morestatus” message from formatter data (BC)
status: rename {copy} to {source} for compatibility with {file_copies} (BC)
storageutil: implement file identifier resolution method (BC)
Internal API Changes
bookmarks: pass in formatter to printbookmarks () instead of opts (API)
changegroup: pass sorted revisions into group () (API)
cleanupnodes: drop special casing around prune markers (API)
context: drop compatibility for ‘context.descendant’ (API)
context: move logic from changectx .__ init__ to localrepo .__ getitem__ (API)
context: remove unused overlayfilectx (API)
filelog: add a hasnode () method (API)
filelog: drop _generaldelta attribute (API)
filelog: drop index attribute (API)
filelog: remove checkhash () (API)
filelog: remove revdiff () (API)
filelog: remove version attribute (API)
filelog: stop proxying “opener” (API)
filelog: stop proxying _addrevision () (API)
filelog: stop proxying checksize () (API)
filelog: stop proxying compress () (API)
filelog: stop proxying datafile (API)
filelog: stop proxying deltaparent () (API)
filelog: stop proxying flags () (API)
filelog: stop proxying headrevs () (API)
filelog: stop proxying rawsize () (API)
filelog: stop proxying start (), end (), and length () (API)
fileset: extract language processing part to new module (API)
global: replace most uses or RevlogError with StorageError (API)
help: adding a clean declaration for shortlist / basic commands (API)
hg: allow additional arguments to be passed to repo creation (API)
localrepo: define “features” on repository instances (API)
localrepo: define storage backend in creation options (API)
localrepo: move repo creation logic out of local repository .__ init__ (API)
localrepo: pass ui to newreporequirements () (API)
localrepo: support writing shared file (API)
manifest: add rawsize () proxy (API)
py3: rename pycompat.getcwd () to encoding.getcwd () (API)
revlog: add method for acquiring storage info (API)
revlog: drop LookupError alias (API)
revlog: drop RevlogError alias (API)
revlog: drop compatibility for ‘revlog.descendant’ (API)
revlog: drop emitrevisiondeltas () and associated functionality (API)
revlog: drop some more error aliases (API)
scmutil: accept multiple predecessors in ‘replacements’ (API)
storageutil: consistently raise LookupError (API)
storageutil: move metadata parsing and packing from revlog (API)
storageutil: new module for storage primitives (API)
templatekw: deprecate old-style template keyword function (API)
templates: rename “user” to “luser” defined in default map file (API)
transaction: make entries a private attribute (API)
transaction: remember original len (repo) instead of tracking added revs (API)
util: make timedcm require the label (API)
Version number 4.8.2
Release status Final
Operating systems Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
Website
Mercurial
Download
https://www.mercurial-scm.org/downloads
License type GPL

Viewing:-70

In: A Technology & Gadgets Asked By: [23646 Red Star Level]

Answer this Question

You must be Logged In to post an Answer.

Not a member yet? Sign Up Now »


Star Points Scale

Earn points for Asking and Answering Questions!

Grey Sta Levelr [1 - 25 Grey Star Level]
Green Star Level [26 - 50 Green Star Level]
Blue Star Level [51 - 500 Blue Star Level]
Orange Star Level [501 - 5000 Orange Star Level]
Red Star Level [5001 - 25000 Red Star Level]
Black Star Level [25001+ Black Star Level]