The NetBSD Project

CVS log for pkgsrc/devel/py-mercurial/

[BACK] Up to [] / pkgsrc / devel / py-mercurial

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.54 / (download) - annotate - [select for diffs], Mon Nov 13 14:36:55 2023 UTC (2 weeks, 1 day ago) by wiz
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

py-mercurial: update to 6.5.3.

Mercurial 6.5.3

    "hgweb: pass strings in WSGI environment correctly from wsgicgi"
    "perf: introduce more cache invalidation option in perf::tags"
    "perf: add a --clear-fnode-cache-rev argument to perf::tags"
    "perf: add a --update-last flag to perf::tags"
    "blackbox: add a option to duplicate output to stderr too"
    "tags: avoid expensive access to repo.changelog in a loop"
    "revlog: fix a bug where NULL_NODE failed to be resolved to NULL_REV"
    "httppeer: fix static-http: scheme autodetection (issue6833)"
    "tests: backed out changeset 8037ddacad47"
    "stream-clone: fix a crash when a repo with an empty revlog is cloned"
    "censor: accept censored revision during upgrade"
    "revlog: avoid opening and closing the file for each cloned revision"

Revision 1.53 / (download) - annotate - [select for diffs], Mon Oct 2 20:37:21 2023 UTC (8 weeks, 1 day ago) by triaxx
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 (colored)

py-mercurial: Update to 6.5.2

pkgsrc changes:
  * Shift patch lines to suppress offset.

upstream changes:
Mercurial 6.5.2
  o hgweb: encode WSGI environment using the ISO-8859-1 codec
  o rhg: fix the bug where sparse config is interpreted as relglob instead of glob
  o gpg: fix an UnboundLocalError whenever using --force
  o transaction: fix repr() and make the default name bytes
  o setup: make the error "Unable to find a working hg binary" more informative
  o tests: avoid test environment affecting
  o run-tests: detect HGWITHRUSTEXT value

