pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-mercurial
Module Name: pkgsrc
Committed By: wiz
Date: Wed Mar 29 11:29:27 UTC 2023
Modified Files:
pkgsrc/devel/py-mercurial: Makefile PLIST distinfo version.mk
Added Files:
pkgsrc/devel/py-mercurial/patches: patch-tests_test-revlog-delta-find.t
Log Message:
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.
Miscellaneous
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 "merge-tools.xxx.regappend"
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
To generate a diff of this commit:
cvs rdiff -u -r1.78 -r1.79 pkgsrc/devel/py-mercurial/Makefile
cvs rdiff -u -r1.42 -r1.43 pkgsrc/devel/py-mercurial/PLIST
cvs rdiff -u -r1.126 -r1.127 pkgsrc/devel/py-mercurial/distinfo
cvs rdiff -u -r1.44 -r1.45 pkgsrc/devel/py-mercurial/version.mk
cvs rdiff -u -r0 -r1.1 \
pkgsrc/devel/py-mercurial/patches/patch-tests_test-revlog-delta-find.t
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/py-mercurial/Makefile
diff -u pkgsrc/devel/py-mercurial/Makefile:1.78 pkgsrc/devel/py-mercurial/Makefile:1.79
--- pkgsrc/devel/py-mercurial/Makefile:1.78 Tue Mar 7 11:31:49 2023
+++ pkgsrc/devel/py-mercurial/Makefile Wed Mar 29 11:29:27 2023
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.78 2023/03/07 11:31:49 wiz Exp $
+# $NetBSD: Makefile,v 1.79 2023/03/29 11:29:27 wiz Exp $
#
# Changelog sometimes at: https://www.mercurial-scm.org/wiki/WhatsNew
@@ -17,6 +17,8 @@ DEPENDS+= ${PYPKGPREFIX}-curses-[0-9]*:.
DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
TEST_DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
+# https://bz.mercurial-scm.org/show_bug.cgi?id=6805
+TEST_DEPENDS+= ${PYPKGPREFIX}-packaging-[0-9]*:../../devel/py-packaging
USE_TOOLS+= gmake msgfmt
@@ -29,7 +31,12 @@ PYTHON_SELF_CONFLICT= yes
.include "version.mk"
USE_TOOLS+= bash:test
-# Known test failures as of 6.3.3
+# Known test failures as of 6.4
+# test-revlog-delta-find.t
+# https://bz.mercurial-scm.org/show_bug.cgi?id=6808
+# (fixed in pkgsrc)
+# test-transaction-rollback-on-revlog-split.t
+# https://bz.mercurial-scm.org/show_bug.cgi?id=6807
# test-remotefilelog-gc.t
# https://bz.mercurial-scm.org/show_bug.cgi?id=6783
# test-push-cgi.t, test-oldcgi.t, test-newcgi.t, test-newercgi.t, test-clone-cgi.t
@@ -39,7 +46,7 @@ USE_TOOLS+= bash:test
# test-demandimport.py
# https://bz.mercurial-scm.org/show_bug.cgi?id=6786
#
-# Ran 912 tests, 82 skipped, 8 failed.
+# Ran 919 tests, 82 skipped, 10 failed.
TEST_TARGET= tests
TEST_MAKE_FLAGS+= PYTHON=${PYTHONBIN} TESTFLAGS=${_MAKE_JOBS:Q}
Index: pkgsrc/devel/py-mercurial/PLIST
diff -u pkgsrc/devel/py-mercurial/PLIST:1.42 pkgsrc/devel/py-mercurial/PLIST:1.43
--- pkgsrc/devel/py-mercurial/PLIST:1.42 Sun Jul 17 09:51:33 2022
+++ pkgsrc/devel/py-mercurial/PLIST Wed Mar 29 11:29:27 2023
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.42 2022/07/17 09:51:33 wiz Exp $
+@comment $NetBSD: PLIST,v 1.43 2023/03/29 11:29:27 wiz Exp $
bin/hg
${PYSITELIB}/hgdemandimport/__init__.py
${PYSITELIB}/hgdemandimport/__init__.pyc
@@ -590,9 +590,6 @@ ${PYSITELIB}/mercurial/diffutil.pyo
${PYSITELIB}/mercurial/dirstate.py
${PYSITELIB}/mercurial/dirstate.pyc
${PYSITELIB}/mercurial/dirstate.pyo
-${PYSITELIB}/mercurial/dirstateguard.py
-${PYSITELIB}/mercurial/dirstateguard.pyc
-${PYSITELIB}/mercurial/dirstateguard.pyo
${PYSITELIB}/mercurial/dirstatemap.py
${PYSITELIB}/mercurial/dirstatemap.pyc
${PYSITELIB}/mercurial/dirstatemap.pyo
@@ -1265,7 +1262,12 @@ ${PYSITELIB}/mercurial/thirdparty/__init
${PYSITELIB}/mercurial/thirdparty/__init__.pyo
${PYSITELIB}/mercurial/thirdparty/attr/__init__.py
${PYSITELIB}/mercurial/thirdparty/attr/__init__.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/__init__.pyi
${PYSITELIB}/mercurial/thirdparty/attr/__init__.pyo
+${PYSITELIB}/mercurial/thirdparty/attr/_cmp.py
+${PYSITELIB}/mercurial/thirdparty/attr/_cmp.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/_cmp.pyi
+${PYSITELIB}/mercurial/thirdparty/attr/_cmp.pyo
${PYSITELIB}/mercurial/thirdparty/attr/_compat.py
${PYSITELIB}/mercurial/thirdparty/attr/_compat.pyc
${PYSITELIB}/mercurial/thirdparty/attr/_compat.pyo
@@ -1278,17 +1280,33 @@ ${PYSITELIB}/mercurial/thirdparty/attr/_
${PYSITELIB}/mercurial/thirdparty/attr/_make.py
${PYSITELIB}/mercurial/thirdparty/attr/_make.pyc
${PYSITELIB}/mercurial/thirdparty/attr/_make.pyo
+${PYSITELIB}/mercurial/thirdparty/attr/_next_gen.py
+${PYSITELIB}/mercurial/thirdparty/attr/_next_gen.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/_next_gen.pyo
+${PYSITELIB}/mercurial/thirdparty/attr/_version_info.py
+${PYSITELIB}/mercurial/thirdparty/attr/_version_info.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/_version_info.pyi
+${PYSITELIB}/mercurial/thirdparty/attr/_version_info.pyo
${PYSITELIB}/mercurial/thirdparty/attr/converters.py
${PYSITELIB}/mercurial/thirdparty/attr/converters.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/converters.pyi
${PYSITELIB}/mercurial/thirdparty/attr/converters.pyo
${PYSITELIB}/mercurial/thirdparty/attr/exceptions.py
${PYSITELIB}/mercurial/thirdparty/attr/exceptions.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/exceptions.pyi
${PYSITELIB}/mercurial/thirdparty/attr/exceptions.pyo
${PYSITELIB}/mercurial/thirdparty/attr/filters.py
${PYSITELIB}/mercurial/thirdparty/attr/filters.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/filters.pyi
${PYSITELIB}/mercurial/thirdparty/attr/filters.pyo
+${PYSITELIB}/mercurial/thirdparty/attr/py.typed
+${PYSITELIB}/mercurial/thirdparty/attr/setters.py
+${PYSITELIB}/mercurial/thirdparty/attr/setters.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/setters.pyi
+${PYSITELIB}/mercurial/thirdparty/attr/setters.pyo
${PYSITELIB}/mercurial/thirdparty/attr/validators.py
${PYSITELIB}/mercurial/thirdparty/attr/validators.pyc
+${PYSITELIB}/mercurial/thirdparty/attr/validators.pyi
${PYSITELIB}/mercurial/thirdparty/attr/validators.pyo
${PYSITELIB}/mercurial/thirdparty/sha1dc.so
${PYSITELIB}/mercurial/thirdparty/zope/__init__.py
@@ -1343,6 +1361,9 @@ ${PYSITELIB}/mercurial/treediscovery.pyo
${PYSITELIB}/mercurial/txnutil.py
${PYSITELIB}/mercurial/txnutil.pyc
${PYSITELIB}/mercurial/txnutil.pyo
+${PYSITELIB}/mercurial/typelib.py
+${PYSITELIB}/mercurial/typelib.pyc
+${PYSITELIB}/mercurial/typelib.pyo
${PYSITELIB}/mercurial/ui.py
${PYSITELIB}/mercurial/ui.pyc
${PYSITELIB}/mercurial/ui.pyo
Index: pkgsrc/devel/py-mercurial/distinfo
diff -u pkgsrc/devel/py-mercurial/distinfo:1.126 pkgsrc/devel/py-mercurial/distinfo:1.127
--- pkgsrc/devel/py-mercurial/distinfo:1.126 Tue Mar 7 11:31:49 2023
+++ pkgsrc/devel/py-mercurial/distinfo Wed Mar 29 11:29:27 2023
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.126 2023/03/07 11:31:49 wiz Exp $
+$NetBSD: distinfo,v 1.127 2023/03/29 11:29:27 wiz Exp $
-BLAKE2s (mercurial-6.3.3.tar.gz) = f0741812e4144ad0b4303e061ca4f607c578571ba1ce84e65db3322548af65ed
-SHA512 (mercurial-6.3.3.tar.gz) = 2c09ec01857552e92dee2ff946444f6ccd86a7249561d2181f339aa66316e9ce0f19399895782d0b63c1b5fdb6d341f866d166616ae51a78bac7e1bb4128a0fd
-Size (mercurial-6.3.3.tar.gz) = 8106179 bytes
+BLAKE2s (mercurial-6.4.tar.gz) = 5d243db3df70d23144ec1dcf97684299d4d6f7ed60105000a37849c395698fdd
+SHA512 (mercurial-6.4.tar.gz) = a7810eddd0fd2a331215a5f7e9c81df4d860cf695aec3c5e3984821827b5427b5a01b68c07b9711e86db2f9b0ef5b5d3d6251a7dc76f99375c457920ce36c96f
+Size (mercurial-6.4.tar.gz) = 8169322 bytes
+SHA1 (patch-tests_test-revlog-delta-find.t) = 4af19d6ece17d0aa12ce504fcdd1662812d993cb
Index: pkgsrc/devel/py-mercurial/version.mk
diff -u pkgsrc/devel/py-mercurial/version.mk:1.44 pkgsrc/devel/py-mercurial/version.mk:1.45
--- pkgsrc/devel/py-mercurial/version.mk:1.44 Tue Mar 7 11:31:49 2023
+++ pkgsrc/devel/py-mercurial/version.mk Wed Mar 29 11:29:27 2023
@@ -1,3 +1,3 @@
-# $NetBSD: version.mk,v 1.44 2023/03/07 11:31:49 wiz Exp $
+# $NetBSD: version.mk,v 1.45 2023/03/29 11:29:27 wiz Exp $
-VERSION= 6.3.3
+VERSION= 6.4
Added files:
Index: pkgsrc/devel/py-mercurial/patches/patch-tests_test-revlog-delta-find.t
diff -u /dev/null pkgsrc/devel/py-mercurial/patches/patch-tests_test-revlog-delta-find.t:1.1
--- /dev/null Wed Mar 29 11:29:27 2023
+++ pkgsrc/devel/py-mercurial/patches/patch-tests_test-revlog-delta-find.t Wed Mar 29 11:29:27 2023
@@ -0,0 +1,90 @@
+$NetBSD: patch-tests_test-revlog-delta-find.t,v 1.1 2023/03/29 11:29:27 wiz Exp $
+
+cp(1) doesn't like -ar
+https://bz.mercurial-scm.org/show_bug.cgi?id=6808
+
+--- tests/test-revlog-delta-find.t.orig 2023-03-23 23:11:29.000000000 +0000
++++ tests/test-revlog-delta-find.t
+@@ -198,7 +198,7 @@ Check the path.*:pulled-delta-reuse-poli
+
+ Get a repository with the bad parent picked and a clone ready to pull the merge
+
+- $ cp -ar bundle-reuse-enabled peer-bad-delta
++ $ cp -aR bundle-reuse-enabled peer-bad-delta
+ $ hg clone peer-bad-delta local-pre-pull --rev `cat large.node` --rev `cat small.node` --quiet
+ DBG-DELTAS: CHANGELOG: * (glob)
+ DBG-DELTAS: CHANGELOG: * (glob)
+@@ -222,7 +222,7 @@ Pull with no value (so the default)
+
+ default is to reuse the (bad) delta
+
+- $ cp -ar local-pre-pull local-no-value
++ $ cp -aR local-pre-pull local-no-value
+ $ hg -R local-no-value pull --quiet
+ DBG-DELTAS: CHANGELOG: * (glob)
+ DBG-DELTAS: MANIFESTLOG: * (glob)
+@@ -233,7 +233,7 @@ Pull with explicitly the default
+
+ default is to reuse the (bad) delta
+
+- $ cp -ar local-pre-pull local-default
++ $ cp -aR local-pre-pull local-default
+ $ hg -R local-default pull --quiet --config 'paths.default:pulled-delta-reuse-policy=default'
+ DBG-DELTAS: CHANGELOG: * (glob)
+ DBG-DELTAS: MANIFESTLOG: * (glob)
+@@ -244,7 +244,7 @@ Pull with no-reuse
+
+ We don't reuse the base, so we get a better delta
+
+- $ cp -ar local-pre-pull local-no-reuse
++ $ cp -aR local-pre-pull local-no-reuse
+ $ hg -R local-no-reuse pull --quiet --config 'paths.default:pulled-delta-reuse-policy=no-reuse'
+ DBG-DELTAS: CHANGELOG: * (glob)
+ DBG-DELTAS: MANIFESTLOG: * (glob)
+@@ -255,7 +255,7 @@ Pull with try-base
+
+ We requested to use the (bad) delta
+
+- $ cp -ar local-pre-pull local-try-base
++ $ cp -aR local-pre-pull local-try-base
+ $ hg -R local-try-base pull --quiet --config 'paths.default:pulled-delta-reuse-policy=try-base'
+ DBG-DELTAS: CHANGELOG: * (glob)
+ DBG-DELTAS: MANIFESTLOG: * (glob)
+@@ -266,8 +266,8 @@ Case where we force a "bad" delta to be
+
+ We build a very different file content to force a full snapshot
+
+- $ cp -ar peer-bad-delta peer-bad-delta-with-full
+- $ cp -ar local-pre-pull local-pre-pull-full
++ $ cp -aR peer-bad-delta peer-bad-delta-with-full
++ $ cp -aR local-pre-pull local-pre-pull-full
+ $ echo '[paths]' >> local-pre-pull-full/.hg/hgrc
+ $ echo 'default=../peer-bad-delta-with-full' >> local-pre-pull-full/.hg/hgrc
+
+@@ -286,7 +286,7 @@ The bundling process creates a delta aga
+ is an invalid chain for the client, so it is not considered and we do a full
+ snapshot again.
+
+- $ cp -ar local-pre-pull-full local-try-base-full
++ $ cp -aR local-pre-pull-full local-try-base-full
+ $ hg -R local-try-base-full pull --quiet \
+ > --config 'paths.default:pulled-delta-reuse-policy=try-base'
+ DBG-DELTAS: CHANGELOG: * (glob)
+@@ -301,7 +301,7 @@ Check that "forced" behavior do not chal
+
+ A full bundle should be accepted as full bundle without recomputation
+
+- $ cp -ar local-pre-pull-full local-forced-full
++ $ cp -aR local-pre-pull-full local-forced-full
+ $ hg -R local-forced-full pull --quiet \
+ > --config 'paths.default:pulled-delta-reuse-policy=forced'
+ DBG-DELTAS: CHANGELOG: * (glob)
+@@ -322,7 +322,7 @@ more subtle to test this behavior.
+
+ $ hg bundle -R peer-bad-delta-with-full --all --config devel.bundle.delta=p1 all-p1.hg
+ 5 changesets found
+- $ cp -ar local-pre-pull-full local-forced-full-p1
++ $ cp -aR local-pre-pull-full local-forced-full-p1
+ $ hg -R local-forced-full-p1 pull --quiet \
+ > --config 'paths.*:pulled-delta-reuse-policy=forced' all-p1.hg
+ DBG-DELTAS: CHANGELOG: * (glob)
Home |
Main Index |
Thread Index |
Old Index