head 1.2; access; symbols pkgsrc-2020Q2:1.1.0.2 pkgsrc-2020Q2-base:1.1; locks; strict; comment @# @; 1.2 date 2020.08.03.21.34.20; author joerg; state dead; branches; next 1.1; commitid sxu8bfQvMlnKeFiC; 1.1 date 2020.05.24.01.16.26; author joerg; state Exp; branches; next ; commitid eP9odNz0Z2qLMq9C; desc @@ 1.2 log @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/perf.py 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). @ text @$NetBSD: patch-D8490,v 1.1 2020/05/24 01:16:26 joerg Exp $ # HG changeset patch # User Joerg Sonnenberger # Date 1588289528 -7200 # Fri May 01 01:32:08 2020 +0200 # Branch stable # Node ID 886c6a1b87bc66671c4e654c2d607800a4a712e9 # Parent be6401a2572646712aebe80520ee8909562bb0a5 hooks: provide access to transaction changes for internal hooks External hooks are skipped here as the environment often has a size limit in the low MBs and that can easily be reached by larger transactions. Differential Revision: https://phab.mercurial-scm.org/D8490 diff -r be6401a25726 -r 886c6a1b87bc mercurial/hook.py --- mercurial/hook.py Thu May 07 23:54:37 2020 +0200 +++ mercurial/hook.py Fri May 01 01:32:08 2020 +0200 @@@@ -158,6 +158,10 @@@@ env[b'HG_HOOKNAME'] = name for k, v in pycompat.iteritems(args): + # transaction changes can accumulate MBs of data, so skip it + # for external hooks + if k == b'changes': + continue if callable(v): v = v() if isinstance(v, (dict, list)): diff -r be6401a25726 -r 886c6a1b87bc mercurial/localrepo.py --- mercurial/localrepo.py Thu May 07 23:54:37 2020 +0200 +++ mercurial/localrepo.py Fri May 01 01:32:08 2020 +0200 @@@@ -2243,6 +2243,7 @@@@ tr.hookargs[b'txnid'] = txnid tr.hookargs[b'txnname'] = desc + tr.hookargs[b'changes'] = tr.changes # note: writing the fncache only during finalize mean that the file is # outdated when running hooks. As fncache is used for streaming clone, # this is not expected to break anything that happen during the hooks. diff -r be6401a25726 -r 886c6a1b87bc tests/test-hook.t --- tests/test-hook.t Thu May 07 23:54:37 2020 +0200 +++ tests/test-hook.t Fri May 01 01:32:08 2020 +0200 @@@@ -443,7 +443,7 @@@@ HG_PENDING=$TESTTMP/a transaction abort! - txnabort Python hook: txnid,txnname + txnabort Python hook: changes,txnid,txnname txnabort hook: HG_HOOKNAME=txnabort.1 HG_HOOKTYPE=txnabort HG_TXNID=TXN:$ID$ @ 1.1 log @Merge a number of patches already committed or under review for issues found in the NetBSD deployment. Bump revision. @ text @d1 1 a1 1 $NetBSD$ @