Revision 1.52 / (download) - annotate - [select for diffs], Sat Aug 26 13:20:07 2023 UTC (3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

py-mercurial: update to 6.5.1.

= Mercurial 6.5.1 =

 * A bunch of improvements to Python 3.12 compatibility
 * repoview: fix the filter created by `extrafilter`
 * Improve portability of the test suite
 * fncache: fix a bug that corrupts the fncache after transaction rollback
 * revlog: fix the naming scheme use by split temporary file
 * perf: fix perf::tags

Revision 1.51 / (download) - annotate - [select for diffs], Wed Jul 19 14:40:50 2023 UTC (4 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored)

py-mercurial: update to 6.5.

New Features

    Improved Python 3.12 compatiblity
    configitems: enable changegroup3 by default (unless using infinitepush)
    extras: expose 'retained_extras' for extensions to extend
    stabletailgraph: implement stable-tail sort
    stabletailgraph: naive version of leap computation
    bundle: introduce a "v3" spec
    clone-bundles: add a basic first version of automatic bundle generation
    clone-bundles: garbage collect older bundle when generating new ones
    clone-bundles: only regenerate the clone bundle when cached ration is low
    clone-bundles: also control automation based on absolute number of revisions
    clone-bundles: add a configuration to control auto-generation on changes
    clone-bundles: introduce a command to refresh bundle
    clone-bundles: add a command to clear all bundles
    clone-bundles: add an option to generate bundles in the background
    clonebundles: add support for inline (streaming) clonebundles
    clonebundles: adds a auto-generate.serve-inline option
    match: add filepath: pattern to match an exact filepath relative to the root
    hgweb: add "children" into the JSON template for a changeset
    hgweb: add support to explicitly access hidden changesets
    pull: add --remote-hidden option and pass it through peer creation
    hidden: add support for --remote-hidden to HTTP peer
    hidden: support passing --hidden with serve --stdio
    hidden: add support to explicitly access hidden changesets with SSH peers
    perf: introduce a perf::stream-locked-section command
    perf: add a function to find a stream version generator
    perf: add support for stream-v3 during benchmark
    perf: add a perf::stream-generate command
    perf: add a perf::stream-consume
    cli: make debugnodemap capable of inspecting an arbitrary nodemap
    rust: configure MSRV in Clippy
    rhg: make rhg files work if ui.relative-files=true is specified
    rhg: support rhg files with ui.relative-paths=false
    rhg: support status --print0
    tree-manifest: allow debugupgraderepo to run on tree manifest repo
    library: enable runpy invocation on mercurial package
    library: incorporate demandimport into runpy invocation
    exchange: allow passing no includes/excludes to pull()

New Experimental Features

    stream-clone: add an experimental v3 version of the protocol
    stream-clone: support streamv3 on the cli [hg bundle]

Bug Fixes

    mail: add a missing argument to properly override starttls
    bundle: include required phases when saving a bundle (issue6794)
    outgoing: fix common-heads computation from missingroots argument
    strip: do not include internal changeset in the strip backup
    bundle: abort if the user request bundling of internal changesets
    bundle: prevent implicit bundling of internal changeset
    encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
    sha1dc: Make sure SHA1DC_BIGENDIAN is set on Darwin/PowerPC
    zstd: hack include order to ensure that our zstd.h is found
    dirstate: better error messages when dirstate is corrupted
    stream-clone: avoid opening a revlog in case we do not need it
    treemanifest: make updatecaches update the nodemaps for all directories
    rust-hg-core: move from ouroboros to self_cell
    rust-dependencies: switch from users to whoami
    dirstate-v2: actually fix the dirstate-v2 upgrade race
    dirstate: avoid leaking disk space in hg debugrebuilddirstate
    clonebundles: add warning if auto-generate is enabled without formats
    win32mbcs: unbyteify some strings for py3 support
    rust-revlog: fix incorrect results with NULL_NODE prefixes
    rust-revlog: fix for NULL_REVISION

Backwards Compatibility Changes

    infinitepush: aggressively deprecated infinite push
    narrow: indicated the default of 'Yes' when confirming auto-remove-includes

Internal API Changes

    Store walk was reworked to fix small race conditions in stream-clone and
        greatly improve its API robustness and flexibility.


    Typechecking support was improved in a lot of places
    Removed more useless compat code for now unsupported Python versions
    Sped up zstd usage in Rust contexts
    revlog: add an exception hint when processing LFS flags without the extension
    ui: keep the progress bar around when writing if stdout is not a tty
    transaction: use a ".bck" extension for all backup file

Revision 1.50 / (download) - annotate - [select for diffs], Wed Jun 28 10:47:09 2023 UTC (5 months ago) by wiz
Branch: MAIN
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

py-mercurial: update to 6.4.5.

re2: fix reporting of availability in hg debuginstall
ui: fix crash in hg paths when pulled-delta-reuse-policy is in use
path: display proper user facing value for pulled-delta-reuse-policy

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jun 16 22:30:00 2023 UTC (5 months, 1 week ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

py-mercurial: update to 6.4.4.

= Mercurial 6.4.4 =

 * clonebundles: filter out invalid schemes instead of failing on them
 * doc: format argument for date uses strftime format string (issue6818)
 * test: make test-contrib-perf.t more robust
 * revlog: fix a bug in revlog splitting
 * bundles: clarify streaming v2 bundle usage
 * delta-find: fix pulled-delta-reuse-policy=forced behavior
 * dirstate: fall back to v1 if reading v2 failed
 * revlog: avoid possible collision between directory and temporary index

Revision 1.48 / (download) - annotate - [select for diffs], Sun May 7 11:57:40 2023 UTC (6 months, 3 weeks ago) by wiz
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

py-mercurial: update to 6.4.3.

Mercurial 6.4.3

    chg: declare environ (issue6812)
    chg: set CHGHG before connecting to command server
    delta-find: never do anything fancy when general delta is off
    delta-find: add a simple safeguard to prevent bad non-general-delta
    debug-delta: add minimal documentation for devel.bundle-delta option
    fix: highlight the required configuration and behavior of the fixer tools
    rhg: don't print copy source when --no-status is passed
    rhg: correctly relativize copy source path
    repo-upgrade: write new requirement before upgrading the dirstate
    backup: fix issue when the backup end up in a different directory

Revision 1.47 / (download) - annotate - [select for diffs], Sun Apr 23 08:39:15 2023 UTC (7 months ago) by wiz
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

py-mercurial: update to 6.4.2.

Exceptional bugfix release due to a corruption bug that happens
when using clonebundles on repositories with large files.

revlog-split: make sure the self._indexfile attribute is reset (issue6811)

Revision 1.46 / (download) - annotate - [select for diffs], Tue Apr 18 07:46:32 2023 UTC (7 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

py-mercurial: update to 6.4.1.

= Mercurial 6.4.1 =

 * rhg: fix a bug in path encoding
 * rhg: don't crash on empty directory names in path_encode, just in case
 * commands: correct documentation of hg serve --ipv6 options
 * run-tests: remove obsolete coverage check and packaging import (issue6805)
 * chg: populate CHGHG if not set
 * match: sort patterns before compiling them into a regex
 * match: match explicit file using a set
 * rebase: do not cleanup the working copy when --dry-run is used (issue6802)
 * sslutil: set context security level for legacy tls testing (issue6760)

Revision 1.45 / (download) - annotate - [select for diffs], Wed Mar 29 11:29:27 2023 UTC (8 months ago) by wiz
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

py-mercurial: update to 6.4.

New Features

    There is a new internal merge tool called internal:union-other-first.
        It works like internal:union but add other side on top of local.
    Pullbundles are enabled by default
    delta-find: add a way to control the number of bases tested at the same time
    changelog-v2: add a configuration to disable rank computation
    debug: add an option to display statistic about a bundling operation
    debug: add an option to display statistic about a unbundling operation
    delta-find: add a delta-reuse policy that blindly accepts incoming deltas
    debug: add debug-revlog-stats command
    dirstate: add narrow support to verify
    verify: also check dirstate
    commit: add --draft option to use draft phase
    amend: add a --draft option to set phase to draft
    debug: add a config to abort update early
    rhg: implement checkexec to support weird filesystems
    debugshell: allow commands to be specified as a CLI argument
    rhg-files: add support for narrow when specifying a revision
    rust-narrow: enable narrow support for plain rhg files

Bug Fixes

Aside from the following (unordered) commits which made it through a manual filter, there are a bunch of typing improvements and fixes, removal of deprecated code and general code cleanup.

    lfs: improve an exception message for blob corruption detected on transfer
    revlog: use the user facing filename as the display_id for filelogs
    rust-status: query fs traversal metadata lazily
    shelve: add Shelf.changed_files for resolving changed files in a plugin
    demandimport: ensure lazyloaderex sets loader attributes (issue6725)
    typing: fix a syntax error in mercurial/cext/bdiff.pyi
    cffi: fix a bytes vs str issue on macOS when listing directories
    changelog-v2: fix the docket struct
    schemes: fix a broken check for drive letter conflicts
    worker: avoid reading 1 byte at a time from the OS pipe
    rust-narrow: fix loop that never loops
    setup: Ensure target directory exists with building rust extension
    dirstate: invalidate changes when parent-change fails
    dirstate: warn about non-explicitly rolledback parent-change
    dirstate: write dirstate on successful exit of changing_parents context
    largefile: make sure we hold the lock when updating the second dirstate
    dirstate: enforce holding the lock while doing any changes
    run-tests: stop ignoring venv-installed packages
    transaction: run abort callback in all cases
    transaction: quietly rollback if no other changes than temporary files
    debugrebuilddirstate: double check that no transaction is open
    dirstate: do not write an empty dirstate just for backup
    locking: take the wlock for the full hg add duration
    locking: take the wlock for the full hg remove duration
    locking: take the wlock for the full hg forget duration
    locking: take the wlock for the full hg addremove duration
    locking: grab the wlock before touching the dirstate in perfdirstatewrite
    locking: hold the wlock for the full duration of the "keyword demo"
    mq: properly take the wlock during the full qfold operation
    dirstate: invalidate the dirstate change on transaction failure
    status: fix post status writing
    status: fix post status invalidation
    dirstate: avoid transaction backup/restore if we do not hold the lock
    rollback: explicitly skip dirstate rollback when applicable
    dirstate-guard: remove the feature
    dirstate: make restorebackup more robust when it is a noop
    dirstate: generalize the dirstate's invalidation on transaction abort
    dirstate: detect potential fishy transaction patterns while changing
    mq: write the dirstate before stripping
    dirstate: explicitly backup the datafile
    localrepo: enforce a clean dirstate when the transaction open
    localrepo: "blindly" do a dirstate backup at the end of the transaction
    dirstate: remove the dedicated backup logic
    rhg: fix a bug in path_encode
    dirstate: invalidate on all exceptions
    large-files: make sure we write newly initialized standin file early
    dirstate: warn if dirty when starting an edition
    dirstate: track that changes are pending in a transaction
    dirstate: distinct transaction callback from largefile
    automv: lock the repository before searching for renames
    dirstate: only reload the dirstate when it may have changed
    dirstate: cleanup the _map property cache
    status: invalidate dirstate on LockError
    dirstate: check that dirstate is clean at the initial context opening
    dirstate: have running_status write the dirstate when holding the lock
    dirstate: have running_status warn when exiting with a dirty dirstate
    narrow: widden the lock context in tracking
    narrow: enforce that narrow spec is written within a transaction
    transaction: no longer explicitly cache phaseroots
    transaction: no longer explicitly cache bookmarks
    transaction: use the standard transaction mechanism to backup branch
    bundlerepo: handle changegroup induced phase movement in the associated method
    bundlerepo: apply phase data stored in the bundle instead of assuming draft
    config-item: declare undeclared path suboption
    narrow: read pending file when applicable
    rust: fix building on macOS (issue6801)
    run-tests: fix a crash when using the coverage options
    undo-files: also remove the undo.backupfiles
    undo-files: cleanup backup when cleaning undos
    undo-files: clean existing files up before writing new one
    undo-files: cleanup legacy files when applicable
    dirstate-v2: fix an incorrect handling of readdir errors
    rust: update zstd dependency
    rust: upgrade rayon dependency
    dirstate: fix the bug in [status] dealing with committed&ignored directories
    dirstate: fix a potential traceback when in copy and rename
    histedit: fix diff colors
    cext: fix for PyLong refactoring in CPython 3.12
    py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
    statprof: with Python 3.12, lineno is (more) often None
    transaction: properly clean up backup file outside of .hg/store/
    transaction: raise on backup restoration error
    revlog: improve the robustness of the splitting process
    debugdeltachain: stop summing the same chain over and over
    url: don't ignore timeout for https connections
    py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
    tests: accept a test output change in [tests/test-serve.t]
    rust: fix thread cap (for real this time)
    dirstate: try refreshing the changelog when parent are unknown
    hooks: invalidate the repo after the hooks

Backwards Compatibility Changes

    rust: upgrade supported Rust toolchain version
    rust: move all crates in the main workspace to edition 2021
    hg-core: upgrade zstd dependency
    hg-core: upgrade clap dependency
    hg-core: upgrade all remaining dependencies
    hg-cpython: upgrade dependencies
    rhg: upgrade clap dependency
    rhg: upgrade the remainder of the dependencies

Internal API Changes

    Many APIs around the dirstate have been made much stricter with regards to
        locking and transaction handling
    Some dirstate APIs have been renamed/removed
    In both cases, you should get loud complaints in your tests if you do
        something wrong.


    pullbundle support no longer requires setting a server-side option,
        providing a .hg/pullbundles.manifest according to the syntax specified in 'hg help -e clonebundles' is enough.
    debug-delta-find: add a --source option
    delta-find: add debug information about reuse of cached data
    delta-find: set the default candidate chunk size to 10
    attr: vendor 22.1.0
    configitems: add a default value for ""
    debugrevlog: display total stored information
    emitrevision: if we need to compute a delta on the fly, try p1 or p2 first
    emitrevision: consider ancestors revision to emit as available base
    find-delta: pass the cache-delta usage policy alongside the cache-delta
    delta-find: use a smarter object for snapshot caching
    delta-find: use sets instead of list in the snapshot cache
    delta-find: make sure we only use newer full snapshot as candidate
    delta-find: use a single snapshot cache when applying a group to an object
    bundleoperation: optionnaly record the remote that produced the bundle
    bundle: when forcing acceptance of incoming delta also accept snapshot
    bundle: emit full snapshot as is, without doing a redelta
    pathutil: slightly faster path audit in the common case
    merge: don't pay for pathconflicts if there are none
    merge: short-circuit the _checkfs loop upon getting ENOENT
    merge: disable the whole filesystem access loop if [_realfs] is false
    merge: cache the fs checks made during [_checkunknownfiles]
    rust: use logging_timer instead of micro_timer
    rust: run cargo clippy
    makefile: add cargo clippy to tests if cargo is available
    heptapod-ci: add clippy to the CI
    convert: use a priority queue for sorting commits, to make sorting faster
    delta-find: adjust the default candidate group chunk size
    delta-find: declare the "paths..*:pulled-delta-reuse-policy option

Revision 1.44 / (download) - annotate - [select for diffs], Tue Mar 7 11:31:49 2023 UTC (8 months, 3 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

py-mercurial: update to 6.3.3.

Changes: not found, but many test failures fixed.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Jan 9 10:52:34 2023 UTC (10 months, 2 weeks ago) by wiz
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

py-mercurial: update to 6.3.2.

Mercurial 6.3.2

    [ecfc84b956a8] tests: expect the message from 1baf0fffd82f in test-hghave.t (issue6762)
    [5c095119bff4] tests: add the missing space to test-hghave.t (issue6762)
    [2c346c1c75ec] tests: use an all too familiar executable in test-run-tests.t (issue6661)
    [13c0e3b4fd35] tests: use test -f instead of ls to see if a file is present (issue6662)
    [8ced4ca30ea1] bisect: correct message about aborting an in-progress bisect (issue6527)
    filemerge: fix crash when using filesets in [partial-merge-tools]
    help: fix a py3 error interpolating Set into b'%s'
    match: make the FLAG_RE pattern a raw string
    python-compat: adapt to Python 3.11 BC breakage with random.sample
    rust-status: fix thread count ceiling
    hg: show the correct message when cloning an LFS repo with extension disabled
    extensions: process disabled external paths when hgext package is in-memory
    emitrevision: consider ancestors revision to emit as available base
    make: add a target for building pyoxidizer tests on macOS
    run-tests: support --pyoxidized on macOS
    packaging: add dependencies to the PyOxidizer build on macOS
    Miscellaneous test fixes

Revision 1.42 / (download) - annotate - [select for diffs], Fri Nov 25 11:09:07 2022 UTC (12 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

py-mercurial: update to 6.3.1.

Mercurial 6.3.1

    memory-usage: fix hg log --follow --rev R F space complexity (dcb2581e33be)
    Improve portability and robustness of test harness
    hg-core: relax dependencies pinning
    matcher: fix issues regex flag contained in pattern (issue6759)
    matcher: do not prepend '.*' to pattern using ^ after flags
    packaging: refresh dependency hashes (issue6750)
    cffi: fix a bytes vs str issue on macOS when listing directories
    commit: properly consider file include and exclude options when closing branch
    dirstate-v2: do not put the dirstate data file in a transaction

Mercurial 6.3

New Features

    testlib: add --raw-sha1 option to f
    rhg: add config.rhg helptext
    config: add alias from hg help rhg to hg help rust
    rhg: add a config option to fall back immediately
    bundle: introduce a --exact option
    perf-bundle: add a new command to benchmark bundle creation time
    perf-bundle: accept --rev arguments
    perf-bundle: accept --type argument
    perf-unbundle: add a perf command to time the unbundle operation
    perf: introduce a benchmark for delta-find
    contrib: add support for rhel9
    phase-shelve: Implement a '' experimental config
    debug-delta-find: introduce a quiet mode
    sort-revset: introduce a random variant
    phase: introduce a dedicated requirement for the archived phase
    rebase: add boolean config item
    rhg: make [rhg status -v] work when it needs no extra output
    rhg: support "!" syntax for disabling extensions
    rhg: add debugrhgsparse command to help figure out bugs in rhg
    rhg: add sparse support
    rhg-status: add support for narrow clones
    templates: add filter to reverse list
    contrib: add pull_logger extension
    revset: handle wdir() in roots()
    revset: handle wdir() in sort(..., -topo)
    rhg: support tweakdefaults
    rhg: parallellize computation of [unsure_is_modified]

Bug Fixes

    shelve: demonstrate that the state is different across platforms (issue6735)
    shelve: in test for trailing whitespace, strip commit (issue6735)
    shelve: remove strip and rely on prior state (issue6735)
    tests: fix http-bad-server expected errors for python 3.10 (issue6643)
    status: let --no-copies override ui.statuscopies
    releasenotes: use re.MULTILINE mode when checking admonitions
    rhg: fallback to slow path on invalid patterns in hgignore
    Fix a bunch of leftover str/bytes issues from Python 3 migration
    keepalive: ensure close_all() actually closes all cached connections
    lfs: fix blob corruption when tranferring with workers on posix
    lfs: avoid closing connections when the worker doesn't fork
    dirstate-v2: update constant that wasn't kept in sync
    dirstate-v2: fix edge case where entries aren't sorted
    upgrade: no longer keep all revlogs in memory at any point
    rust-status: save new dircache even if just invalidated
    dirstate-v2: hash the source of the ignore patterns as well
    rhg: fallback when encountering ellipsis revisions
    shelve: handle empty parents and nodestoremove in shelvedstate (issue6748)
    profile: prevent a crash when line number is unknown
    tags-fnode-cache: do not repeatedly open the filelog in a loop
    tags-fnode-cache: skip building a changectx in getfnode
    rust: create wrapper struct to reduce regex contention issues

Backwards Compatibility Changes

    chg worker processes will now correctly load per-repository configuration
    phase: rename the requirement for internal-phase from internal-phase to use-internal-phase (see 74fb1842f8b962cf03d7cd5b841dbcf2ae065587)

Revision 1.41 / (download) - annotate - [select for diffs], Mon Oct 10 11:04:11 2022 UTC (13 months, 2 weeks ago) by wiz
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

py-mercurial: update to 6.2.3.

Mercurial 6.2.3

    tests: improve portability, debugging and flakiness
    packaging: update dulwich to drop the certifi dependency on Windows
    rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade

Revision 1.40 / (download) - annotate - [select for diffs], Fri Sep 9 17:24:40 2022 UTC (14 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

py-mercurial: update to 6.2.2.

Mercurial 6.2.2

    fsmonitor: restore functionality by moving to new dirstate APIs
    dirstate-v2: fix data file transaction handling (issue6730)
    rust: fix behavior when matching files with multiple includes
    rust: widen range of compatible crates to help with packaging
    rust-status: ignored directories are now correctly only listed if opted into
    automation: improve Windows packaging tooling
    contrib: update Mercurial install in bootstrap environment
    Remove flakiness in some tests
    Improve portability of certain tar uses in tests

Revision 1.39 / (download) - annotate - [select for diffs], Sun Jul 31 10:50:11 2022 UTC (15 months, 4 weeks ago) by wiz
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

py-mercurial: update to 6.2.1.

Fix SSL support in Python 3.6
git: make sure to fsdecode bookmark names everywhere (issue6723)
git: add a missing reset_copy keyword argument to dirstate.set_tracked()
git: copy findmissingrevs() from to (issue6472)
packaging: update keyring on Windows to avoid spurious stacktraces
packaging: bump dulwich to 0.20.45
Fix typos in documentation for debugdiscovery
Miscellaneous improvements of debugdiscovery

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jul 17 09:51:33 2022 UTC (16 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

py-mercurial: update to 6.2.

This is the first release to support Python 3.6+ only

New Features

    Introduce a way to auto-upgrade a repo for certain requirements (see hg help config.format)
    filemerge: add support for partial conflict resolution by external tool
    contrib: add a partial-merge tool for sorted lists (such as Python imports)
    revlog: reorder p1 and p2 when p1 is null and p2 is not while respecting issue6528
    rhg: add support for ignoring all extensions
    completion: install completers to conventional locations
    revert: ask user to confirm before tracking new file when interactive
    Rust implementation now uses the new dirstate API
    sslutil: be less strict about which ciphers are allowed when using --insecure
    sslutil: support TLSV1_ALERT_PROTOCOL_VERSION reason code
    absorb: make --edit-lines imply --apply-changes
    diff: add help text to highlight the ability to do merge diffs
    censor: make rhg fall back to python when encountering a censored node
    clone: use better names for temp files
    debuglock: make the command more useful in non-interactive mode
    debugdeltachain: distinct between snapshot and other diffs
    debugindex: rename to debugindex debug-revlog-index
    Make debug-revlog-index give out more information
    sparse: use the rust code even when sparse is present

Bug Fixes

    Python 3 bugfixes
    Windows bugfixes
    templates: make firstline filter not keep '\v', '\f' and similar
    rhg: sort unsupported extensions in error message
    Improve performance of all functions that extract the first line of a text
    crecord: avoid duplicating lines when reverting noeol->eol change
    Some config.path options are now discoverable via config
    mail: don't complain about a multi-word email.method
    bundlespec: do not overwrite bundlespec value with the config one
    bundlespec: do not check for - in the params portion of the bundlespec
    bundlespec: handle the presence of obsmarker part
    sparse: start moving away from the global variable for detection of usage
    rust-changelog: don't skip empty lines when iterating over changeset lines
    narrow: support debugupgraderepo
    bundle: quick fix to ludicrous performance penalty
    followlines: don't put Unicode directly into the .js file (issue6559)
    manifest: improve error message in case for tree manifest
    revlog: use %d to format int instead of %lu (issue6565)
    revlog: use appropriate format char for int ("i" instead of I")
    worker: stop relying on garbage collection to release memoryview
    worker: implement _blockingreader.readinto() (issue6444)
    worker: avoid potential partial write of pickled data

Backwards Compatibility Changes

    Removed Python 2 support: this includes a lot of cleanup in our codebase, automation, testing, etc.
    debugindex: rename to debugindex debug-revlog-index


    Fix typos and add missing items from documentation
    dirstate-tree: optimize HashMap lookups with raw_entry_mut
    Rust dependencies have been upgraded
    revlog: rank computation is done by Rust when available
    Improve discovery test tooling
    Audit the number of queries done in discovery
    Improved .hgignore of the mercurial-devel repository itself
    Improve test coverage of dirstate-v2
    rust-requirements: allow loading repos with bookmarksinstore requirement
    Various Rust refactorings to help with revlog management
    Improve debugability of Rust structs
    Improve unit testing of the Rust dirstatemap
    Improve robustness of the Rust dirstatemap to corruption
    Improve changelog-v2 upgrade system

Revision 1.37 / (download) - annotate - [select for diffs], Sun Jul 3 17:52:41 2022 UTC (16 months, 3 weeks ago) by wiz
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

py-mercurial: update to 6.1.4.

Changes not found

Revision 1.36 / (download) - annotate - [select for diffs], Mon Jun 13 10:47:21 2022 UTC (17 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

py-mercurial: update to 6.1.3.

Mercurial 6.1.3


    narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) 6b10151b9621

normal notes:

    censor: fix [hg update] away from a revision with censored files
    amend: stop losing copies when amending
    rhg: strengthen dirstate v2 writing in broken filesystems
    work around some broken DLL imports in Windows
    worker: adapt _blockingreader to work around a python3.8.[0-1] bug (issue6444)
    rhg: correctly handle the case where diffs are encoded relative to nullrev
    fix bugs and race-conditions in the Mercurial test runner
    chg: ignore already closed fds when cleaning up

Revision 1.35 / (download) - annotate - [select for diffs], Tue May 10 07:06:10 2022 UTC (18 months, 2 weeks ago) by wiz
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

py-mercurial: update to 6.1.2.

= Mercurial 6.1.2 =

 * Improve Windows test suite
 * Fix `debuglock` not ignoring a missing lockfile when forcing a lock
 * Improve help of `ui.large-file-limit`
 * Set the large-file-limit to 10MB (from 10MiB) for clarity
 * While rewriting desc hashes, ignore ambiguous prefix "hashes"
 * Fix a crash in partial amend with copies
 * Fix a py3 compatiblity bug
 * Fix incorrect metadata causing dirstate-v2 data loss in edge case
 * Fix cleanup of old dirstate-v2 data files when using `rhg`
 * Make reference to `.hg/last_message.txt` relative in commit
 * Fix an infinite hang when `rhg` is used in the background
 * Fix Python DLL loading bug in Windows
 * Add `--docket` flag to `debugstate` to check out dirstate-v2 metadata
 * Remove `debugdirstateignorepatternhash` in favor of `debugstate --docket`
 * Fix incorrect metadata causing systematic complete dirstate-v2 rewrite

Revision 1.34 / (download) - annotate - [select for diffs], Wed Apr 20 22:14:01 2022 UTC (19 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

py-mercurial: update to 6.1.1.

= Mercurial 6.1.1 =

 * Fix Rust compilation on `aarcch64`
 * Fix Rust compilation on architectures where `char` is unsigned
 * When the merge tool uses `$output`, don't leave markers in `$local`
 * Improve test suite support on big-endian platforms
 * Cap the number of concurrent threads to 16 in Rust `hg status` to prevent huge speed regression at higher thread counts
 * Fix `amend` with copies in extras
 * Abort if commit we're trying to `unamend` was not created by `hg [un]amend`
 * Fix file name in the pullbundle help text
 * Fix an issue with data not being correctly reset in the C implementation of dirstate-v2
 * Fix issue6673 where some tags were missing from cache after a merge
 * Fix stream-cloning a repo with empty requirements
 * Fix a false warning about content-divergence creation
 * Fix silly blackbox entries when hg is interrupted
 * Fix unsoundness (no known exploits) in Rust extensions (see cfd270d83169 and dd6b67d5c256)
 * Fix Rust dirstate counters not being updated correctly leading to some potential bugs (none known)
 * Stop relying on a compiler implementation detail in Rust HgPath

Revision 1.33 / (download) - annotate - [select for diffs], Tue Mar 8 11:05:09 2022 UTC (20 months, 3 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

py-mercurial: update to 6.1.

New Features

    Added a way of specifying required extensions that prevent
    Mercurial from starting if they are not found. See hg help

    Merge conflict markers have been made clearer (see backwards
    compatibility below)

    Improve detailed error codes

    Added a hint about mangled whitespace on bad patch

    Explain which order the commits are presented in chistedit

    Introduce a dirstate-tracked-hint feature to help automation
    keep track of changes to tracked files. See hg help

    Shared repositories can be upgraded if the upgrade is specific
    to the share. For now, this only applies to dirstate-v2 and

    When using the narrow extension, non-conflicting changes to
    files outside of the narrow specification can now be merged.

    When cloning a repository using stream-clone, the client can
    now control the repository format variants to use as long as
    the stream content does not restrict that variant.

Default Format Change

These changes affect newly created repositories (or new clones)
done with Mercurial 6.1.

    The share-safe format variant is now enabled by default. It
    makes configuration and requirements more consistent across
    repository and their shares. This introduces a behavior change
    as shares from a repository using the new format will also use
    their main repository's configuration. See hg help
    config.format.use-share-safe for details about the feature and
    the available options for auto-upgrading existing shares.

New Experimental Features

    The pure Rust version of Mercurial called rhg added support
    for most common invocations of hg status. See hg help rust.rhg
    for details on how to try it out.

    rhg supports narrow clones and sparse checkouts.

Bug Fixes

    Obsolete revisions are skipped while computing heads. In
    conjunction with the evolve extension >= 10.5.0, this leads to
    massive exchange (push/pull) speedups in repositories with a
    lot of heads and/or obsolete revisions.

    Stream-clones now properly advertise all requirements needed.
    This can result in the stream-clone feature being disabled for
    some clients using < 6.0.2. A small bugfix patch for these
    older client is available if necessary.

    The --no-check and --no-merge flags now properly overwrite the
    behavior from commands.update.check

    rhg's fallback detection is more robust in general in the
    presence of more advanced configs

    rhg's blackbox now supports milliseconds by default and uses
    the same ISO 8601 format as the Python implementation

    Fix rhg crash on non-generaldelta revlogs

    The lfs, largefiles and sparse extensions now correctly take
    the appropriate lock before writing requirements

    The notify extension does not produce errors anymore if a
    revision is not found

    Remove unnecessary and overly strict check for divergence in
    hg fix

    Windows compatibility improvements

    Miscellaneous Python 3 and typing improvements

    Many other small or internal fixes

Backwards Compatibility Changes

    The use of share-safe, means shares (of new repositories) will
    also use their main repository's configuration see the Default
    Format Change section for details.

    The fix to stream-clone requirements advertising means some
    requirements previously (wronly) omitted are now sent. This
    can confuse client using a Mercurial version < 6.0.2. The client
    would consider these requirements unsupported even if it actually
    know them. If you encounter this, either upgrade your client
    or apply the necessary patch.

    The labels passed to merge tools have changed slightly. Merge
    tools can get labels passed to them if you include $labellocal,
    $labelbase, and/or $labelother in the merge-tool.<tool name>.args
    configuration. These labels used to have some space-padding,
    and truncation to fit within 72 columns. Both the padding and
    the truncation has been removed.

    Some of the text in labels passed to merge tools has changed.
    For example, in conflicts while running hg histedit, the labels
    used to be "local", "base", and "histedit". They are now "already
    edited", "parent of current change", and "current change",

    The computation of namedbranch heads now ignores obsolete
    revisions. User of the Changeset Evolution feature may see a
    change in location and numbers of heads of each named branches
    (and topic).

    The remotefilelog extension now requires an appropriate
    excludepattern for subrepositories.

    debugsparse's interface has been reworked to be more flexible.
    Since it's a debug command it is not actually a breaking change,
    but it is worth noting here.

    Temporary files for merges are now all inside a hgmerge directory
    instead of at the root of TMPDIR. The corresponding experimental
    mergetempdirprefix config option has been removed.

Internal API Changes

    The dirstate API received minor modifications.


    Removed exchange-v2. It was a prototype that had never been in
    a working state and had been left untouched since 2017.

Revision 1.32 / (download) - annotate - [select for diffs], Sun Feb 20 22:06:44 2022 UTC (21 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

py-mercurial: update to 6.0.3.

Changes not found.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Feb 15 10:21:30 2022 UTC (21 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

py-mercurial: update to 6.0.2.

Mercurial 6.0.2

* Fix hg incoming and hg outgoing with remote subrepos on Windows
* Fix Rust build on MacOS
* Fix a (15 year old?) bug where some data loss could happen in
  a very tight race window
* Remove support for running hg unamend on merge changesets at
  it was never actually implemented
* Fix stream-clone requirements filtering which caused some
  stream-clones to be unusable from an older version of Mercurial
* Rename dirstate-v2 configuration name from exp-rc-dirstate-v2
  to use-dirstate-v2. This was overlooked in 6.0, the old name
  will be kept as an alias for compatibility.
* Fix a bug where the branchmap could point to uncommitted data

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jan 16 23:51:14 2022 UTC (22 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

py-mercurial: update to 6.0.1.

Changes not found.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Nov 28 10:36:14 2021 UTC (2 years ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

py-mercurial: update to 6.0.

== New Features ==
  * `debugrebuildfncache` now has an option to rebuild only the index files
  * a new `bookmarks.mode` path option have been introduced to control the
    bookmark update strategy during exchange with a peer. See `hg help paths` for
  * a new `bookmarks.mirror` option has been introduced. See `hg help bookmarks`
   for details.
  * more commands support detailed exit codes when config `ui.detailed-exit-codes` is enabled

== Default Format Change ==

== New Experimental Features ==

 * '''Major feature''': version 2 of the dirstate is available (the first version is as old as Mercurial itself). It allows for much faster working copy inspection (status, diff, commit, update, etc.) and richer information (symlink and exec info on Windows, etc.). The format has been frozen with room for some future evolution and the current implementations (Python, Python + C, Python + Rust or pure Rust) should be compatible with any future change or optimization that the format allows. You can get more information [[ | in the internal documentation]]
 * Added a new `web.full-garbage-collection-rate` to control performance. See
   de2e04fe4897a554b9ef433167f11ea4feb2e09c for more information
 * Added a new `histedit.later-commits-first` option to affect the ordering of commits in `chistedit` to match the order in `hg log -G`. It will affect the text-based version before graduating from experimental.

== Bug Fixes ==

 * `hg fix --working-dir` now correctly works when in an uncommitted merge state
 * Unintentional duplicated calls to `hg fix`'s internals were removed, making it potentially much faster
 * `rhg cat` can be called without a revision
 * `rhg cat` can be called with the `.` revision
 * `rhg cat` is more robust than before with regards to edge cases. Some still remain like a tag or bookmark that is ambiguous with a nodeid prefix, only nodeids (prefixed or not) are supported as of now.
 * `rhg cat` is even faster
 * `rhg` (Rust fast-path for `hg`) now supports the full config list syntax
 * `rhg` now parses some corner-cases for revsets correctly
 * Fixed an `fsmonitor` on Python 3 during exception handling
 * Lots of Windows fixes
 * Lots of miscellaneous other fixes
 * Removed a CPython-specific compatibility hack to improve support for alternative Python implementations

Revision 1.28 / (download) - annotate - [select for diffs], Thu Oct 28 11:46:42 2021 UTC (2 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

py-mercurial: update to 5.9.3.

Changes not found.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Oct 13 12:35:29 2021 UTC (2 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

py-mercurial: update to 5.9.2.

Changes not found.

Fix four test failures while here.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Sep 12 10:22:57 2021 UTC (2 years, 2 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

py-mercurial: update to 5.9.1.

Changes not found.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Aug 30 17:55:25 2021 UTC (2 years, 2 months ago) by wiz
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

py-mercurial: update to 5.9.

== New Features ==

 * `hg config` now has a `--source` option to show where each
   configuration value comes from.

== Internal API Changes ==

The Dirstate API have been updated as the previous function leaked some
internal details and did not distinct between two important cases: "We are
changing parent and need to adjust the dirstate" and "some command is changing
which file is tracked". To clarify the situation:

* the following functions have been deprecated,

  - dirstate.add,
  - dirstate.normal,
  - dirstate.normallookup,
  - dirstate.merge,
  - dirstate.otherparent,
  - dirstate.remove,
  - dirstate.drop,

* these new functions are added for the "adjusting parents" use-case:

  - dirstate.update_file,
  - dirstate.update_file_p1,

* these new function are added for the "adjusting wc file" use-case":

  - dirstate.set_tracked,
  - dirstate.set_untracked,
  - dirstate.set_clean,
  - dirstate.set_possibly_dirty,

See inline documentation of the new functions for details.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jul 15 12:37:02 2021 UTC (2 years, 4 months ago) by wiz
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

py-mercurial: update to 5.8.1.

Changes not found.

Revision 1.23 / (download) - annotate - [select for diffs], Thu May 20 09:08:27 2021 UTC (2 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

py-mercurial: update to 5.8.

== New Features ==

 * `hg purge` is now a core command using `--confirm` by default.

 * The `rev-branch-cache` is now updated incrementally whenever changesets
   are added.

 * The new options `experimental.bundlecompthreads` and
   `experimental.bundlecompthreads.<engine>` can be used to instruct
   the compression engines for bundle operations to use multiple threads
   for compression. The default is single threaded operation. Currently
   only supported for zstd.

== Default Format Change ==

These changes affects newly created repositories (or new clone) done with
Mercurial 5.8.

  * The `ZSTD` compression will now be used by default for new repositories
    when available. This compression format was introduced in Mercurial 5.0,
    released in May 2019. See `hg help config.format.revlog-compression` for

  * Mercurial installation built with the Rust parts will now use the
    "persistent nodemap" feature by default. This feature was introduced in
    Mercurial 5.4 (May 2020). However Mercurial installation built without the
    fast Rust implementation will refuse to interact with them by default.
    This restriction can be lifted through configuration.

    See `hg help config.format.use-persistent-nodemap` for details

== New Experimental Features ==

 * There's a new `diff.merge` config option to show the changes
    relative to an automerge for merge changesets. This makes it
    easier to detect and review manual changes performed in merge
    changesets. It is supported by `hg diff --change`, `hg log -p`
    `hg incoming -p`, and `hg outgoing -p` so far.

== Bug Fixes ==

 * gracefully recover from inconsistent persistent-nodemap data from disk.

== Backwards Compatibility Changes ==

 * In normal repositories, the first parent of a changeset is not null,
   unless both parents are null (like the first changeset). Some legacy
   repositories violate this condition. The revlog code will now
   silentely swap the parents if this condition is tested. This can
   change the output of `hg log` when explicitly asking for first or
   second parent. The changesets "nodeid" are not affected.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Mar 17 11:23:52 2021 UTC (2 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

py-mercurial: update to 5.7.1.

Changes not found.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Feb 4 23:15:33 2021 UTC (2 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

py-mercurial: update to 5.7

== New Features ==

 * There is a new config section for templates used by hg commands. It
   is called `[command-templates]`. Some existing config options have
   been deprecated in favor of config options in the new
   section. These are: `ui.logtemplate` to `command-templates.log`,
   `ui.graphnodetemplate` to `command-templates.graphnode`,
   `ui.mergemarkertemplate` to `command-templates.mergemarker`,
   `ui.pre-merge-tool-output-template` to

 * There is a new set of config options for the template used for the
   one-line commit summary displayed by various commands, such as `hg
   rebase`. The main one is `command-templates.oneline-summary`. That
   can be overridden per command with
   `command-templates.oneline-summary.<command>`, where `<command>`
   can be e.g. `rebase`. As part of this effort, the default format
   from `hg rebase` was reorganized a bit.

 * `hg strip`, from the strip extension, is now a core command, `hg
   debugstrip`. The extension remains for compatibility.

 * `hg diff` and `hg extdiff` now support `--from <rev>` and `--to <rev>`
   arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been

 * The memory footprint per changeset during pull/unbundle
   operations has been further reduced.

 * There is a new internal merge tool called `internal:mergediff` (can
   be set as the value for the `merge` config in the `[ui]`
   section). It resolves merges the same was as `internal:merge` and
   `internal:merge3`, but it shows conflicts differently. Instead of
   showing 2 or 3 snapshots of the conflicting pieces of code, it
   shows one snapshot and a diff. This may be useful when at least one
   side of the conflict is similar to the base. The new marker style
   is also supported by "premerge" as

 * External hooks are now called with `HGPLAIN=1` preset.  This has the side
   effect of ignoring aliases, templates, revsetaliases, and a few other config
   options in any `hg` command spawned by the hook.  The previous behavior
   can be restored by setting HGPLAINEXCEPT appropriately in the parent process.
   See `hg help environment` for the list of items, and how to set it.

 * The `branchmap` cache is updated more intelligently and can be
   significantly faster for repositories with many branches and changesets.

== New Experimental Features ==

* `experimental.single-head-per-branch:public-changes-only` can be used
  restrict the single head check to public revision. This is useful for
  overlay repository that have both a publishing and non-publishing view
  of the same storage.

== Backwards Compatibility Changes ==

 * `--force-lock` and `--force-wlock` options on `hg debuglock` command are
   renamed to `--force-free-lock` and `--force-free-wlock` respectively.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Dec 6 11:37:33 2020 UTC (2 years, 11 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

py-mercurial: update to 5.6.1.

Changes not found.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Nov 9 14:42:46 2020 UTC (3 years ago) by wiz
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

py-mercurial: update to 5.6.

Changes: not documented.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Oct 6 17:50:47 2020 UTC (3 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

py-mercurial: update to 5.5.2.

Make py-expat a full dependency, it is used (indirectly) by an
installed file.

Update rust cargo files list; however, two still don't fetch so keep
rust option disabled.

Mercurial 5.5.2 (2020-10-2)

Regularly scheduled bug fix release.

1.1. commands

    log: fix crash and bad filematcher lookup by -fr'wdir()' PATH

1.2. unsorted

    hgdemandimport: bypass demandimport for _ast module (issue6407)
    hgdemandimport: exclude more sqlalchemy modules

    strip: with --keep, consider all revs "removed" from the wcp (issue6270)

Revision 1.17 / (download) - annotate - [select for diffs], Sun Sep 13 11:04:41 2020 UTC (3 years, 2 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

py-mercurial: update to 5.5.1.

Mercurial 5.5.1 (2020-09-1)

Regularly scheduled bug fix release.

1.1. bug fixes

    keepalive: Do not append _rbuf if _raw_readinto exists (issue6356)

Revision 1.16 / (download) - annotate - [select for diffs], Mon Aug 3 21:34:20 2020 UTC (3 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Update Mercurial to 5.5:

== New Features ==

 * clonebundles can be annotated with the expected memory requirements
   using the `REQUIREDRAM` option. This allows clients to skip
   bundles created with large zstd windows and fallback to larger, but
   less demanding bundles.

 * The `phabricator` extension now provides more functionality of the
   arcanist CLI like changing the status of a differential.

 * Phases processing is much faster, especially for repositories with
   old non-public changesets.

== New Experimental Features ==

 * The core of some hg operations have been (and are being)
   implemented in rust, for speed. `hg status` on a repository with
   300k tracked files goes from 1.8s to 0.6s for instance.
   This has currently been tested only on linux, and does not build on
   windows. See rust/README.rst in the mercurial repository for
   instructions to opt into this.

 * An experimental config `rewrite.empty-successor` was introduced to control
   what happens when rewrite operations result in empty changesets.

== Bug Fixes ==

 * For the case when connected to a TTY, stdout was fixed to be line-buffered
   on Python 3 (where it was block-buffered before, causing the process to seem
   hanging) and Windows on Python 2 (where it was unbuffered before).

 * Subversion sources of the convert extension were fixed to work on Python 3.

 * Subversion sources of the convert extension now interpret the encoding of
   URLs like Subversion. Previously, there were situations where the convert
   extension recognized a repository as present but Subversion did not, and
   vice versa.

 * The empty changeset check of in-memory rebases was fixed to match that of
   normal rebases (and that of the commit command).

 * The push command now checks the correct set of outgoing changesets for
   obsolete and unstable changesets. Previously, it could happen that the check
   prevented pushing changesets which were already on the server.

== Backwards Compatibility Changes ==

 * Mercurial now requires at least Python 2.7.9 or a Python version that
   backported modern SSL/TLS features (as defined in PEP 466), and that Python
   was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2
   (likely this requires the OpenSSL version to be at least 1.0.1).

 * The `hg perfwrite` command from contrib/ was made more flexible and
   changed its default behavior. To get the previous behavior, run `hg perfwrite
   --nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`.

 * The absorb extension now preserves changesets with no file changes that can
   be created by the commit command (those which change the branch name
   compared to the parent and those closing a branch head).

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jun 9 07:07:13 2020 UTC (3 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

py-mercurial: update to 5.4.1.

Changes not found, but at least some of the pkgsrc patches are
not needed any longer.

Revision 1.14 / (download) - annotate - [select for diffs], Tue May 5 12:12:47 2020 UTC (3 years, 6 months ago) by wiz
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

py-mercurial: update to 5.4.

Add links to bug reports about test failures.

I think these are the news:

== New Features ==

 * `hg purge`/`hg clean` can now delete ignored files instead of
   untracked files, with the new -i flag.

 * `hg pull` now has a `--confirm` flag to prompt before applying changes.
   Config option `pull.confirm` is also added for that.

 * `hg log` now defaults to using an '%' symbol for commits involved
    in unresolved merge conflicts. That includes unresolved conflicts
    caused by e.g. `hg update --merge` and `hg graft`. '@' still takes
    precedence, so what used to be marked '@' still is.

 * New `conflictlocal()` and `conflictother()` revsets return the
   commits that are being merged, when there are conflicts. Also works
   for conflicts caused by e.g. `hg graft`.

 * `hg copy --forget` can be used to unmark a file as copied.

 * The `format.revlog-compression` configuration entry now accept a list. The
   first available option will be used. for example setting::

     revlog-compression=zstd, zlib

   Will use `zstd` compression for new repositories is available, and will
   simply fall back to `zlib` if not.

 * `hg debugmergestate` output is now templated, which may be useful
   e.g. for IDEs that want to help the user resolve merge conflicts.

== New Experimental Features ==

 * `hg copy` now supports a `--at-rev` argument to mark files as
   copied in the specified commit. It only works with `--after` for
   now (i.e., it's only useful for marking files copied using non-hg
   `cp` as copied).

 * Use `hg copy --forget --at-rev REV` to unmark already committed

== Bug Fixes  ==

 * Fix server exception when concurrent pushes delete the same bookmark

 * Prevent pushes of divergent bookmarks (foo@remote)

 * The push error "remote repository changed while pushing - please
   try again" now only happens when a concurrent push changed related
   heads (instead of when a concurrent pushed any revision).

== Backwards Compatibility Changes ==

 * When `hg rebase` pauses for merge conflict resolution, the working
   copy will no longer have the rebased node as a second parent. You
   can use the new `conflictparents()` revset for finding the other
   parent during a conflict.

 * `hg rebase` now accepts repeated `--source` and `--base`
   arguments. For example, `hg rebase --source 'A + B'` is equivalent
   to `hg rebase --source A --source B`. This is a
   backwards-incompatible change because it will break overriding an
   alias `myrebase = rebase --source A` by `hg myrebase --source B`
   (it will now rebase `(A + B)::` instead of `B::`).

 * `hg recover` does not verify the validity of the whole repository
   anymore. You can pass `--verify` or call `hg verify` if necessary.

 * `hg debugmergestate` output format changed. Let us know if that is
   causing you problems and we'll roll it back.

 * Resolved merge conflicts are now cleared by `hg commit` even if the
   working copy has no changes.

== Internal API Changes ==

 * The deprecated `ui.progress()` has now been deleted. Please use
   `ui.makeprogress()` instead.

 * `hg.merge()` now takes a `ctx` instead of the previous `repo` and
   `node` arguments.

 * `hg.merge()` has lost its `abort` argument. Please call
   `hg.abortmerge()` directly instead.

 * `hg.merge()` has lost its `mergeforce` argument. It should have
   only ever been called with the same value as the `force` argument.

 * The `*others` argument of `cmdutil.check_incompatible_arguments()`
   changed from being varargs argument to being a single collection.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Apr 6 10:27:31 2020 UTC (3 years, 7 months ago) by wiz
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

py-mercurial: update to 5.3.2.

Changes not found.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Mar 11 09:29:10 2020 UTC (3 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

py-mercurial: update to 5.3.1.

Regular bug fix release.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Feb 9 14:59:08 2020 UTC (3 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

py-mercurial: update to 5.3.

== New Features ==

 * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d.

== Bug Fixes  ==

 * The `indent()` template function was documented to not indent empty lines,
   but it still indented the first line even if it was empty. It no longer does

== Internal API Changes ==

 * Matcher instances no longer have a `explicitdir` property. Consider
   rewriting your code to use `repo.wvfs.isdir()` and/or
   `ctx.hasdir()` instead. Also, the `traversedir` property is now
   also called when only `explicitdir` used to be called. That may
   mean that you can simply remove the use of `explicitdir` if you
   were already using `traversedir`.

 * The `revlog.nodemap` object have been merged into the `revlog.index` object.
   * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`,
   * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`,
   * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`.

 * `copies.duplicatecopies()` was renamed to
   `copies.graftcopies()`. Its arguments changed from revision numbers
   to context objects. It also lost its `repo` and `skip` arguments
   (they should no longer be needed).

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jan 16 14:32:50 2020 UTC (3 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

py-mercurial: update to 5.2.2.

Changes not documented.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Jan 4 20:28:08 2020 UTC (3 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.8: +1 -4 lines
Diff to previous 1.8 (colored)

mercurial: remove outdated comments

Revision 1.8 / (download) - annotate - [select for diffs], Sat Jan 4 20:21:15 2020 UTC (3 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.7: +2 -3 lines
Diff to previous 1.7 (colored)

py-mercurial: update to 5.2.1.

Enable python-3.x support in pkgsrc.

Changes in 5.2.1:
Changes not documented.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 13 12:26:40 2019 UTC (4 years ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

py-mercurial: update to 5.2.

Feature release.

Backwards Compatibility Changes

* The infinitepush extension is believed to be unused, and will be
deleted at the end of 2020 unless users contact

* 'hg grep' now searches working copy file contents by default. We
recognize this is a significant change from past behavior, but
surveys of large bodies of users indicated nobody used (and almost
nobody understood) the previous no-flags behavior of 'hg grep'.
The new behavior aligns with the behavior most users expected
(including hg's maintainers), which also happens to be the behavior
of 'git grep'. Given that the old behavior was confusing to the
point of being unusable, we were comfortable changing this behavior.

API Changes ===========

* 'mercurial.hg.update*' and 'mercurial.merge.update' now expect
a value from a set of NAMED_CONSTANTS ('merge.UPDATECHECK_*'
constants) rather than a collection of magic strings. As of now,
the values are the same, but code should be prepared for these
values to change in the future.

* 'mercurial.hg.updatetotally' is now more thorough about checking
its 'updatecheck' keyword argument. Previously invalid values would
have used the configured default updatecheck method, but now will
raise ValueError.

* 'mercurial.bookmarks.bmstore' no longer has a convenience method
for looking up changectx instances from a bookmark name. Use
'repo[repo.bookmarks[name]]' intead of 'repo.bookmarks.changectx(name)'.

1.1. commands

    amend: add option to update to the current user
    amend: enable support for closing the branch
    amend: enable support for using the secret phase
    bookmarks: actual fix for race condition deleting bookmark
    bookmarks: remove changectx() method from bmstore (API)
    branchmap: explicitly warm+write all subsets of the branchmap caches
    import: add debug messages when parsing data from patch header
    import: read X-Mercurial-Node email header to determine nodeid
    log: populate keywords if specified in custom -Tjson(...) or -Tcbor(...)
    merge: replace magic strings with NAMED_CONSTANTS (API)
    push: support config option to require revs be specified when running push

1.2. core

    exchange: abort on pushing bookmarks pointing to secret changesets (issue6159)
    exchange: avoid unnecessary conversion of bookmark nodes to hex (API)
    revlog: add a 'sidedata' parameters to addrevision
    revlog: add a way to control sidedata changes during revlog.clone
    revlog: add the appropriate flag is sidedata are passed to 'addrevision'
    revlog: assign rawtext earlier in '_revisiondata'
    revlog: avoid caching raw text too early in _revisiondata
    revlog: deprecate the use of 'revision(..., raw=True)'
    revlog: drop silly 'raw' parameter to 'rawdata' function
    revlog: explicitly set revlogv0 in vfs options
    revlog: introduce a 'sidedata' method
    revlog: move 'nullid' early return sooner in '_revisiondata'
    revlog: return sidedata map from '_revisiondata'
    revlog: stop calling 'basetext' 'rawtext' in _revisiondata
    revlog: stop using '_processflags' directly
    revlog: use the new sidedata map return in the sidedata method
    templatefuncs: account for user's diffopts in diff() (BC)
    ui: option to preserve the progress bar

1.3. extensions

    eol: don't fallback to use .hgeol from tip (BC)
    largefiles: use context manager for setting "lfstatus" on subrepos too
    rebase: track new nodes when --keep is set
    unshelve: abort on using --keep and --interactive together
    unshelve: add abort on using continue and interactive together
    unshelve: changes how date is set on interactive mode
    unshelve: create a matcher only if required on creating unshelve ctx
    unshelve: delete shelvedstate after a successful unshelve --continue
    unshelve: forget unknown files after a partial unshelve
    unshelve: handle stripping changesets on interactive mode
    unshelve: store information about interactive mode in shelvedstate
    unshelve: unify logic around creating an unshelve changeset

1.4. unsorted

    automation: add a command to submit to a Try server
    automation: support and use Debian Buster by default
    changelog: make copies related function return None or a valid value
    continue: added support for transplant
    copies: remove existing copy info from the changeset on amend (BC)
    demandimport: explicitly declare '_session' at the module level
    discovery: replace "heads" by "changesets" in a output note (BC)
    fastannotate: remove support for flock() locking
    fix: warn when a fixer doesn't have a configured command
    flagprocessors: deprecate _processflags
    flagprocessors: have the read transform function return side data (API)
    flagprocessors: writetransform function take side data as parameter (API)
    flagutil: move REVIDX_KNOWN_FLAGS source of truth in flagutil (API)
    flagutil: move addflagprocessor to the new module (API)
    flagutil: move insertflagprocessor to the new module (API)
    format: format, which recently regressed
    grep: enable all-files by default (BC)
    hg: have 'updatetotally' more thoroughly check updatecheck argument (API)
    infinitepush: mark extension as likely to be deleted
    narrow: don't hexify paths and double-hexify known nodes on wire (BC)
    narrow: drop server support for widening using the getbundle command (BC)
    notify: add option for deterministic message-id generation

    py3: prevent comparison with None in curses histedit (issue6196)

    python-zstandard: apply big-endian fix (issue6188)
    remotefilelog: reduce probability of race-condition in remotefilelog tests
    rust-dirstate-status: add call to rust-fast path for 'dirstate.status'
    rust-dirstate-status: rust-cpython bindings for 'dirstate.status'
    rust-dirstate-status: use fast-path even with fsmonitor and sparse extensions
    rust-discovery: optionally don't randomize at all, for tests
    sidedata: introduce a new requirement to protect the feature

    split: handle partial commit of renames when doing split or record (issue5723)
    sshserver: flush stream after command dispatch

    test: allow different result for zstd compression (issue6188)
    transplant: added support for --stop flag
    uncommit: add options to update to the current user or current date
    uncommit: add support to modify the commit message and date
    uncommit: drop the hyphen from --current-user and --current-date
    uncommit: enable support for adding a note
    uncommit: make -D/--date and -U/--user mutually exclusive

1.5. Behavior Changes

    copies: remove existing copy info from the changeset on amend (BC)
    discovery: replace "heads" by "changesets" in a output note (BC)
    eol: don't fallback to use .hgeol from tip (BC)
    grep: enable all-files by default (BC)
    narrow: don't hexify paths and double-hexify known nodes on wire (BC)
    narrow: drop server support for widening using the getbundle command (BC)
    templatefuncs: account for user's diffopts in diff() (BC)

1.6. Internal API Changes

    bookmarks: remove changectx() method from bmstore (API)
    exchange: avoid unnecessary conversion of bookmark nodes to hex (API)
    flagprocessors: have the read transform function return side data (API)
    flagprocessors: writetransform function take side data as parameter (API)
    flagutil: move REVIDX_KNOWN_FLAGS source of truth in flagutil (API)
    flagutil: move addflagprocessor to the new module (API)
    flagutil: move insertflagprocessor to the new module (API)
    hg: have 'updatetotally' more thoroughly check updatecheck argument (API)
    merge: replace magic strings with NAMED_CONSTANTS (API)

Revision 1.6 / (download) - annotate - [select for diffs], Thu Oct 10 14:15:10 2019 UTC (4 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

py-mercurial: update to 5.1.2.

1. Mercurial 5.1.2 (2019-10-02)

Regularly scheduled bug fix release.

1.1. extensions

  phabricator: don't abort if property writing fails during amending

1.2. tests

  test: allow different result for zstd compression (issue6188)

2. Mercurial 5.1.1 (2019-09-05)

Regularly scheduled bug fix release.

2.1. commands

  bookmarks: actual fix for race condition deleting bookmark

2.2. core

  exchange: abort on pushing bookmarks pointing to secret changesets (issue6159)
  python-zstandard: apply big-endian fix (issue6188)
  fncache: make debugrebuildfncache not fail on broken fncache

2.3. tests

  various test runner fixes
  fixed use of tr --delete for tr(1) portability

Revision 1.5 / (download) - annotate - [select for diffs], Mon Sep 2 13:19:40 2019 UTC (4 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)


Revision 1.4 / (download) - annotate - [select for diffs], Fri Aug 16 12:59:02 2019 UTC (4 years, 3 months ago) by wiz
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

py-mercurial: update to 5.1.

This is an overview of the 5.1 release.

1. New Features

    New config shows status after
    successful commit.

    hg root now has templating support, including support for
    showing where a repo share's source is. See hg help -v root
    for details.

    New --force-close-branch flag for hg commit to forcibly close
    branch from a non-head changeset.

    The curses-based interface for commands like hg commit -i now
    supports a range-select mechanism. Select the first line using
    space like before, navigate to the last line, and press X
    (capital x) to set all items in the range at once. Lowercase
    x has been added as a synonym for space to help reinforce the
    mechanism, and pressing enter/return continues to be a synonym
    for "toggle the current line and move down to the next item in
    this section."

2. New Experimental Features

    New config experimental.log.topo makes hg log -G use topological
    sorting. This is especially useful for aliases since it lets
    the alias accept an -r option while still using topological
    sorting with or without the -r (unlike if you use the `sort(...,
    topo)` revset).

3. Bug Fixes

    issue4292: "hg log and {files} {file_adds} {file_mods} {file_dels}
    in template show wrong files on merged revision". See details
    in "Backwards Compatibility Changes".

4. Backwards Compatibility Changes

    Removed (experimental) support for log graph lines mixing
    parent/grandparent styles. Setting e.g. experimental.graphstyle.parent
    = ! and experimental.graphstyle.grandparent = 3. would use !
    for the first three lines of the graph and then .. This is no
    longer supported.

    If ui.origbackuppath had been (incorrectly) configured to point
    to a file, we will now replace that file by a directory and
    put backups in that directory. This is similar to how we would
    previously replace files *in* the configured directory by

    Template keyword {file_mods}, {file_adds}, and {file_dels} have
    changed behavior on merge commits. They used to be relative to
    the first parent, but they now consider both parents. {file_adds}
    shows files that exists in the commit but did not exist in
    either parent. {file_dels} shows files that do not exist in
    the commit but existed in either parent. {file_mods} show the
    remaining files from {files} that were not in the other two

5. Internal API Changes

    Matchers are no longer iterable. Use match.files() instead.

    match.visitdir() and match.visitchildrenset() now expect the
    empty string instead of '.' to indicate the root directory.

    util.dirs() and util.finddirs() now include an entry for the
    root directory (empty string).

    shelve is no longer an extension now. it will be turned on by

    New API to manage unfinished operations: Earlier there were
    distinct APIs which dealt with unfinished states and separate
    lists maintaining them that are cmdutil.afterresolvestates,
    cmdutil.unfinishedstates and cmdutil.STATES. Now these have
    been unified to a single API which handles the various states
    and their utilities. This API has been added to Now
    instead of adding to these 3 lists independently a state for
    a new operation can be registered using addunfinished() in
    state module.

    cmdutil.checkunfinished() now includes detection for merge too.
    merge abort has been disallowed in case an operation of higher
    precedence is in progress to avoid cases of partial abort of

    We used to automatically attempt to make extensions compatible
    with Python 3 (by translating their source code while loading
    it). We no longer do that.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jul 14 10:59:35 2019 UTC (4 years, 4 months ago) by wiz
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

py-mercurial: update to 5.0.2.

As a bonus, changes for 5.0.1 which were not available at the time of the release.

Mercurial 5.0.2

A regularly scheduled bugfix release.

1. commands

    Help fixes on hg mv and hg cp

2. unsorted

    debugrevlog: fix average size computation for empty data (issue6167)

    Fix an obscure data corruption bug with musl libc (and presumably others). See the fix for more details.

Mercurial 5.0.1

A regularly scheduled bugfix release.

1. commands

    bookmark: also make bookmark cache depends of the changelog

    commit: allow --interactive to work again when naming a directory (issue6131)

2. unsorted

    manifest: avoid corruption by dropping removed files with pure (issue5801)

    sslutil: fsencode path returned by certifi (issue6132)

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 17 05:33:10 2019 UTC (4 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

py-mercurial: update to 5.0.1.

Changes not documented.

Revision 1.1 / (download) - annotate - [select for diffs], Tue May 21 20:55:02 2019 UTC (4 years, 6 months ago) by wiz
Branch: MAIN

mercurial: update to 5.0

Still building with python-2.7 only, but this version has beta support
for python 3.x.

Mercurial 5.0 release

This is an overview of the 5.0 release.

1. New Features

    ui.relative-paths option for getting relative path output from most commands. This is enabled when ui.tweakdefaults is enabled.

    expectsize() revset errors out if revset has unexpected number of elements.

    config() template function for getting a config value.

    {negrev} template keyword shows the negative revision number. This is convenient because it is usually shorter than the positive number, but note that it is less stable.

    hg uncommit now has an --allow-dirty-working-copy option.

    hg shelve now has --keep option, which shelves but also leaves the working directory unchanged.

    hg diff will now include specified files in subrepos.

    hg recover now has a --no-verify option

1.1. Python 3 Support (Beta)

Mercurial 5.0 has beta level support for running on Python 3.5, 3.6, and 3.7. The Mercurial distribution itself and all extensions bundled with it should work on these Python versions.

To use Mercurial with Python 3, invoke with a Python 3 interpreter or set the PYTHON variable to a Python 3 interpreter when invoking the Makefile. e.g. python3.7 install or make install-home PYTHON=python3.7.

3rd party extensions will likely need to be ported to support running on Python 3 and attempts to run many existing extensions with a Python 3 powered Mercurial will result in extension loading failures. See the Python3 page for more.

While the Mercurial test suite has a >99% pass rate when running with Python 3.5, 3.6, and 3.7, we anticipate that there are still many Python 3 bugs lingering in Mercurial. Please report Python 3 issues using the instructions at BugTracker.

If you package Mercurial or distribute it to users, we do not recommend making Python 3 the default at this time.

Python 3 is not yet very well tested on Windows and there are likely several more lingering issues on Windows compared to Linux, macOS, and other UNIX-like platforms.

1.2. Updated Windows Installers

Windows installer packaging has been transitioned away from ad-hoc processes employed on individual contributors' personal machines to occurring in reproducible infrastructure driven by code in the Mercurial repository itself. This transition should enable Windows packaging and releasing to be more reliable and reproducible.

As part of this transition, there are changes to the Windows installers.

1.2.1. Inno Setup .exe Installer Changes

    Python has been upgraded from 2.7.15 to 2.7.16
    add_path.exe has been removed and the Inno installer now updates PATH via a Pascal script that is part of the installer
    The dulwich package has been upgraded from version 0.18.3 to 0.19.11
    The keyring package has been upgraded to version 18.0.1
    The pygments package has been upgraded to version 2.3.1
    The urllib3 package is now included
    The MSVC Runtime DLLs (msvcm90.dll, msvcp90.dll, and msvcr90.dll) have been upgraded from version 9.0.21022.8 to 9.0.30729.9518
    Various tcl/tk Python packages are now included (making the Python distribution more complete)
    The pywin32 package is no longer included (pywin32 has not been required by Mercurial for years)
    Known issue: the distutils package is broken
    (x86 only) Python .pyd and .dll extension modules and support libraries are now installed as standalone files instead of bundled in the file. This behavior is now consistent with 64-bit installers.

2. New Experimental Features

3. Other Notable Features

4. Other Improvements

    Improved color scheme for histedit's curses interface, making it more consistent with the curses hunk selector.

5. Bug Fixes

    Histedit's curse interface has improved support for non ascii characters.

6. Backwards Compatibility Changes

    color: change color of grep.rev label (BC)
    commit: if interactive, look elsewhere for whitespace settings (BC)

    diff: make sure we output stat even when --git is not passed (issue4037) (BC)
    uncommit: abort if an explicitly given file cannot be uncommitted (BC)
    The Windows Inno installers no longer ship the pywin32 package. This package was being bundled for historical reasons. Mercurial stopped using pywin32 several years ago and the disappearance of this package should not have any meaningful impact.
    The 32-bit Windows Inno installers no longer distribute w9xpopen.exe. This should only impact people running Mercurial on Windows 95, 98, or ME.
    The Windows MSI installers no longer include the Python sphinx package and its various dependencies.
    The Windows MSI installers no longer include the pywin32 Python package.
    The Windows MSI installers no longer include the enum and future Python packages.

7. Internal API Changes

    add: pass around uipathfn and use instead of m.rel() (API)
    addremove: pass around uipathfn and use instead of m.uipath() (API)
    branchmap: drop branchcache.setdefault() (API)
    branchmap: remove the dict interface from the branchcache class (API)
    forget: pass around uipathfn and use instead of m.rel() (API)
    largefiles: use uipathfn instead of match.{rel,uipath}() (API)
    match: delete unused abs() (API)
    match: delete unused rel() (API)
    match: delete unused root and cwd arguments from {always,never,exact}() (API)
    match: delete unused root and cwd arguments to constructors (API)
    match: delete unused uipath() and _uipathrelative (API)
    match: remove unused "exact" argument (API)
    memctx: rename constructor argument "copied" to "copysource" (API)
    patch: accept second matcher that applies only to copy sources (API)
    patch: let caller pass in root-filtering matcher (API)
    patch: pass in context objects into diffhunks() (API)
    patch: replace "prefix" and "relroot" arguments by "pathfn" (API)
    remove: pass around uipathfn and use instead of m.rel() (API)
    revset: leverage getintrange() helper in relation-subscript operation (API)
    scmutil: delete now-unused origpath() (API)
    scmutil: remove special handling of pats==("",) in matchandpats() (API)
    subrepo: adjust subrepo prefix before calling subrepo.add() (API)
    subrepo: adjust subrepo prefix before calling subrepo.addremove() (API)
    subrepo: adjust subrepo prefix before calling subrepo.archive() (API)
    subrepo: adjust subrepo prefix before calling subrepo.diff() (API)
    subrepo: adjust subrepo prefix before calling subrepo.forget() (API)
    subrepo: adjust subrepo prefix before calling subrepo.removefiles() (API)
    subrepo: avoid calculating subrepo prefix twice for cat() (API)
    templatekw: move getrenamedfn() to scmutil (API)

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>