Compare commits

1 Commits
main ... 1.1

5 changed files with 606 additions and 1325 deletions

BIN
mercurial-6.4.3.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
mercurial-6.9.2.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -0,0 +1,11 @@
--- doc/Makefile.orig 2011-03-09 13:05:17.000000000 +0100
+++ doc/Makefile 2011-03-09 13:06:03.000000000 +0100
@@ -27,7 +27,7 @@
%: %.txt %.gendoc.txt common.txt
$(PYTHON) runrst hgmanpage $(RSTARGS) --halt warning \
- --strip-elements-with-class htmlonly $*.txt $*
+ $*.txt $*
%.html: %.txt %.gendoc.txt common.txt
$(PYTHON) runrst html $(RSTARGS) --halt warning \

View File

@@ -1,725 +1,3 @@
-------------------------------------------------------------------
Wed Feb 19 22:21:20 UTC 2025 - Sean Baggaley <me@drinkybird.net>
- Mercurial 6.9.2
* narrow: stricter validation of narrowspec patterns
* narrow: stricter validation of narrowspec patterns in rhg
* rhg: fix a bug where only the first pattern in narrowspec was validated
* extensions: allow wrapping a function with a bytes name again
* upgrade: fix a reference to a missing attribute
* bundles: filter out unsupported requirements for non-packed1 format
* dirstate-race: add more output to highlight a "to-be-revealed" bug
* dirstate-race: simplify some output match to highligh an error
* dirstate-race: fix a missing synchronisation in the python code
* dirstatemap: stop setting identity after reading the data
* sshpeer: fix deadlock on short writes
* sshpeer: fix another occurrence of short write handling
-------------------------------------------------------------------
Fri Feb 7 21:02:10 UTC 2025 - Sean Baggaley <me@drinkybird.net>
- Mercurial 6.9.1
* ci: disable caching of the wheels that get built to save space
* tests: use `--no-cache-dir` with `pip`
* run-tests: disable caching of the wheels when installing test Mercurial
* manifest: delay import of `typing.ByteString` for py 3.14 support (issue6940)
* contrib: propagate `pytype` failures outside of `check-pytype.sh`
* acl: fix confusing formatting in help text (issue6942)
* ui: fix escape sequences in in readline prompts (issue6930)
* ci: let branch job run for scheduled build too
* ci: automatically starts platform and py-version test for scheduled build
* help: fix command build with rust
* copyright: update to 2025
* ci: also let the nightly build run on tags
* usage: refactor usage.resources config parsing
* hg-core: fix usage.resources typo
* hg-core: fix usage.resources default logic
-------------------------------------------------------------------
Thu Jan 30 08:46:31 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire python-setuptools: Mandatory when building against
Python 3.13.
-------------------------------------------------------------------
Wed Nov 20 15:03:51 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.9
+ Backwards Compatibility Changes
* This release drops support for Python 3.6 and 3.7.
* Starting with this release and hopefully for the forseeable future,
we are now building wheels for most architectures.
/!\ Note that for Rust users installing via `pip` or `pipx`, you will
need to specify `--no-binary` to continue using Rust since we do not yet
package the Rust compilation in our wheels. We plan on fixing
this for 7.0.
* Python 3.13 changed how it handles docstrings (namely removing uniform
leading whitespace for every line), which forced us to align the
representation of our help text with this new behavior across
all versions. Due to this and a lack of time and expertise from
contributors, a lot of existing translations could be missing. The
effort of i18n in general has died down many years ago, but if this
matters to you, feel free to send your contributions.
+ New Features
* exchange: improve computation of relevant markers for large repos
* Add a Rust fast-path to speed up update (also for `clone`) from null
(up to 4x faster)
* Introduced a new rev-branch-cache version (v2) that is mmap-resistant
* The branchmap's performance was improved
* Improved the performance of the fix for issue6528
* clonebundles: allow manifest to specify sha256 digest of bundles
* merge: improve working-copy mtime race handling
* profiling: add a py-spy profiling backend
* revlog: use an explicit config option to enable mmap usage for index
* revlog: use mmap by default is pre-population is available
* mmap: populate the mapping by default
* mmap: populate mapping in a background thread
+ Experimental features
* merge: add a config to allow conflict-free merge of changes
on adjacent lines
+ Bug Fixes
* `config.server.validate` now also works on narrowed repositories
* convert: fix various leaked file descriptors
* stream: prefer keeping an open file handle to volatile file
instead of copy
* dummysmtpd: fix EOF handling on newer versions of OpenSSL
* cext: correct the argument handling of `b85encode()`
* branchmap-v3: make sure we write the cache after detecting pure-topo mode
* rust: apply clippy lints
* copies: make sure deleted copy info do not overwriting unrelated ones
* rebase: don't call rewriteutil.precheck() with to-be-skipped commits
* phabricator: correct the default value of `phabhunk.corpus`
* linelog: correct the default value of `annotateresult.lines`
* largefiles: avoid a potentially undefined variable in exception case
* httppeer: move a variable to avoid a bad reference before
assignment warning
* httppeer: avoid another bad reference before assignment warning
* tests: use packaging from setuptools instead of deprecated distutils
* manifest: type and fix unhexlify
* manifest: align some vfs option access on the fact we might
not have options
* scmutils: read the requires file before writing to avoid
unnecessary rewrite
* debugsparse: stop taking the store lock
* sparse: reliably avoid writing to store without a lock
* largefiles: sync up `largefilesdirstate` methods with `dirstate`
base class
* shelve: raise an error when loading a corrupt state file in
an impossible case
* monotone: replace %s interpolation with appropriate numeric specifiers
* shelve: consistently convert exception to bytes
via `stringutil.forcebytestr`
* remotefilelog: honor the `--format` arg of the `debugindex` command
* remotefilelog: adapt the `debugindex` command to past API changes
* run-tests: add color to the progress output
* archive: defer opening the output until a file is matched
* help: add :config-doc:`section.key` shorthand to insert documentation
* censor: document the censor.policy option (issue6909)
* rust-revlog: don't try to open the data file if the index is empty
* bundlerepo: fix mismatches with repository and revlog classes
* revlog: make `clearcaches()` signature consistent with ManifestRevlog
* unionrepo: fix mismatches with revlog classes
* keepalive: fix a signature mismatch for
a http.client.HTTPResponse subclass
* lfs: fix various signature mismatches for vfs subclasses
* store: fix a signature mismatch for a vfs subclass
* util: avoid a leaked file descriptor in `util.makelock()`
exceptional case
* statichttprepo: fix `httprangereader.read()` for py3
* util: make `mmapread()` work on Windows again
* mdiff: tweak calls into `bdiff.fixws` to match its type hints
* base85: avoid a spurious use-before-initialized warning in `pure` module
* install: static data moved from setup.py to pyproject.toml
* upgrade: disable using the parallel workers optimization on macOS
* doc: generate separate commands/topics/extension pages
* extdiff: don't run gui programs when in a cli-only environment
* clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME`
environment variable
* streamclone: disable the volatile file open handle optimization
on Windows
* pytype: add relative timestamp to the output if `ts` is available
* hgweb: skip logging ConnectionAbortedError
+ Internal API Changes
* manifest: deprecated readdelta and readfast
+ Miscellaneous
* http: reuse Python's implementation of read/readline/readinto
* http: use urllib's cookie handler
* rev-branch-cache: schedule a write of the "v2" format if we
read from "v1"
* rev-branch-cache: have debugupdatecache warm rbc too
* rev-branch-cache: reenable memory mapping of the revision data
* debugwireproto: redo logging to also work for https
* rust: use `.cargo/config.toml` instead of `.cargo/config`
* A whole bunch of typing improvements, which in turn found many bugs
* Test suite improvements
* Various packaging improvements
-------------------------------------------------------------------
Tue Nov 19 15:19:32 UTC 2024 - Dirk Müller <dmueller@suse.com>
- fix runtime requires
-------------------------------------------------------------------
Tue Oct 29 11:19:25 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.8.2
This is the last version that supports Python 3.6 and 3.7.
* Compatibility for Python 3.12 and 3.13
* evolution: stop wrongly flagging unrelated part of a split as divergent
* histedit: create state and acquire locks earlier
* copytracing: fix a bug in an edge
case in metadata.compute_all_files_changes
* rhg: ignore readonly FS error when saving dirstate
* merge: sort filemap only if requested by the caller
* windows: implement `util.cachestat` to fix numerous dirstate problems
* subrepo: propagate non-default path on outgoing
* import: fix erroneous comparison of str with bytes
* largefiles: fix check that ensures that --all-largefiles is only
used locally
* profiling: improve 3.12 error message for calling lsprof twice
* profiling: use "stat" profiler to profile individual request
* module-policy: ignore empty module policy
* relnotes: skip the test if the source repository is not readable
* wireprototypes: fix exception handling code with a bad pytype suppression
* Many more type fixes and improvements
* Improvements to the test suite
-------------------------------------------------------------------
Thu Sep 12 18:42:18 UTC 2024 - Lukas Müller <expeehaa@outlook.com>
- Use existing python RPM macros instead of custom ones.
- Remove mercurial-docutils-compat.diff.
- Remove checks for obsolete SUSE version.
-------------------------------------------------------------------
Tue Aug 6 12:47:13 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.8.1
* Python 3.12: fix an issue between `threading` and `demandimport`
* rhg: expand user and environment variable in paths to ignore in config
and includes
* `win32mbcs` extension: fix an encoding issue
-------------------------------------------------------------------
Tue Jul 9 07:54:07 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.8
Regularly scheduled major release.
+ New Features or performance improvements
* Phases have been reworked to improve their general performance
* revset: stop serializing node when using "%ln"
* phases: convert remote phase root to node while reading them
* phases: use revision number in new_heads
* phases: use revision number in analyze_remote_phases
* phases: stop using `repo.set` in `remotephasessummary`
* phases: move RemotePhasesSummary to revision number
* phases: use revision number in `_pushdiscoveryphase`
* phases: introduce a performant efficient way to access
revision in a set
* phases: rework the logic of _pushdiscoveryphase to bound complexity
* The Rust working copy code is being used by more places now:
* matchers: support patternmatcher in rust
* dirstate: remove the python-side whitelist of allowed matchers
* stream-clone: disable gc for `_entries_walk` duration
* stream-clone: disable gc for the initial section for the v3 format
* postincoming: avoid computing branchhead if no report will be posted
* stream-clone: disable gc for the entry listing section for the v2 format
* perf: allow profiling of more than one run
* perf: run the gc before each run
* perf: start recording total time after warming
* perf: clear vfs audit_cache before each run
* outgoing: rework the handling of the `missingroots` case to be faster
* outgoing: add a simple fastpath when there is no common
* tags-cache: skip the filternode step if we are not going to use it
* tags-cache: directly operate on rev-num warming hgtagsfnodescache
* tags-cache: directly perform a monimal walk for hgtagsfnodescache warming
+ New Experimental Features
* Introduce a new experimental branch cache "v3":
* branchcache: add more test for the logic around
obsolescence and branch heads
* branchcache: skip entries that are topological
heads in the on disk file
* branchcache: add a "pure topological head" fast path
* branchcache: allow to detect "pure topological case" for branchmap
+ Bug Fixes
* rust: use `cpython` 0.7.2 crate to add support for Python 3.12
* perf-stream-locked-section: actually use v1 generation when requested
* perf-stream-locked-section: fix the call to the v3 generator
* perf-stream-locked-section: advertise the right version key in the help
* stream: in v3, skip the "size" fast path if the entries have some
unknown size
* stream-clone: stop getting the file size of all file in v3
* streamclone: stop listing files for entries that have no volatile files
* perf-stream-consume: use the source repository config when applying
* bundle: do no check the changegroup version if no changegroup is included
* perf: create the temporary target next to the source in stream-consume
* bundlespec: fix the "streamv2" and "streamv3-exp" variant
* push: rework the computation of fallbackheads to be correct
* profiler: flush after writing the profiler output
* base-revsets: use an author that actually exercises a lot of changesets
* hgrc: search XDG_CONFIG_HOME on mac
* clonebundles: add missing newline to legacy response
* narrow: add a test for linkrev computation done during widen
* Multiple fixes to guard against mmap issues
* portability: fix build on Solaris-derived systemd
+ Miscellaneous
* obsolete: quote the feature name
-------------------------------------------------------------------
Mon Jun 17 20:23:06 UTC 2024 - Lukas Müller <expeehaa@outlook.com>
- Build with Python 3.11 on Leap 15.6.
-------------------------------------------------------------------
Wed Jun 12 13:44:52 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.7.4
Exceptional release following a critical regression causing possible data loss
in certain conditions:
* inline-changelog: fix a critical bug in write_pending that delete data
(3cf9e52f5e27)
* inline-changelog: fix pending transaction visibility when splitting
(1721d983dd6d)
Other changes in this release:
* exchange: fix locking to actually be scoped
* chistedit: change action for the correct item
* rust-status: sort the failed matches when printing them
* hooks: add a prewlock and a prelock hooks
* bookmark: fix remote bookmark deletion when the push is raced
-------------------------------------------------------------------
Tue May 7 09:21:00 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.7.3
* setup: display return code information about failed `hg` call
* bundle-spec: properly identify changegroup-less bundle
* bundle-spec: properly parse boolean configuration as boolean
* matchers: fix the bug in rust PatternMatcher that made it cut off early
* match: fix the "visitdir" method on "rootfilesin" matchers
* match: fix the rust-side bug in visit_children_set for rootfilesin matchers
* match: strengthen visit_children_set invariant, Recursive means "all files"
* wireprotoserver: ensure that output stream gets flushed on exception
* re2: make errors quiet
* dirstate-v2: add check of parent/child nodes being related when writing
* dirstate-v2: check that root nodes are at the root before writing
* rust-cpython: don't swallow the dirstate error message
* rust: blanket implementation of Graph for Graph references
* Various fixes to `admin::verify`
-------------------------------------------------------------------
Thu Apr 4 12:12:21 UTC 2024 - Martin Sirringhaus <martin.sirringhaus@suse.com>
- Mercurial 6.7.2
Exceptional release following a large performance regression when
cloning.
* phases: avoid a potentially costly dictionary interation in some case
* phases: update the phase set as we go during retract boundary
* bundle2: make the "hgtagsfnodes" part advisory
-------------------------------------------------------------------
Thu Mar 21 11:29:37 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.7.1
Exceptional release following a crash found in delta code that
can be triggered with complex repository shapes.
* delta-search: fix crash caused by unbound variable
* sshpeer: fix path when handling invalid url exception
* subrepo: fix normalizing paths with scheme
-------------------------------------------------------------------
Mon Mar 18 10:22:39 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang macro, [bsc#1212476]
-------------------------------------------------------------------
Fri Mar 15 14:29:16 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.7
+ New Features
* JSON templates can now use structured diffstat data
* Support rhg status --rev --rev
* The index for REVLOGv1 now has a Rust implementation
* Improved `hg censor`'s output
* censor: add a command flag to skip the head checks
* censor: accept multiple revision in a single call
* usage: add a `usage.repository-role` config
* branchmap: use mmap for faster revbranchcache loading
* crecord: enable search hotkeys (issue6834)
* hg-core: separate timestamp and extra methods
* annotate: limit output to range of lines
* unbundle: faster computation of changed heads
* Large improvements of some of the phases code (23950e39281f)
* rust-filepatterns: export glob_to_re function
+ New Experimental Features
* Introduce `hg admin::chainsaw-update` for automation and *advanced* users
+ Bug Fixes
* templatekw: fix inconsistency of diffstat with diff.merge
* The endless stream of Python 3 cleanups continues
* Improved setup.py robustness
* Improved test suite robustness
* add: don't attempt to add back removed files unless explicitly listed
* statprof: handle `lineno == None` in more cases
* rust: fix cargo doc for hg-cpython
* rust-python-index: don't panic on a corrupted index when calling
from Python
* debugindexstats: handle the lack of Rust support better
* matchers: use correct method for finding index in vector
* narrow: strip trailing `/` from manifest dir before matching it
* cext: fix potential memory leaks of list items appended
with `PyList_Append`
* doc: document that labels must have a dot in them to have an effect
* debugformat: fix formatting for compression level
* obsutil: sort metadata before comparing in geteffectflag()
* crecord: drop calls to `curses.endwin()`
* rust-index: don't use mutable borrow for head-diff computation
* rust-index: don't use mutable borrow to computed filtered heads
+ Backwards Compatibility Changes
Users of the Rust extensions and/or `rhg` should be aware that the new Rust
index can result in a performance degradation for push/pull on repositories
*not* using `persistent-nodemap`
(see `hg help config.format.use-persistent-nodemap`).
If this is something that matters to you, please reach out to us as this
is not an insurmountable obstacle. This is a choice base on the assumption
that there are few people in this situation and our time should be spent
on more pressing matters.
+ Internal API Changes
* 62913:498017baa34b "cleanup: remove some code scheduled to be removed
after 5.9"
* 62914:88ef80210d67 "cleanup: drop `dirstate.is_changing_parent`
deprecated since 6.5"
* 62915:591845f89ada "cleanup: drop `path.pushloc` deprecated since 6.5"
* 62916:d8f65fc72e7b "cleanup: drop deprecated config attribute
on the revlog class"
* 62917:5c9c41273367 "cleanup: turn `pathsuboption` deprecation warning
into an error"
* 62918:7b837fabc990 "cleanup: turn `wrappedfunction` deprecation warning
into an error"
* 62919:eda075d7b2ac "cleanup: turn `wrapfunction` deprecation warning
into an error"
* 62920:c845479fc64d "cleanup: drop the `bytes` compatibility
for attribute related function"
* 63464:dcaa2df1f688 "changelog: never inline changelog"
* 63465:a93e52f0b6ff "changelog: disallow delayed write on inline
changesets"
* 63825:79cd29d598af "dirstate: make the `transaction` argument
of `setbranch` mandatory"
+ Miscellaneous
* perf: support --template on perf::phases
* perf: add a --as-push option to perf::unbundle
* debug: add a debug::unbundle command that simulate the unbundle
from a push
* Lots of refactorings to prepare for performance improvements and remove
tech debt
-------------------------------------------------------------------
Fri Feb 23 10:18:41 UTC 2024 - pgajdos@suse.com
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Tue Feb 13 11:45:31 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Update to Mercurial 6.6.3
* tests: don't use "status" operand of dd in test-censor.t (issue6858)
* tests: make sha256line.py available for all tests
* tests: use sha256line.py instead of /dev/random in test-censor.t (issue6858)
* tests: fix nondeterministic test failure in test-contrib-perf.t
* rust-changelog: don't panic on empty file lists
* grep: restore usage of --include/--exclude options
-------------------------------------------------------------------
Fri Jan 12 16:23:11 UTC 2024 - Andrei Dziahel <develop7@develop7.info>
- Update to Mercurial 6.6.2
* histedit: remove superfluous echo() and endwin() calls (issue6859)
* persistent-nodemap: avoid writing nodemap for empty revlog
* persistent-nodemap: respect the mmap setting when refreshing data
* bundle: do not detect --base argument that match nothing as lack of argument
* narrow: prevent removal of ACL-defined excludes
* pycompat: fix bytestr(bytes) in Python 3.11
-------------------------------------------------------------------
Fri Dec 22 20:40:40 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not recommend mercurial-lang: the -lang package already
contains supplements, that trigger on package plus selected
locales.
-------------------------------------------------------------------
Wed Dec 20 16:12:02 UTC 2023 - Lukas Müller <expeehaa@outlook.com>
- Update to Mercurial 6.6.1.
The first two patches fix aborted transactions that could happen since 6.6.
* revlog: avoid exposing delayed index entry too widely in non-inline revlog
* revlog: avoid wrongly updating the data file location on "divert"
* tests: do not fail tests in a state with uncommitted .py file removal
* perf-tags: fix the --clear-fnode-cache-rev code
* perf-tags: fix clear_cache_fnodes to actually clear that cache
* censor: fix things around inlining
* Various Python 3 cleanups
* Various Windows test suite fixes
-------------------------------------------------------------------
Thu Dec 7 17:18:25 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.6.1
The first two patches fix aborted transactions that could happen since 6.6.
* revlog: avoid exposing delayed index entry too widely in non-inline revlog
* revlog: avoid wrongly updating the data file location on "divert"
* tests: do not fail tests in a state with uncommitted .py file removal
* perf-tags: fix the `--clear-fnode-cache-rev` code
* perf-tags: fix `clear_cache_fnodes` to actually clear that cache
* censor: fix things around inlining
* Various Python 3 cleanups
* Various Windows test suite fixes
-------------------------------------------------------------------
Tue Nov 21 18:02:41 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.6
Regularly scheduled major release
As usual, a *lot* of patches don't make it to this list.
+ New Features
* rust-config: add support for default config items
* rhg: add config defaults to configitems.toml
* rhg: support "status FILE"
* rhg: support rhg files [FILE]
* commands: add admin namespace
* admin-command: add verify command
* debug-delta-chain: add options to control what we compute
* Added some caching for uncompressed revlog chunks that speed up
some operations
+ Bug Fixes
* Improve OpenVMS support
* byteify-strings: passe sysstr to attr function and wrapper
* journal: track bookmark deletion
* transaction: actually delete file created during the transaction
on rollback
* pull: avoid referencing a variable before it is initialized
* rust-filepatterns: also normalize RelPath
* narrow: hoist a variable to a higher level to avoid use-before-init
warning
* convert: stabilize subversion date sorter
* run-tests: detect HGWITHRUSTEXT value
* censor: accept censored revision during upgrade
* rust-matchers: fix quadratic complexity in `FileMatcher`
* unstable: do not consider internal phases when computing unstable
* Still a whole bunch of Python 2 -> 3 migration leftovers
+ Backwards Compatibility Changes
* perf: display all timing by default
* infinitepush: drop the extension
* debug-delta-chain: print less data by default
+ Internal API Changes
* The revlog interface has been significantly cleaned up.
* configitems: add `documentation` field
* configitems: declare items in a TOML file
* configitems: move blackbox's config items to the new configitems.toml
* path-suboption: deprecated specifying the attributes as bytes
* pycompat: deprecate using bytes
* check-code: drop the `safehasattr` rule
* safehasattr: drop usage in favor of hasattr
* rust: add `UncheckedRevision` type
* rust: implement the `Graph` trait for all revlogs
* rust: make `Revision` a newtype
* perf: change the way we approach revlog reading
* perf: ensure all readlog's reading is done within a `reading` context
* delta-chain: move the debugdeltachain command in revlogutils
-------------------------------------------------------------------
Tue Nov 7 10:33:30 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- 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
-------------------------------------------------------------------
Wed Sep 6 17:00:37 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.5.2
* hgweb: encode WSGI environment using the ISO-8859-1 codec
* rhg: fix the bug where sparse config is interpreted as relglob instead of glob
* gpg: fix an UnboundLocalError whenever using --force
* transaction: fix __repr__() and make the default name bytes
* setup: make the error "Unable to find a working hg binary" more informative
* tests: avoid test environment affecting setup.py
* run-tests: detect HGWITHRUSTEXT value
-------------------------------------------------------------------
Thu Aug 10 11:09:11 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- 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
-------------------------------------------------------------------
Fri Jul 28 12:20:30 UTC 2023 - Andrei Dziahel <develop7@develop7.info>
- Mercurial 6.5
Regularly scheduled major release
As usual, a lot of patches don't make it to this list since they're more internal.
- 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 RevlogEntry.data() 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.
- Miscellaneous
* 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
-------------------------------------------------------------------
Thu Jun 8 22:16:56 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 6.4.4
* clonebundles: filter out invalid schemes instead of failing on
them
* doc: format argument for date uses strftime format string
* 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
-------------------------------------------------------------------
Mon May 8 13:08:42 UTC 2023 - Andrei Dziahel <develop7@develop7.info>

View File

@@ -1,7 +1,7 @@
#
# spec file for package mercurial
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,22 +16,11 @@
#
%if 0%{?suse_version} > 1600
# Tumbleweed
%define pythons python3
%global pprefix python3
%else
%if 0%{?sle_version} >= 150600
%{?sle15_python_module_pythons}
%global pprefix python311
%else
%define pythons python3
%global pprefix python3
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%endif
%endif
Name: mercurial
Version: 6.9.2
Version: 6.4.3
Release: 0
Summary: Scalable Distributed SCM
License: GPL-2.0-or-later
@@ -41,20 +30,22 @@ Source: https://www.mercurial-scm.org/release/mercurial-%{version}.tar.g
Source1: cacerts.rc
Source99: mercurial-rpmlintrc
Patch0: mercurial-hgk-path-fix.diff
# PATCH-FIX-OPENSUSE mercurial-docutils-compat.diff -- Fix for new docutils options not available on 11.1 and older
Patch1: mercurial-docutils-compat.diff
# PATCH-FIX-OPENSUSE mercurial-locale-path-fix.patch saschpe@suse.de -- locales are found in /usr/share/locale
Patch2: mercurial-locale-path-fix.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module xml}
BuildRequires: %{pythons}
BuildRequires: fdupes
Requires: %{pprefix}-curses
Requires: %{pprefix}-xml
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-xml
Requires: python3-curses
Requires: python3-xml
Recommends: %{name}-lang
Provides: hg = %{version}
%if 0%{?suse_version} < 1210
BuildRequires: docutils
%else
BuildRequires: %{python_module docutils}
BuildRequires: python3-docutils
%endif
%if 0%{?sles_version}
Requires: openssl-certs
@@ -63,11 +54,11 @@ Requires: ca-certificates
%endif
%if 0%{?with_tests}
Source90: tests.blacklist
BuildRequires: %{python_module Pygments}
BuildRequires: bzr
BuildRequires: git
BuildRequires: gpg
BuildRequires: ncurses-devel
BuildRequires: python3-Pygments
BuildRequires: subversion-python
BuildRequires: unzip
#BuildRequires: python-pyflakes
@@ -92,25 +83,27 @@ This package contains its tests.
%prep
%setup -q
%patch -P 0
%patch -P 2 -p1
%patch0
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%patch1
%endif
%patch2 -p1
sed -i -e '1s@env @@' contrib/hgk
chmod 644 hgweb.cgi
%build
%make_build all PYTHON=%{expand:%%__%{pythons}}
%make_build all PYTHON=python3
%make_build -C contrib/chg all
%install
make install PREFIX="%{_prefix}" DESTDIR=%{buildroot} PYTHON=%{expand:%%__%{pythons}}
make install PREFIX="%{_prefix}" DESTDIR=%{buildroot} PYTHON=python3
make -C contrib/chg install PREFIX="%{_prefix}" DESTDIR=%{buildroot}
%{expand:%%%{pythons}_fix_shebang}
# Move locales to proper location
mkdir -p %{buildroot}%{_datadir}/locale
mv %{buildroot}%{python_sitearch}/mercurial/locale/* %{buildroot}%{_datadir}/locale
mv %{buildroot}%{python3_sitearch}/mercurial/locale/* %{buildroot}%{_datadir}/locale
%find_lang hg
# Install stuff in contrib
@@ -128,7 +121,7 @@ cp -a tests/. %{buildroot}%{_datadir}/mercurial/tests
%if 0%{?with_tests}
%check
%make_build tests TESTFLAGS="-v --blacklist=%{SOURCE90}" PYTHON=%{expand:%%__%{pythons}}
%make_build tests TESTFLAGS="-v --blacklist=%{SOURCE90}" PYTHON=python3
%endif
%files lang -f hg.lang
@@ -149,11 +142,10 @@ cp -a tests/. %{buildroot}%{_datadir}/mercurial/tests
%{_datadir}/emacs
%{_datadir}/xemacs
%{_mandir}/man1/hg.1%{?ext_man}
%{_mandir}/man1/hg-*.1%{?ext_man}
%{_mandir}/man1/chg.1%{?ext_man}
%{_mandir}/man5/hgignore.5%{?ext_man}
%{_mandir}/man5/hgrc.5%{?ext_man}
%{_mandir}/man8/hg-ssh.8%{?ext_man}
%{python_sitearch}/*
%{python3_sitearch}/*
%changelog