------------------------------------------------------------------- Mon May 8 13:08:42 UTC 2023 - Andrei Dziahel - update to 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 ------------------------------------------------------------------- Fri Apr 21 08:42:28 UTC 2023 - Andreas Stieger - update to 6.4.2: * Fix a corruption bug that happens when using clonebundles on repositories with large files - includes changes from 6.4.1: * multiple bug fixes related to rgh path handling, and other fixes ------------------------------------------------------------------- Fri Mar 24 09:27:12 UTC 2023 - Andrei Dziahel - Mercurial 6.4 Regularly scheduled (very late, though) major release + 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 ------------------------------------------------------------------- Thu Mar 2 15:08:20 UTC 2023 - Andrei Dziahel - Update to Mercurial 6.3.3 * tests: filter out PEP 657 error locations in tracebacks (issue6780) * tests: optional PEP 657 error location in test-extension.t (issue6781) * tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782) * histedit: byteify the help for the multifold action * sparse: fix a py2 based usage of `map()` * convert: stop passing str to the dateutil API in darcs * convert: turn the last str regex into bytes in cvs.py (issue6789) * convert: change socket mode from b'r+' to 'rwb' in cvs.py (issue6789) * convert: replace repr() by pycompat.byterepr() in cvsps.py (issue6789) * tests: os module is frozen in Python 3.11 (issue6786) * hgweb: unbyteify the 100-continue check * resourceutil: start using importlib.resources.files() when possible * revset: the `random` sort should not depend on sys.maxsize (issue6770) * tests: make sure pygments can detect python script without extension * convert: brz 3.3.0 moved NoSuchFile exception to breezy.transport * tests: pygments 2.14+ highlight whitespace in python code * hghave: make different has_pyoxidizer functions have different names * hghave: refactor checks for pygments versions using checkvers() * rust-narrow: fix loop that never loops * scmutil: make checknewlabel() allow "_" in otherwise numeric names (issue6737) * bundlerepo: enforce the requirements declared by the underlying repository * setup: make the version computation process more resistant * fix: add more information to the debug output * tag: disallow tagging the working directory * dirstate: handle missing backup file on restoration * dirstate-v2: complain early on docket name collision * rust: upgrade minimum `rayon` dependency * setup: support building from an ongoing merge * rust: add debug log about skipping dirstate update * rust-dirstate: trace append/no append to help debugging * dirstate-v2: don't mmap the data file when on NFS * run-tests: make it possible to nest conditionals * dirstate: add some debug output when writing the dirstate * testing: introduce util function to synchronize concurrent commands on files * dirstate: add a way to test races happening during status * dirstate: use more than a bool to control append behavior * dirstate-v2: add devel config option to control write behavior * rhg: fix race when a fixup file is deleted on disk * rhg: fix race when an ambiguous file is deleted on disk * dirstate: deal with read-race for pure python code * dirstate: deal with read-race for python code using rust object * dirstate: deal with read-race for pure rust code path (rhg) * dirstate: set identity whenever we read the dirstate's v2 docket * rust-dirstate-v2: don't write dirstate if data file has changed * rhg: remember the inode of .hg/dirstate ------------------------------------------------------------------- Wed Jan 4 16:21:20 UTC 2023 - Andrei Dziahel - Update to 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 ------------------------------------------------------------------- Sun Nov 20 09:32:18 UTC 2022 - Andreas Stieger - Update to Mercurial 6.3.1: * Fixes for Python 3.11 changes to regex flags ------------------------------------------------------------------- Mon Nov 14 16:06:44 UTC 2022 - Andrei Dziahel - Update to Mercurial 6.3.0 + 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 'shelve.store' 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 rebase.store-source * 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 when given a both a relative `--repository` path and an alternate working directory via `--cwd`. A side-effect of this change is that these workers will now return an error if hg cannot find the current working directory, even when a different directory is specified via `--cwd`. * phase: rename the requirement for internal-phase from `internal-phase` to `use-internal-phase` (see 74fb1842f8b962cf03d7cd5b841dbcf2ae065587) + Miscellaneous * sslutil: use proper attribute to select python 3.7+ * typing: suppress a few pyi-errors with more recent pytype * ci: bump pytype to 2022.03.29 * bundlespec: add documentation about existing option * subrepo: avoid opening console window for non-native subrepos on Windows * setup: unconditionally enable the `long-paths-support` option on Windows * setup: use the full executable manifest from `python.exe` * tests: work around libmagic bug in svn subrepo tests * packagelib: use python3 by default * Improve `hg bisect` performance * perf: properly process formatter option in perf::unbundle * compare-disco: miscellaneous display improvements * fsmonitor: better compatibility with newer Pythons * revlog: finer computation of "issnapshot" * rhg: don't fallback if `strip` or `rebase` are activated * perf: make perf::bundle compatible before 61ba04693d65 * perf: make perf::bundle compatible down to 5.2 * perf-unbundle: improve compatibility * run-tests: display the time it took to install Mercurial * mergetools: don't let meld open all changed files on startup * dirstate-v2: skip evaluation of hgignore regex on cached directories ------------------------------------------------------------------- Mon Oct 10 07:59:43 UTC 2022 - Dirk Müller - update to 6.2.3: * mergetools: don't let meld open all changed files on startup * heptapod-ci: use shell script in pytype step * rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade * status: let `--no-copies` override `ui.statuscopies` ------------------------------------------------------------------- Mon Sep 12 13:13:22 UTC 2022 - Dirk Müller - update to 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 ------------------------------------------------------------------- Fri Jul 29 13:36:34 UTC 2022 - Lukas Müller - Update to Mercurial 6.2.1. * 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 revlog.py to gitlog.py (issue6472) * sslutil: use proper attribute to select python 3.7+ * sslutil: another use proper attribute to select python 3.7+ * mergestate: action name was str * packaging: update keyring on Windows to avoid spurious stacktraces * packaging: bump dulwich to 0.20.45 * debug-discovery: fix a typo in the doc * debug-discovery: properly apply remote filtering in "old" mode * debug-discovery: also gather details on tree-discovery queries type * debug-discovery: gather the right number of roundtrips for tree discovery * debug-discovery: do not abort on unrelated repositories * debug-discovery: deal with case where common is empty * tree-discovery: fix the request debug output and progress location * debug-discovery: apply spelling fixes from Raphaël ------------------------------------------------------------------- Tue Jul 19 10:12:34 UTC 2022 - Andrei Dziahel - Mercurial 6.2 Regularly scheduled major release. This is the first Python 3 only version. + 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 + Miscellaneous * 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 ------------------------------------------------------------------- Fri Jun 17 10:39:16 UTC 2022 - Andrei Dziahel - Mercurial 6.1.4 Additional stable release just before 6.2 since we're dropping Python 2. * url: raise error if CONNECT request to proxy was unsuccessful * docker: avoid /tmp write access issues by fixing permissions * logcmdutil: use the same data as {file*} template keywords (issue6642) * commit: allow to close branch when committing change over a closed head * rust-status: don't trigger dirstate v1 rewrite when only v2 data is changed * purge: prevent a silly crash with --confirm --files * rust: relax im-rc dependency to allow minor updates * Improve PyPy support * Improve py3 error handling * Documentation fixes - Mercurial 6.1.3: * security: + narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) 6b10151b9621 * other: + 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 ------------------------------------------------------------------- Sat May 7 14:50:39 UTC 2022 - Andrei Dziahel - removed _service in favour of running download_files manually - 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 (dd2503a63d33)** * 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 ------------------------------------------------------------------- Fri Apr 15 00:07:10 UTC 2022 - Dirk Müller - udpate to 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 ------------------------------------------------------------------- Wed Mar 2 16:19:25 UTC 2022 - Andrei Dziahel - Mercurial 6.1 Regularly scheduled feature release. This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2 + New Features * Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See `hg help config.extensions`. * 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 config.use-dirstate-tracked-hint`. * Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to `dirstate-v2` and `dirstate-tracked-hint`. * 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..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", respectively. * 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. + Miscellaneous * Removed `exchange-v2`. It was a prototype that had never been in a working state and had been left untouched since 2017. ------------------------------------------------------------------- Sat Dec 4 16:36:26 UTC 2021 - Andrei Dziahel - Mercurial 6.0 Regularly scheduled feature release. This is the last release to support Python 2. Python 2 support will be dropped for all platforms in Mercurial 6.1. + 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 details. * 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 + 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 * Added a compatibility fix for Python 3.11 ------------------------------------------------------------------- Sat Nov 6 07:59:14 UTC 2021 - Andrei Dziahel - Mercurial 5.9.3 + Bug fixes: * Fixed committing empty files with `narrow` * Allow overriding `pip`'s pep517 compliance to build C or Rust extensions * Fixed regression on outgoing email when not specifying revisions * Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap See https://www.mercurial-scm.org/repo/hg/log?rev=5.9.2..5.9.3 for complete changelog - Mercurial 5.9.2 No upstream release notes, see https://www.mercurial-scm.org/repo/hg/log?rev=5.9.1..5.9.2 for changelog ------------------------------------------------------------------- Fri Sep 24 09:19:10 UTC 2021 - Stefan Weiberg - Adding bug and CVE references from SLE to prepare the submission for SLE 15 SP4/Leap 15.4 - CVE-2019-3902 (bsc#1133035) not affecting versions 5.0+ SLE internal patches removed: * hg-CVE-2019-3902-fix1.patch * hg-CVE-2019-3902-fix2.patch * hg-CVE-2019-3902-fix3.patch - CVE-2018-17983 (bsc#1110899) not affecting versions 4.7.2+ SLE internal patch removed: * hg-CVE-2018-17983.patch - CVE-2018-13346 (bsc#1100354), CVE-2018-13347 (bsc#1100355), CVE-2018-13348 (bsc#1100353) not affecting versions 4.6.1+ SLE internal patches removed: * hg-mpatch-fix01.patch * hg-mpatch-fix02.patch * hg-mpatch-fix03.patch * hg-mpatch-fix04.patch * hg-mpatch-fix05.patch * hg-mpatch-fix06.patch * hg-mpatch-fix07.patch * hg-mpatch-fix08.patch * hg-mpatch-fix09.patch ------------------------------------------------------------------- Mon Sep 20 19:27:59 UTC 2021 - Lukas Müller - Provide mercurial tests in a package mercurial-tests. ------------------------------------------------------------------- Thu Sep 2 08:47:47 UTC 2021 - Andrei Dziahel - Mercurial 5.9.1 No upstream release notes, see https://www.mercurial-scm.org/repo/hg/log?rev=5.9..5.9.1 for changelog - Mercurial 5.9 + New Features * `hg config` now has a `--source` option to show where each configuration value comes from. ------------------------------------------------------------------- Wed Jul 14 09:41:40 UTC 2021 - Andrei Dziahel - Mercurial 5.8.1 No upstream release notes, see https://www.mercurial-scm.org/repo/hg/log?rev=5.8..5.8.1 for changes ------------------------------------------------------------------- Tue May 9 13:42:36 UTC 2021 - Andrei Dziahel - Mercurial 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.` 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 details. * 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 instalation built without the fast Rust implementation will refuse to interract 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. + Internal API Changes * `changelog.branchinfo` is deprecated and will be removed after 5.8. It is superseded by `changelogrevision.branchinfo`. * Callbacks for revlog.addgroup and the changelog._nodeduplicatecallback hook now get a revision number as argument instead of a node. * revlog.addrevision returns the revision number instead of the node. * `nodes.nullid` and related constants are being phased out as part of the deprecation of SHA1. Repository instances and related classes provide access via `nodeconstants` and in some cases `nullid` attributes. - updated mercurial-locale-path-fix.patch ------------------------------------------------------------------- Thu Apr 29 17:39:02 UTC 2021 - Andrei Dziahel - enable building `chg` (thanks @expehaa) ------------------------------------------------------------------- Mon Apr 5 17:37:10 UTC 2021 - Andrei Dziahel - Mercurial 5.7.1 * No upstream release notes, see https://www.mercurial-scm.org/repo/hg/log?rev=tag%28%225.7%22%29%3A%3Atag%28%225.7.1%22%29 ------------------------------------------------------------------- Mon Feb 8 21:53:59 UTC 2021 - Andrei Dziahel - added the _service file for updating sources with single command - Mercurial 5.7 This is a regularly-scheduled quarterly feature release. + 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 `command-templates.pre-merge-tool-output`. * 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.`, where `` can be e.g. `rebase`. As part of this effort, the default format from `hg rebase` was reorganized a bit. * `hg purge` is now a core command using `--confirm` by default. * `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 ` and `--to ` arguments as clearer alternatives to `-r `. `-r ` has been deprecated. * 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 `merge-tools..premerge=keep-mergediff`. * 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. * The `rev-branch-cache` is now updated incrementally whenever changesets are added. + 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. + Internal API Changes * `changelog.branchinfo` is deprecated and will be removed after 5.8. It is superseded by `changelogrevision.branchinfo`. ------------------------------------------------------------------- Sat Dec 5 17:17:21 UTC 2020 - Andreas Stieger - mercurial 5.6.1: * no upstream changelog ------------------------------------------------------------------- Fri Nov 13 14:08:40 UTC 2020 - Andrei Dziahel - Mercurial 5.6 This is a regularly-scheduled quarterly feature release. * New Features + `hg mv -A` can now be used with `--at-rev`. It behaves just like `hg cp -A --at-rev`, i.e. it marks the destination as a copy of the source whether or not the source still exists but the source must exist in the parent revision). + New revset predicate `diffcontains(pattern)` for filtering revisions the same way as `hg grep --diff pattern`. + The memory footprint per changeset and per file during pull/unbundle operations has been significantly reduced. * Internal API Changes + `merge.update()` is now private (renamed to `_update()`). Hopefully the higher-level functions available in the same module cover your use cases. + `phases.registernew` now takes a set of revisions instead of a list of nodes. `phases.advanceboundary` takes an optional set of revisions in addition to the list of nodes. The corresponding members of the `phasecache` class follow this change. + The `addgroup` member of `revlog` classes no longer keeps a list of all found nodes. It now returns `True` if a node was found in the group. An optional callback for duplicated nodes can be used by callers to keep track of all nodes themselve. + The `_chaininfocache` of `revlog` classes has been changed from a dict to a LRU cache. ------------------------------------------------------------------- Sat Oct 3 07:10:44 UTC 2020 - Andreas Stieger - Mercurial 5.5.2: * fix a crash in the log command * bug fixes in hgdemandimport * stip: with --keep, consider all revs "removed" from the wcp ------------------------------------------------------------------- Thu Sep 3 12:24:59 UTC 2020 - Andrei Dziahel - Mercurial 5.5.1: Regularly scheduled bug fix release. * bug fixes + keepalive: Do not append _rbuf if _raw_readinto exists (issue6356) ------------------------------------------------------------------- Tue Aug 4 11:05:43 UTC 2020 - Andrei Dziahel - Mercurial 5.5: This is a regularly-scheduled quarterly feature release * 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). ------------------------------------------------------------------- Thu Jul 2 11:39:24 UTC 2020 - Andreas Stieger - Mercurial 5.4.2: * rebase: avoid clobbering wdir() with --dry-run or --confirm * curses: do not initialize LC_ALL to user settings ------------------------------------------------------------------- Sat Jun 6 08:41:19 UTC 2020 - Andreas Stieger - Mercurial 5.4.1: * graft-state: save --base in graft's state, fixing bug with graft --continue * graft: fix --base value to be saved in state file * dirstate: make sure the dirstate is loaded before the changelog * bash_completion: do not use aliased hg if it sources a script * demandimport: fix compatibility with meta path finders w/o find_spec() method * flags: read flag from dirstate/disk for workingcopyctx * fsmonitor: coerce 'clock' variable to byte-string * url: fix a bytes vs str crash in processing proxy headers ------------------------------------------------------------------- Sun May 3 16:40:23 UTC 2020 - Andreas Stieger - Mercurial 5.4: * 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. * 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:: [format] 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. * 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 copies. * bug fixes * changes that may affect backwards compatibility - there is no canonical upstream signing key, remove ------------------------------------------------------------------- Sun May 3 16:02:41 UTC 2020 - Andreas Stieger - fix bash completion script (boo#1170703) ------------------------------------------------------------------- Thu Mar 19 12:33:21 UTC 2020 - Andreas Stieger - Mercurial 5.3.1 ------------------------------------------------------------------- Mon Feb 10 10:24:34 UTC 2020 - Andrei Dziahel - Mercurial 5.3 This is a regularly-scheduled quarterly feature release. See release notes at https://www.mercurial-scm.org/wiki/Release5.3 - drop mercurial-4.8-python2-shebang.patch because of switch to Python 3 - fixed and refreshed mercurial-locale-path-fix.patch ------------------------------------------------------------------- Fri Jan 3 22:28:39 CET 2020 - Matej Cepl - Switch Mercurial to Python 3 (it should be supported already, according to https://www.mercurial-scm.org/wiki/Python3) - Fix rpmlint warnings. ------------------------------------------------------------------- Fri Dec 6 19:20:49 UTC 2019 - Andreas Stieger - Mercurial 5.2.1 ------------------------------------------------------------------- Sun Nov 17 12:14:15 UTC 2019 - Andrei Dziahel - Mercurial 5.2 This is a regularly-scheduled quarterly feature release. + New Features * The amend extension supports the `--currentuser` argument. * The amend extension supports the `--close-branch` argument. * The amend extension supports the `--secret` argument. * The uncommit extension supports the `rewrite.update-timestamp` config option. + Backwards Compatibility Changes * A shell that supports `$(command)` syntax for command substitution is now required for running the test suite. The test runner normally uses `sh`, so if that is a shell that doesn't support `$(command)` syntax, you can override it by setting `$HGTEST_SHELL` or by passing it to `run-tests.py --shell `. * The (experimental) narrow extension's wire protocol changed. If you're using it, you'll need to make sure to upgrade server and client at the same time. - refreshed mercurial.keyring ------------------------------------------------------------------- Wed Oct 9 11:00:48 UTC 2019 - Andrei Dziahel - Mercurial 5.1.2 Regularly scheduled bug fix release. * extensions + phabricator: don't abort if property writing fails during amending * tests + test: allow different result for zstd compression (issue6188) ------------------------------------------------------------------- Sun Sep 15 16:49:18 UTC 2019 - Andrei Dziahel - Mercurial 5.1.1 Regularly scheduled bug fix release. * commands + bookmarks: actual fix for race condition deleting bookmark * 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 * tests + various test runner fixes + fixed use of `tr --delete` for tr(1) portability ------------------------------------------------------------------- Fri Aug 2 10:30:23 UTC 2019 - Andrei Dziahel - Mercurial 5.1 This is a regularly-scheduled quarterly feature release. * New Features + New config `commands.commit.post-status` 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." * 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). * 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". * 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 subdirectories. + 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 sets. * 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 default. + 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 `state.py`. 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 operations. + 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. ------------------------------------------------------------------- Tue Jul 9 15:48:28 UTC 2019 - Andrei Dziahel - Mercurial 5.0.2 A regularly scheduled bugfix release. + commands * Help fixes on hg mv and hg cp + unsorted * debugrevlog: fix average size computation for empty data (issue6167) * Fix an obscure data corruption bug with musl libc (and presumably others). See https://www.mercurial-scm.org/repo/hg-committed/rev/97ada9b8d51b for more details. ------------------------------------------------------------------- Wed Jun 19 19:47:39 UTC 2019 - Andrei Dziahel - Mercurial 5.0.1 A regularly scheduled bugfix release. + commands * bookmark: also make bookmark cache depends of the changelog * commit: allow --interactive to work again when naming a directory (issue6131) + unsorted * manifest: avoid corruption by dropping removed files with pure (issue5801) * sslutil: fsencode path returned by certifi (issue6132) ------------------------------------------------------------------- Wed May 15 13:32:38 UTC 2019 - Andrei Dziahel - Mercurial 5.0 This is a regularly-scheduled quarterly feature release. + New Features * Python 3 Support (Beta) * `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 + Other Improvements * Improved color scheme for histedit's curses interface, making it more consistent with the curses hunk selector. + Bug Fixes * Histedit's curse interface has improved support for non ascii characters. + 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) ------------------------------------------------------------------- Fri Apr 12 12:07:27 UTC 2019 - Wolfgang Rosenauer - require openssl python module for runtime (not only build) (boo#1132347) ------------------------------------------------------------------- Tue Mar 19 16:45:24 UTC 2019 - Andrei Dziahel - Mercurial 4.9.1 A regularly scheduled bugfix release, late due to vacations and similar disruptions at the regular time. * commands + record: prevent commits that don't pick up dirty subrepo changes (issue6102) * extensions + rebase: add missing dashes in help text * unsorted + subrepo: avoid false unsafe path detection on Windows + test-https: add some more known failure messages of client certs (issue6030) ------------------------------------------------------------------- Fri Feb 1 22:19:10 UTC 2019 - Andrei Dziahel - Mercurial 4.9 This is a regularly-scheduled quarterly feature release. See complete changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.9_.282019-02-01.29 * Security Fixes It was possible to use symlinks and subrepositories to defeat Mercurial's path-checking logic and write files outside a repository. This has been fixed. Users on older versions can either disable subrepositories witt ``` [subrepos] allowed = false ``` in their configuration or by ensuring any cloned repositories don't contain malicious symlinks. * New Features + 'hg histedit' will now present a curses UI if curses is available and 'ui.interface' or 'ui.interface.histedit' is set to 'curses'. + The 'sparse-revlog' delta strategy is enabled by default for new repositories. See `hg help config.format.sparse-revlog` for details. * Other Notable Features + New `rewrite.update-timestamp=True` option to update the commit timestamp on history editing (e.g. amend.) + New `ui.message-output=stderr` option for scripting, which prevents status messages from interleaved. + New `rootglob:` filename pattern for a glob that is rooted at the root of the repository. See `hg help patterns` and `hg help hgignore` for details. + Some more reimplementation of ancestry algorithms in Rust for better performance. * Backwards Compatibility Changes + Boolean options passed to the logtoprocess extension are now formatted as "0" or "1" instead of "None", "False", or "True". + The logtoprocess extension no longer supports invalid "ui.log()" arguments. A log message is always formatted and passed in to the "$MSG1" environment variable. * Internal API Changes + Status messages may be sent to a dedicated stream depending on configuration. Don't use "ui.status()", etc. as a shorthand for conditional writes. Use "ui.write()" for data output. + Add 'exthelper' class to simplify extension writing by allowing functions, commands, and configitems to be registered via annotations. The previous APIs are still available for use. + The extension hook "extsetup" without a 'ui' argument has been deprecated, and will be removed in the next version. Add a 'ui' argument to avoid the deprecation warning. ------------------------------------------------------------------- Tue Jan 8 21:40:31 UTC 2019 - Andrei Dziahel - Mercurial 4.8.2 This is a regularly-scheduled bugfix release containing following fixes: * commands + update: do not pass in user revspec as default destination (issue6044) * core + match: fix assertion for fileset with no context (issue6046) + revlog: catch delta base value under -1 + revlog: catch revlog corruption in index_baserev + server: always close http socket if responding with an error (issue6033) + vfs: ensure closewrapbase fh doesn't escape by entering context manager * extensions + phabricator: properly encode boolean types in the request body * unsorted + windows: ensure mixedfilemodewrapper fd doesn't escape by entering context mgr + worker: do not swallow exception occurred in main process ------------------------------------------------------------------- Wed Dec 5 05:33:08 UTC 2018 - Andrei Dziahel - Mercurial 4.8.1 A regularly scheduled bugfix release. Some security fixes are included, but all are expected to be low-risk. * commands - commandserver: get around ETIMEDOUT raised by selectors2 - graft: do not try to skip rev derived from ancestor more than once (issue6024) - verify: provide unit to ui.makeprogress() * core - revlog: fix out-of-bounds access by negative parents read from revlog (SEC) * extensions - rebase: abort in-mem rebase if there's a dirty merge state - rebase: fix dir/file conflict detection when using in-mem merge - rebase: fix path auditing to audit path relative to repo root (issue5818) - rebase: preserve working copy when redoing in-mem rebase on disk * unsorted - tests: stabilize test-inherit-mode.t on FreeBSD and macOS (issue6026) ------------------------------------------------------------------- Tue Nov 6 18:48:37 UTC 2018 - Andrei Dziahel - mercurial-4.8-python2-shebang.patch: fixes boo#1114895 - explicitly depend on Python 2.7+ ------------------------------------------------------------------- Sat Nov 3 06:56:57 UTC 2018 - Andrei Dziahel - Mercurial 4.8 This is a regularly-scheduled quarterly feature release. See release overview at https://www.mercurial-scm.org/wiki/Release4.8 and complete changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.8_.282018-11-02.29 ------------------------------------------------------------------- Tue Oct 2 10:44:12 UTC 2018 - Andrei Dziahel - Mercurial 4.7.2 This is a regularly-scheduled bugfix release containing following fixes: * security + Fix a potential out-of-bounds read in manifest parsing C code. * core + various minor correctness fixes in revsets for commonancestors() and similar * unsorted + chgserver: do not send system() back to client if stdio redirected (issue5992) + procutil: compare fd number to see if stdio protection is needed (issue5992) ------------------------------------------------------------------- Wed Sep 5 10:41:44 UTC 2018 - Andrei Dziahel - Mercurial 4.7.1 This is a regularly-scheduled bugfix release containing following fixes: * commands + merge: do not delete untracked files silently (issue5962) * core + revlog: fix descendant deprecated method * hgweb + hgweb: load revcount + 1 entries to fill nextentry in log page (issue5972) * performance + remotephase: avoid full changelog iteration (issue5964) + remotephase: fast path newheads computation in simple case (issue5964) + scmutil: avoid quadratic membership testing (issue5969) + sparse-revlog: fix delta validity computation ------------------------------------------------------------------- Sun Aug 12 13:38:23 UTC 2018 - develop7@develop7.info - Mercurial 4.7 This is a regularly-scheduled quarterly feature release and has it's own release notes page which can be found here: [Full release notes](https://www.mercurial-scm.org/wiki/Release4.7) ------------------------------------------------------------------- Tue Jul 3 17:22:02 UTC 2018 - develop7@develop7.info - Mercurial 4.6.2 This is a regularly-scheduled bugfix release containing following fixes: * merge: do not fill manifest of committed revision with pseudo node (issue5526) * crecord: fix line number in hunk header (issue5917) * lazymanifest: don't crash when out of memory (issue5916) * procutil: use unbuffered stdout on Windows ------------------------------------------------------------------- Fri Jun 8 07:32:56 UTC 2018 - develop7@develop7.info - Mercurial 4.6.1 This is a regularly-scheduled bugfix release that also contains security fixes. * Security Fixes Multiple issues found in mpatch.c with a fuzzer: + OVE-20180430-0001 + OVE-20180430-0002 + OVE-20180430-0004 With the following fixes: mpatch: be more careful about parsing binary patch data (SEC) mpatch: protect against underflow in mpatch_apply (SEC) mpatch: ensure fragment start isn't past the end of orig (SEC) mpatch: fix UB in int overflows in gather() (SEC) mpatch: fix UB integer overflows in discard() (SEC) mpatch: avoid integer overflow in mpatch_decode (SEC) mpatch: avoid integer overflow in combine() (SEC) No exploits are known at the time, however, it is highly recommended that all users upgrade. * Bug Fixes Also included in this release are the following, + zstandard: pull in bug fixes from upstream 0.9.1 (issue5884) + bundle2: fix old clients from reading newer format (issue5872) + bdiff: fix xdiff long/int64 conversion (issue5885) + push: continue without locking on lock failure other than EEXIST (issue5882) + lfs: fix crash in command server (issue5902) + hghave: fix deadlock in test runner + rebase: fix error when computing obsoletenotrebased (issue5907) + rebase: prioritize indicating an interrupted rebase over update (issue5838) + revset: pass in lookup function to matchany() (issue5879) ------------------------------------------------------------------- Fri May 11 16:40:56 UTC 2018 - develop7@develop7.info - Mercurial 4.6 This is a regularly-scheduled quarterly feature release. See complete changelog at https://www.mercurial-scm.org/wiki/Release4.6 ------------------------------------------------------------------- Wed Apr 4 15:00:16 UTC 2018 - develop7@develop7.info - Mercurial 4.5.3 This is a regularly-scheduled bugfix release. * Bug Fixes + rebase: on abort, don't strip commits that didn't need to be rebased (issue5822) + hgweb: garbage collect on every request + amend: abort if unresolved merge conflicts found (issue5805) ------------------------------------------------------------------- Sat Mar 10 05:41:23 UTC 2018 - develop7@develop7.info - Modernize spec-file by calling spec-cleaner ------------------------------------------------------------------- Wed Mar 7 08:10:06 UTC 2018 - develop7@develop7.info - Mercurial 4.5.2 (4.5.2 was released immediately after 4.5.1 to fix a release oversight.) 1. Security Fixes (CVE-2018-1000132,bsc#1085211) All versions of Mercurial prior to 4.5.2 have vulnerabilities in the HTTP server that allow permissions bypass to: * Perform writes on repositories that should be read-only * Perform reads on repositories that shouldn't allow read access 2. Backwards Compatibility Changes The "batch" wire protocol command now enforces permissions of each invoked sub-command. Wire protocol commands must define their operation type or the "batch" command will assume they can write data and will prevent their execution on HTTP servers unless the HTTP request method is POST, the server is configured to allow pushes, and the (possibly authenticated) HTTP user is authorized to perform a push. Wire protocol commands not defining their operation type in "wireproto.PERMISSIONS" are now assumed to be used for "push" operations and access control to run those commands is now enforced accordingly. 3. Bug Fixes fileset: don't abort when running copied() on a revision with a removed file date: fix parsing months setup: only allow Python 3 from a source checkout (issue5804) annotate: do not poorly split lines at CR (issue5798) subrepo: don't attempt to share remote sources (issue5793) subrepo: activate clone pooling to enable sharing with remote URLs changegroup: do not delta lfs revisions revlog: do not use delta for lfs revisions revlog: resolve lfs rawtext to vanilla rawtext before applying delta See full cnahgelog on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.5.1_.2F_4.5.2_.282018-03-06.29 ------------------------------------------------------------------- Sun Feb 4 19:11:49 UTC 2018 - develop7@develop7.info - Mercurial 4.5 See full changelog on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.5-rc_.282018-01-22.29 1. New Features 1.1. revert --interactive The revert command now accepts the flag --interactive to allow reverting only some of the changes to the specified files. 1.2. Accessing hidden changesets Set config option `experimental.directaccess = True` to access hidden changesets from read only commands. 1.3. githelp extension The githelp extension provides the `hg githelp` command. This command attempts to convert a git command to its Mercurial equivalent. The extension can be useful to Git users new to Mercurial. 1.4. Largefiles changes largefiles: add a 'debuglfput' command to put largefile into the store largefiles: add support for 'largefiles://' url scheme largefiles: allow to run 'debugupgraderepo' on repo with largefiles largefiles: convert EOL of hgrc before appending to bytes IO largefiles: explicitly set the source and sink types to 'hg' for lfconvert largefiles: modernize how capabilities are added to the wire protocol 2. hgweb changes hgweb now shows more information about commits: phase (if it's not public), obsolescence status (with a short explanation and links to the successors) and instabilities (e.g. orphan, phase-divergent or content-divergent). Client-side graph code has been simplified by delegating more work to the backend, so /graph page is now more in sync with /log page, visually and feature-wise. Unfortunately, this code change means that 3rd-party themes for 4.5+ are required to have graphentry.tmpl template available (copy it from the base theme if you don't use %include and then reference it in map file) and render entries in graph.tmpl -- look at one of the core themes to see what it needs to look like. JS functions that create graph vertices and edges are now available in Graph.prototype, making it possible to call the original functions from custom theme-specific functions if needed. Graph now shows different symbols for normal, branch-closing, obsolete and unstable commits, and marks currently checked out commit with a circle around its graph node. There's also now json-graph API endpoint that can be used for rendering commit graph in 3rd-party applications. 2.1. Other Changes When interactive revert is run against a revision other than the working directory parent, the diff shown is the diff to _apply_ to the working directory, rather than the diff to _discard_ from the working copy. This is in line with related user experiences with 'git' and appears to be less confusing with 'ui.interface=curses'. Let 'hg rebase' avoid content-divergence by skipping obsolete changesets (and their descendants) when they are present in the rebase set along with one of their successors but none of their successors is in destination. A new experimental config flag, `rebase.experimental.inmemory`, makes rebase perform an in-memory merge instead of doing it on-disk in the working copy. The `HGPLAINEXCEPT` environment variable can now include color to allow automatic output colorization in otherwise automated environments. A new `unamend` command in `uncommit` extension which undoes the effect of the amend command by creating a new changeset which was there before amend and moving the changes that were amended to the working directory. A '--abort' flag to merge command to abort the ongoing merge. An experimental flag '--rev' to 'hg branch' which can be used to change branch of changesets. bundle2 read I/O significantly improved bundle2 memory use significantly reduced during read clonebundle: it is now possible to serve the clonebundle using a git-lfs compatible server. templatefilters: add slashpath() to convert path separator to slash (issue5572) A new experimental config flag, 'inline-color-diff', adds within-line color diff capacity histedit: add support to output nodechanges using formatter to help with editor integrations 3. Backwards Compatibility Changes `log --follow-first -rREV`, which is deprecated, now follows the first parent of merge revisions from the specified REV just like `log --follow -rREV`. `log --follow -rREV FILE..` now follows file history across copies and renames. transaction: register summary callbacks only at start of transaction hgweb's graph view no longer supports browsers that lack support hgweb: only include graph-related data in jsdata variable on /graph pages graphlog: add another graph node type, unstable, using character * remove: print message for each file in verbose mode only while using '-A' ------------------------------------------------------------------- Sat Nov 11 15:44:35 UTC 2017 - develop7@develop7.info - Mercurial 4.4.1 1. Notable changes * Git and Subversion subrepos have been disabled by default to mitigate a potential security risk if files overlapping with a subrepo managed to be committed to a repository. bsc#1071715 CVE-2017-17458 * Subrepos are now more paranoid about symlink traversal. * The share extension handles drive letters on Windows better. It is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked in to the repository in Mercurial 4.4 and earlier. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically. ------------------------------------------------------------------- Sun Nov 5 10:56:38 UTC 2017 - develop7@develop7.info - Mercurial 4.4 Notable changes Control whitespace settings for annotation on hgweb * /annotate URLs on hgweb now accept query string arguments to influence how whitespace changes impact results. * The arguments "ignorews," "ignorewsamount," "ignorewseol," and "ignoreblanklines" now have the same meaning as their [annotate] config section counterparts. Any provided setting overrides the server default. * HTML checkboxes have been added to the paper and gitweb themes to expose current whitespace settings and to easily modify the current view. Fast, heuristic copy-tracing A new fast heuristic algorithm for copytracing which assumes that the files moves are either: 1. renames in the same directory 2. moves in other directories with same names You can use this algorithm by setting 'experimental.copytrace=heuristics'. This setting performs full copytracing if both source and destination branches contains non-public changesets only. Other changes * Estimated time is more accurate with non-linear progress * "hg status -v" can now show unfinished state. For example, when in an unfinished rebase state, "hg status -v" might show: # The repository is in an unfinished *rebase* state. # No unresolved merge conflicts. # To continue: hg rebase --continue # To abort: hg rebase --abort * Added '--ignore-space-at-eol' diff option to ignore whitespace differences at line endings. * show: use consistent node length in views * show: decrease minimum displayed hash length from 5 to 4 * A new uncommit extension which provides 'hg uncommit' using which one can uncommit part or all of the changeset. This command undoes the effect of a local commit, returning the affected files to their uncommitted state. * 'hg clone --uncompressed' uses clone bundles when possible * 'hg annotate --skip' now prints a '*' on lines with skipped revisions * New 'commands.update.check' feature to adjust constraints on when 'hg update' will allow updates with a dirty working copy. * Add an experimental -L/--line-range FILE,FROMLINE:TOLINE option to 'hg log' command to follow the history of files by line range. In combination with -p/--patch option, only diff hunks within specified line range will be displayed. Feedback, especially on UX aspects, is welcome. * Print warning when fsmonitor isn't being used on a large repository Read rest of the changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.4_.282017-11-01.29 - Mercurial 4.3.3 * Prevent crashes when clearing progress bar. (issue5684) * rebase: move bookmarks with --keep (issue5682) - Mercurial 4.3.2 * restore compatibility with older versions of Python 2.7 by not using a bytearray with struct.unpack_from() * restore mingw compatibility for setup.py * hgwebdir: read 'web.template' untrusted (plugs potential security issue) * repair: preserve phase when not using generaldelta (issue5678) * ssh: fix flakey ssh errors on BSD systems * restore error handling behavior around certain I/O errors; the regressed behavior could result in transactions not being properly rolled back if stdio handles encountered errors (issue5658) * templatekw: choose {latesttag} by len(changes), not date (issue5659) * record: fix revert -i for lines without newline (issue5651) * mq: create non-lossy patches, also with custom global diff configuration - Fixed README file name (now it's README.rst) ------------------------------------------------------------------- Tue Aug 15 14:26:18 CEST 2017 - tiwai@suse.de - Mercurial 4.3.1: This is a regularly-scheduled quarterly feature release, including the previous two security fixes (CVE-2017-1000115, CVE-2017-1000116) Notable changes: * experimental amend extension providing the amend command * experimental sparse extension * Support for Python 2.6 has been dropped. * Bundles created by the strip extension now store phase information. It will be restored when unbundling. * The strip extension now removes relevant obsmarkers. If a backup requested (the default), the obsmarkers are stored in the backup bundle and will be restored when unbundling. * hg show work (from the experimental show extension) now displays more info * hg show stack is a new view for the current, in-progress changeset and others around it * Mitigation for two security vulnerabilities ------------------------------------------------------------------- Thu Aug 10 22:58:59 CEST 2017 - tiwai@suse.de - mercurial 4.2.3: security fix updates for CVE-2017-1000115 and CVE-2017-1000116: * Mercurial's symlink auditing was incomplete prior to 4.3, and could be abused to write to files outside the repository (CVE-2017-1000115 bsc#1053344) * Mercurial was not sanitizing hostnames passed to ssh, allowing shell injection attacks by specifying a hostname starting with -oProxyCommand (CVE-2017-1000116, bsc#1052696) ------------------------------------------------------------------- Wed Jul 5 19:37:07 UTC 2017 - develop7@develop7.info - Mercurial 4.2.2 This is a regularly-scheduled bugfix release. * largefiles: avoid a crash when archiving a subrepo with largefiles disabled * rebase: also test abort from pretxnclose error * rebase: backed out changes 2519994d25ca and cf8ad0e6c0e4 (issue5610) * rebase: reinforce testing around precommit hook interrupting a rebase - Mercurial 4.2.1 This is a regularly-scheduled bugfix release. * `hg graft` now works when grafting across merges that were problematic before (b4e1e30528c7). * A race condition in `hg status` was partially fixed (issue5584). * The message about deprecated SHA-1 hashes in the [hostfingerprints] config section now references the correct syntax for replacing them with SHA-256 hashes (issue5559). ------------------------------------------------------------------- Sun May 7 09:12:06 UTC 2017 - develop7@develop7.info - Mercurial 4.2 This is a regularly-scheduled quarterly feature release. * Notable changes + Pager support has been moved into core and is now enabled by default. This is now controlled with the ui.paginate setting. Note that in 4.2-rc, the ui.paginate option was named pager.enable. The old name has been dropped in the final release. If you had turned pagination off using pager.enable=False, please update your config. + Color support has also been moved into core and is now enabled by default (the ui.color setting now defaults to 'auto'). + The new experimental 'show' extension provides a way to view various information about your repository in an ergonomic way. It is deliberately designed for human consumption and not for scripting, so it doesn't carry the same backward compatibility guarantees as other commands. See 'hg help -e show' for more information. + Mercurial now requires `setuptools` on Windows ------------------------------------------------------------------- Tue Apr 4 17:29:18 UTC 2017 - develop7@develop7.info - Mercurial 4.1.2 This is a regularly-scheduled bugfix release. + Mercurial should work inside IIS on Windows again. (issue5493) + zstd support now refuses to work on old bundle formats. (issue5506) + Merges involving subrepositories no longer crash in some cases. (issue5505) + Checking for new heads during push is no longer accidentally quadratic - Mercurial 4.1.1 This is a regularly-scheduled bugfix release. + Several incorrect mailing list addresses have been corrected. + Various error cases have been corrected during push and pull. + Minor issues that happened when Mercurial spawned worker processes have been fixed. ------------------------------------------------------------------- Wed Feb 1 20:59:31 UTC 2017 - develop7@develop7.info - Mercurial 4.1 This is a regularly-scheduled quarterly feature release. + Features * A new extensible "compression engines" API has been implemented. Support for a new compression format can now be implemented in extensions. * New compression formats are fully supported in bundles and the wire protocol. There is experimental support for different compression in revlogs. * zstd - a new and exciting compression engine - is now distributed with Mercurial and built by default * HTTP payloads for many commands will now use zstd by default (as opposed to zlib) when both client and server support it. This can reduce server-side CPU usage to ~60% of original for operations like serving bundles. * zstd compressed bundles can be produced by specifying the `zstd` bundle type. e.g. `hg bundle -a -t zstd-v2 zstd-bundle.hg`. * A new statistical profiler has been added and made the default profiler for `--profile`. This profiler gives more accurate results than Python's built-in cProfile (the previous default) because the profiler overhead is much smaller. The output from `--profile` now displays the code hot path by default. This allows Mercurial developers to more accurately identify performance problems. * New `followlines(file, from:to, startrev=.)` revset predicate to track a part of changes. * Experimental support for additional git-diff features. * Troubled changes (from ChangesetEvolution) are noted more prominently in a few places. * An experimental hg debugupgraderepo command allows in-place upgrading of repositories to the latest storage format. + Improvements * Performance of reading individual revlog entries has been greatly improved. This will be noticeable when performing changelog scans on large repositories (such as when executing certain revsets). * The low-level content diffing algorithm is now ~2x faster. Operations that write data to the repository (like commit) can be noticeably faster as a result. See complete changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.1_.282017-2-1.29 - refreshed mercurial-locale-path-fix.patch and mercurial-hgk-path-fix.diff - refresh package keyring ------------------------------------------------------------------- Fri Jan 6 08:26:50 UTC 2017 - mpluskal@suse.com - Update to version 4.0.2: * demandimport: do not raise ImportError for unknown item in fromlist * posix: make poll() restart on interruption by signal * hgweb: add missing slash to file log url in rss style * hgweb: cache fctx.parents() in annotate command * vfs, scmutil: ignore EPERM at os.utime, which avoids ambiguity - Update package keyring ------------------------------------------------------------------- Wed Nov 2 05:21:09 UTC 2016 - develop7@develop7.info - Mercurial 4.0 This is a regularly-scheduled quarterly feature release. Unlike other 4.0 software releases, this is simply 3.9 + .1, so it should be the usual pain-free upgrade. + Features * The following commands now also have experimental formatter support: 'hg version', 'hg grep' and 'hg config' * New template keywords and functions: `termwidth`, `mod(a, b)`, `relpath(path)` * Basic arithmetic operations in template such as `termwidth - 10` * `follow()` revset takes new `startrev` parameter * Bash completion now allows skipping potentially expensive status call for completing 'hg status' arguments, using $HGCOMPLETE_NOSTATUS environment variable + Improvements * A number of changes were made to move and copy tracking, to make sure move and copy information is not lost during commands like 'hg graft' * Compound revset expression is now properly ordered * Python 3 support has received a lot of improvements (but will take a lot of additional work) * zlib performance in hgweb is improved, and it's possible to control zlib compression level using server.zliblevel option - Refreshed mercurial-hgk-path-fix.diff and mercurial-locale-path-fix.patch ------------------------------------------------------------------- Mon Sep 19 16:16:20 UTC 2016 - develop7@develop7.info - Mercurial 3.9.1 (2016-9-1) This is a regularly-scheduled bugfix release. * bundle2: fail faster when interrupted * bundle2: localize handleoutput remote prompts * convert: move svn config initializer out of the module level * debian: update source URL in copyright file * exchange: correctly specify url to unbundle (issue5145) * help: add example of '[templates]' usage * help: update link to wiki/CommandServer * osx: update bugzilla link in readme * revset: fix keyword arguments to go through optimization process * win32: update link to mailing list in readme * win32: update wiki link in mercurial.ini ------------------------------------------------------------------- Mon Aug 1 18:01:50 UTC 2016 - develop7@develop7.info - Mercurial v3.9 + Features * ui.textwidth can now be set to define width of help text * separate() template function added * ui.rollback can be set to false to disable the hg rollback command * fail- hooks now run when a command fails * experimental.graphstyle.* config options to control styling of graphs in console * experimental.histedit.autoverb allows histedit lines beginning with "verb!" to be interpreted as histedit actions * [hostsecurity] config section for defining advanced per-host security settings * ability to define the SHA-256 and SHA-512 hashes of pinned server certificates * ability to define CA certificates on a per-host basis * ability to define the minimum TLS protocol version on a global or per-host basis * sort() revset can now perform topological sorts using the topo option * hgweb can now render JSON for filelog, filerevision, summary, and search web commands * [paths] entries can now define a pushrev sub-option to control which revisions to push by default * The experimental 'journal' extension was added, allowing users to view the previous positions of bookmarks and the working copy + Improvements This release includes many improvements, including (but not limited to): * performance of `hg diff` has been improved * chg now detects more changes to the configuration and execution environment * SSL/TLS code has been significantly refactored and now is consistent across all consumers (HTTPS, SMTPS) * performance improvements to server communication (particularly for the largefiles and remotefilelog extensions) * connections to servers whose certificate authority (CA) is unknown are now refused even if no CA certificates are available (see SecureConnections for details) * fingerprints of server certificates are now printed using SHA-256 instead of SHA-1 * reads and writes to certain files is now robust and avoids more race conditions and edge cases (see ExactCacheValidationPlan) * performance improvements to certain revsets * cloning will no longer prompt for a password multiple times when cloning from a server that requires a password * annotate view in hgweb now groups lines into blocks depending on their revision and highlights lines for the current revision * hgweb now displays extra information and also navigation links in popups for each line in annotate view ------------------------------------------------------------------- Sun Jun 12 17:53:35 UTC 2016 - astieger@suse.com - mercurial 3.8.3: * bookmarks: allow pushing active bookmark on new remote head * localrepo: prevent executable-bit only changes from being lost on amend * strip: invalidate phase cache after stripping changeset - verify source signature ------------------------------------------------------------------- Tue May 17 07:05:53 UTC 2016 - develop7@develop7.info - Mercurial v3.8.2 This is an unscheduled bugfix release. 3.8.1 contained a noisy deprecation warning that was only intended for Mercurial developers, sorry. * bookmarks: properly invalidate volatile sets when writing bookmarks * builddeb: add distroseries to tagged versions * bundle2: properly request phases during getbundle * debian: add wish to suggests * debian: forgot to make debian/rules executable in 6b95a623ec90 * deprecation: gate deprecation warning behind devel configuration * help: fix the display for hg help internals.revlogs (issue5227) * help: search section of help topic by translated section name correctly * hg-ssh: copy doc string to man page * patch: show lower-ed translated message correctly * progress: stop excessive clearing (issue4801) ------------------------------------------------------------------- Tue May 3 17:52:05 UTC 2016 - develop7@develop7.info - fix mercurial-locale-fix.patch ------------------------------------------------------------------- Mon May 2 19:13:38 UTC 2016 - develop7@develop7.info - update to v3.8.1 (3.8.1 was released immediately after 3.8 to fix a release oversight.) Regularly scheduled feature release. This release contains a low-priority security fix for: * CVE-2016-3105 Mercurial: arbitrary code execution when converting Git repos Features * `hg update` and other commands that can perform update (such as hg pull -u) now warn about other topological heads * cHg has been added * `hg update` now updates to the tip-most changeset on the same topological branch. Before, it would update to the tip-most changeset, possibly on a different topological head * Hints on how to continue interrupted commands are now printed (e.g. `hg resolve -m` will now tell you to run `hg rebase --continue` or `hg histedit --continue`) * The experimental automv extension has been added. This extension attempts to detect file copes and renames automatically. * The 3rd party hgwatchman extension has been imported as the fsmonitor extension. This extension uses filesystem watching to make commands like `hg status` significantly faster on large repositories. * `hg rebase` now chooses its default destination the same way `hg merge` does * `hg pull -u` now activates a bookmark if the has a bookmark * `hg pull -u` now deactivates a bookmark if the destination doesn't match the existing bookmark * Improved edge styles in graph log. * User template keywords and functions can be defined in `[templatealias]` section. * It's now possible to push the active bookmark using `hg push -B .`. Improvements This release includes many improvements, including (but not limited to): * performance of copy detection during rebases has been improved, potentially leading to faster rebase execution * performance of `hg log -f ` has been improved * syntax errors in loaded extensions are now handled better * `hg update` on Windows should now be up to 4x faster * JSON encoding should now be proper UTF-8 for all inputs * Performance of the - revset operator has been improved * The blackbox extension now logs more data * "hgext" is now a Python namespace package * revsets accessing changelog data (commit messages, authors, dates) are now 10-15% faster * hg.exe built in MinGW will now link against the proper Python DLL ------------------------------------------------------------------- Wed Mar 30 13:18:23 UTC 2016 - develop7@develop7.info - update to v3.7.3 This is an out of cycle release to address three security issues: * CVE-2016-3630 Mercurial: remote code execution in binary delta decoding Mercurial prior to 3.7.3 contained two bounds-checking errors in its binary delta decoder that may be exploitable via clone, push, or pull. * CVE-2016-3068 Mercurial: arbitrary code execution with Git subrepos Mercurial prior to 3.7.3 allowed URLs for Git subrepos that could result in arbitrary code execution on clone. This is a further side-effect of Git CVE-2015-7545. Reported by Blake Burkhart. * CVE-2016-3069 Mercurial: arbitrary code execution when converting Git repos Mercurial prior to 3.7.3 allowed arbitrary code execution when converting Git repos with hostile names. This could affect automated conversion services. Reported by Blake Burkhart. + bdiff: (pure) support array.array arrays (issue5130) + convert: add new, non-clowny interface for shelling out to git (SEC) + convert: dead code removal - old git calling functions (SEC) + convert: rewrite calls to Git to use the new shelling mechanism (SEC) + convert: rewrite gitpipe to use common.commandline (SEC) + convert: test for shell injection in git calls (SEC) + files: don't recurse into subrepos without a path or -S (issue5127) + hg: perform update after pulling during clone with share (issue5103) + mq: restrict generated patch name to 75 characters (issue5117) + obsolete: fix n^2 marker computation behavior + parsers: detect short records (SEC) + parsers: fix list sizing rounding error (SEC) + streamclone: fix error when store files grow while stream cloning + subrepo: adapt to git's recent renames-by-default + subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC) ------------------------------------------------------------------- Sun Mar 13 19:05:14 UTC 2016 - develop7@develop7.info - update to v3.7.2 This is a regularly-scheduled bugfix release. + bundlerepo: properly handle hidden linkrev in filelog (issue4945) + bundlerepo: properly handle hidden linkrev in manifestlog (issue4945) + demandimport: add _imp to ignore list + doc: correct example concerning "hg purge" alias in man page "hgrc.5" + doc: remove deprecated option from synopsis of command help + fileset: fix copy/paste in eol() error message + help: fix typo in backgroundclose documentation + help: hg.intevation.de is new primary name of hg.intevation.de (and new cert) + help: update template examples to use reST literal syntax + hg: obtain lock when creating share from pooled repo (issue5104) + log: fix order of revisions filtered by multiple OR options (issue5100) + rebase: update working directory when aborting (issue5084) + revert: properly revert to ancestor of p2 during merge (issue5052) + revset: flatten chained 'list' operations (aka function args) (issue5072) + setup: avoid procedure related to hg.exe at setup.py --pure + ui: fix crash by non-interactive prompt echo for user name + unionrepo: properly handle hidden linkrev in revlog (issue5070) + zeroconf: forward all arguments passed to ui.configitems() wrapper ------------------------------------------------------------------- Thu Feb 11 09:10:33 UTC 2016 - wr@rosenauer.org - update to 3.7.1 This addresses an urgent regression in compilation on Solaris and metadata handling for conversions. + amend: don't preserve most extra fields + graft: don't preserve most extra fields + histedit: fix typo in documentation + osutil: disable compilation of recvfds() on unsupported platforms + osutil: do not abort loading pure module just because libc has no recvmsg() + rebase: backout changeset 986d04b9fedd + rebase: backout changeset d755a9531fce + rebase: don't preserve most extra fields ------------------------------------------------------------------- Tue Feb 2 14:54:14 UTC 2016 - develop7@develop7.info - update to v3.7 * Features + Generaldelta: the original Mercurial compression format had an inefficient way of storing history in very branchy repositories. Generaldelta addresses this weakness. As a result, depending on the repository, this can improve the size of the history up to a factor of 10. Mercurial 1.9 was the first release to support generaldelta (behind a feature flag), but Mercurial 3.7 also allows pulling a mixture of non-generaldelta and generaldelta history without having to recompute everything, which avoids overloading servers. As a result, generaldelta is now enabled by default. You can convert a repository to generaldelta using: `hg clone -U --config format.generaldelta=1 --pull originalrepo generaldeltarepo` + Clonebundles: this is an server-side extension. It allows using a pre-generated bundle for an initial Mercurial clone. Clients will automatically use clonebundles if a server advertises them. Clonebundles allows much faster initial clones and reduces the load on a central server significantly. Mercurial 3.6 was the first version to include experimental clonebundles support, it's now been marked non-experimental. You can find out more using: `hg help clonebundles`. + Filesets now support 'missing()', to specify all files missing according to `hg status`. + Interactive committing (`hg commit -i`) and amending (`hg commit --amend`) can now be used together. + Merging can now handle collisions between untracked and tracked files, configurable according to the config option `merge.checkunknown`. + Default 'histedit' destination: it's now possible to run `hg histedit` without specifying a base revision. Mercurial will try to determine an appropriate base automatically. The revset used for this is "`reverse(only(.) and not public() and not ::merge())`", which specifies the first ancestor of the current changeset that is not public and does not have any descendants that are merges. + The '*.orig' files created by revert can now be stored in a different location, specified by the config option `ui.origbackuppath`. + `hg shelve` now supports storing untracked files. + `hg unshelve` now supports using a custom merge tool. + `hg backout` now commits by default if no conflicts were encountered. + hgweb now supports rendering sub-topics. + Server operators can now limit interaction with legacy clients speaking an outdated wire protocol. This is useful for preventing excessive CPU use when the server is using generaldelta repositories. See the various `bundle1` options in `hg help config.server`. + Python wheel packages are now available for Windows on PyPI + `[paths]` entries can now define a separate URL for pushes. See `hg help config.paths` for more. * Improvements This release includes many improvements, including (but not limited to): + performance improvements (speedup for '`hg log `') + many documentation improvements (clarification, additional examples (see `hg help --verbose`), ...) + improved PyPy support + `hg clone --uncompressed` is now 3-4x faster on Windows. See the `backgroundclose*` options in `hg help config.worker` for more. ------------------------------------------------------------------- Sun Dec 6 21:03:59 UTC 2015 - wr@rosenauer.org - update to 3.6.2 This is a regularly-scheduled bugfix release. + docker: match more version of 'hg docker version' + localrepo.commit: check all files for resolve state + rebase: add returning value from pullrebase function + resolve: restore .orig only after merge is fully complete + share: wrap bmstore._writerepo for transaction sensitivity + tags: create new sortdict for performance reasons ------------------------------------------------------------------- Wed Nov 11 06:13:01 UTC 2015 - wr@rosenauer.org - update to 3.6.1 This is an out-of-cycle bugfix release for issues related to hooks See detailed release notes on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_3.6.1_.282015-11-9.29 ------------------------------------------------------------------- Sun Nov 8 18:27:33 UTC 2015 - wr@rosenauer.org - update to 3.6 Regularly-scheduled feature release. See detailed release notes on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_3.6_.282015-11-1.29 ------------------------------------------------------------------- Sun Oct 4 08:02:36 UTC 2015 - wr@rosenauer.org - update to 3.5.2 Regularly-scheduled bugfix release. + hgweb: use latest mtime for caching tag (issue4814) + largefiles: restore archiving largefiles with hgweb (issue4859) + localrepo: recreate phasecache if changelog was modified (issue4855) + monoblue: fix page subtitle on help pages + unbundle: cleanly abort on unknown bundle2 feature ------------------------------------------------------------------- Mon Sep 14 15:38:51 UTC 2015 - wr@rosenauer.org - update to 3.5.1 Regularly-scheduled bugfix release + convert: fix git copy file content conversions + filesets: ignore unit case in size() predicate for single value + help: fix typo familar -> familiar + help: fix typo in scripting documentation + hg: avoid auto sharing when the clone destination is remote + hgweb: fix trust of templates path (BC) + histedit: backout ebb5bb9bc32e + largefiles: ensure lfutil.getstandinmatcher() only matches standins + match: fix a case-only rename + explicit path commit on icasefs (issue4768) + parsers: fix memory leak in compute_phases_map_sets + rebase: lock the repo during the full rebase operation + revset: prevent crash caused by empty group expression while optimizing "and" + revset: prevent crash caused by empty group expression while optimizing "or" + strip: use the 'finally: tr.release' pattern during stripping + update: wlock the repo for the whole 'hg update' command - require python-curses (boo#944183) ------------------------------------------------------------------- Tue Aug 4 13:38:09 UTC 2015 - develop7@develop7.info - update to v3.5 Regularly-scheduled feature release. See detailed release notes on https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.5_.282015-07-31.29 ------------------------------------------------------------------- Sat Jul 25 02:12:42 UTC 2015 - develop7@develop7.info - update to v3.4.2 See detailed release notes on https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4.2_.282015-07-01.29 and https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4.1_.282015-06-01.29 ------------------------------------------------------------------- Sun May 3 21:59:01 UTC 2015 - develop7@develop7.info - update to 3.4 This is a regularly-scheduled feature release. See full release notes at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4_.282015-05-01.29 ------------------------------------------------------------------- Fri Apr 3 20:35:23 UTC 2015 - wr@rosenauer.org - update to 3.3.3 This is a regularly-scheduled bugfix release. + adjustlinkrev: handle 'None' value as source + adjustlinkrev: prepare source revs for ancestry only once + amend: check for directory renames for both merge parents (issue4516) + annotate: reuse ancestry context when adjusting linkrev (issue4532) + dirstate: don't require exact case when adding dirs on icasefs (issue4578) + dirstate: make sure rootdir ends with directory separator (issue4557) + filemerge: clean up language in mergemarkertemplate help + forget: cleanup the output for an inexact case match on icasefs + hgweb: prevent loading style map from directories other than specified paths + mergecopies: reuse ancestry context when traversing file history (issue4537) + templates: fix "log -q" output of default style + templates: fix "log -q" output of phases style + win32: 'raise ctypes.WinError' -> 'raise ctypes.WinError()' ------------------------------------------------------------------- Fri Mar 6 07:50:22 UTC 2015 - matwey.kornilov@gmail.com - Without installed python package hg is not able to clone https links, and it is not so easy to understand from error message: "python ssl support not found". ------------------------------------------------------------------- Tue Mar 3 13:04:29 UTC 2015 - develop7@develop7.info - update to v3.3.2 An unscheduled bugfix release to fix the fix. + transaction: really disable hardlink backups (issue4546) - update to v3.3.1 This is a regularly scheduled bugfix release. It fixes a significant regression with transactions on Windows network shares. + dispatch: work around UnicodeDecodeError caused by SSLError of Python 2.7.9 + hgweb: recreate old DOM structure for css in monoblue style + largefiles: access to specific fields only if largefiles enabled (issue4547) + log: fix json-formatted output when file copies are listed (issue4523) + repoview: invalidate cached changelog if _delayed changes (issue4549) + revisionbranchcache: fall back to slow path if starting readonly (issue4531) + revset: mask specific names for named() predicate + shellquote: fix missing quotes for empty string + templatekw: fix {join(bookmarks, sep)} to always show associated bookmarks + transaction: disable hardlink backups (issue4546) ------------------------------------------------------------------- Wed Feb 4 16:31:54 UTC 2015 - develop7@develop7.info - update to v3.3 + commands * add: add back forgotten files even when not matching exactly (BC) * addremove: add back forgotten files (BC) * addremove: add support for the -S flag * addremove: print relative paths when called with -I/-X (BC) * addremove: support addremove with explicit paths in subrepos * backout: add --commit option * commit: abort if --addremove is specified, but fails * commit: remove reverse search for copy source when not in parent (issue4476) * commit: propagate --addremove to subrepos if -S is specified (issue3759) * graft: show more useful status information while grafting + core * bundles: do not overwrite existing backup bundles (BC) * osx: patch .pax.gz files in pkg bundles so they extract as root (issue4081) * revset: handle hidden linkrev for file missing for head (issue4490) * revset: allow rev(-1) to indicate null revision (BC) * revset: fix ancestors(null) to include null revision (issue4512) * subrepo: don't abort in add when non-hg subrepos are present (issue4513) * cmdserver: use given streams as pipe channels like other commands * extensions: only check compatibility against major and minor versions (BC) * https: support tls sni (server name indication) for https urls (issue3090) * ignore: resolve ignore files relative to repo root (issue4473) (BC) * linkrev: handle filtered linkrev with no visible children (issue4307) * linkrev: also adjust linkrev when bootstrapping annotate (issue4305) * linkrev: use the right manifest content when adjusting linrev (issue4499) * memctx: calculate manifest correctly with newly-removed files (issue4470) * memctx: fix manifest for removed files (issue4470) * obsstore: disable garbage collection during initialization (issue4456) * subrepo: support remove with explicit paths in subrepos * subrepo: add full revert support for git subrepos * subrepo: add partial diff support for git subrepos * subrepo: add status support for ignored files in git subrepos * win32: remove Mercurial.ini file from Inno Setup installer (issue4435) + hgweb * hgweb: allow viewing diffs against p1 or p2 for merge commits (issue3904) + extensions * color: add support for colorizing git subrepo diffs * color: add missing 'dim' in _effects * convert: on svn failure, note libsvn version (issue4043) * convert: replace revision references in messages if they are >= short hashes * convert: handle LookupError in mercurial_source.lookuprev() * extdiff: reintroduce backward compatibility with manual quoting of parameters * histedit: add a test to show that issue4251 is fixed (issue4251) * largefiles: fix commit of a directory with no largefile changes (issue4330) * largefiles: use 'default' path for pulling largefiles, not 'default-push' * largefiles: enable subrepo support for add, forget, remove * largefiles: show progress when checking standin hashes in outgoing changesets * mq: smarter handling of plain headers * patchbomb: don't honor whitespace and format-changing diffopts (BC) * rebase: show more useful status information while rebasing * rebase: ensure rebase revision remains visible (issue4504) * extdiff: avoid unexpected quoting arguments for external tools (issue4463) * highlight: ignore Unicode's extra linebreaks (issue4291) * record: don't honor format-changing diffopts (issue4459) * share: add option to share bookmarks * transplant: properly skip empty changeset (issue4423) - provide cacerts.rc for all OS, not just >1130 ------------------------------------------------------------------- Fri Dec 19 08:06:30 UTC 2014 - develop7@develop7.info - update to v3.2.3 * context: stop setting None for modified or added nodes * darwin: omit ignorable codepoints when normcase()ing a file path * encoding: add hfsignoreclean to clean out HFS-ignored characters * largefiles: don't actually remove largefiles in an addremove dry run * log: fix log -f slow path to actually follow history * log: fix log revset instability * manifest: disallow setting the node id of an entry to None * pathauditor: check for Windows shortname aliases * pathauditor: check for codepoints ignored on OS X * rebase: ignore negative state when updating back to original wc parent * update: add tests for untracked local file * update: don't overwrite untracked ignored files on update ------------------------------------------------------------------- Tue Dec 16 19:10:40 UTC 2014 - develop7@develop7.info - properly replaced previously dropped mercurial-2.8-ssl.diff with cacerts.rc ------------------------------------------------------------------- Mon Dec 15 21:57:45 UTC 2014 - develop7@develop7.info - update to v3.2.2 * see changelog at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.2_.282014-12-01.29 ------------------------------------------------------------------- Sat Nov 15 14:35:07 UTC 2014 - develop7@develop7.info - update to 3.2.1 * see changelog for v3.2.1 at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.1_.282014-11-11.29 - refreshed mercurial-locale-path-fix.patch - dropped obsolete mercurial-2.8-ssl.diff - dropped outdated contrib stuff from spec ------------------------------------------------------------------- Sat Oct 4 16:09:22 UTC 2014 - develop7@develop7.info - update to v3.1.2 * commit: catch changed exec bit on files from p1 (issue4382) * diff: document the nobinary option * dispatch: check shell alias again after loading extensions (issue4355) * dispatch: make "_checkshellalias" reusable regardless of adding aliases * help: fix typo in log examples * help: mention mode in hg log --removed help (issue4381) * hgweb: fail if an invalid command was supplied in url path (issue4071) * hgweb: refresh hgweb.repo on phase change (issue4061) * histedit: abort gracefully on --continue/--abort with no state * keepalive: fix how md5 is used * mq: examine "pushable" of already applied patch correctly * mq: pop correct patches when changing pushable-ness of already applied ones * mq: report correct numbers for changing "number of guarded, applied patches" * mq: use "mq.applied[i].name" instead of "mq.appliedname(i)" for safety * revset: add an optimised baseset.contains (issue4371) * templater: fix precedence of --style and --template options ------------------------------------------------------------------- Mon Sep 15 10:31:08 UTC 2014 - develop7@develop7.info - update to v3.1.1 Changes in v3.1: * backout: accept '--edit' like other commands creating new changeset * bash_completion: add -l|--list support for shelve * bookmarks: avoid deleting primary bookmarks on rebase * bookmarks: improve the bookmark help (issue4244) * branch: add debug message for branch cache write failure * bugzilla: stop trying to cache setup across hook invocation * build: initial support for in-tree autobuilding recipes * buildrpm: include release version in .tar.gz name * bundle2: add pushkey support * bundle2: fix bundle2 pulling all revs on empty pulls * commit: make commit message shown in text editor customizable by template * config: allow 'user' in .hgrc ui section (issue3169) * convert: detect removal of ".gitmodules" at git source revisions correctly * convert: drastically speed up git conversions * convert: mercurial source: convert global tags only - not local tags * convert: only consider shamap revisions converted if they still exists * convert: update the transplant, rebase and graft references in 'extra' * diff: add nobinary config to suppress git-style binary diffs * discovery: if a push would create a new head, mention the bookmark name if any * filemerge: add internal:tagmerge merge tool * filemerge: use 'basic' as the default of '[ui] mergemarkers' for safety * filemerge: use non-minimal conflict marker regions (BC) * gpg: accept '--edit' like other commands creating new changeset * graft: customize graft conflict markers (BC) * help: always show command help with -h (issue4240) * help: suggest keyword search when no topic is found * histedit: respect revsetalias entries (issue4311) * import: add --partial flag to create a changeset despite failed hunks * largefiles: avoid unnecessary creation of .hg/largefiles when opening lfdirstate * largefiles: include largefiles when doing log on a directory (issue4241) * largefiles: show also how many data entities are outgoing at "hg outgoing" * largefiles: use "normallookup", if "mtime" of standin is unset * log: allow revset for --follow to be lazily evaluated * log: do not use exact matcher for --patch --follow without file (issue4319) * log: make --patch --follow work inside a subdirectory * make: add a basic osx mpkg target * merge: add conflict marker formatter (BC) * merge: define conflict marker labels in filemerge() * mergetools.hgrc: add minimal configuration for editmerge * packaging: move output directory from build/ to packages/ * pager: add attend- option * patchbomb: includes series information in the header * pull: when remote supports it, pull phase data alongside changesets * purge: add options for deleting only files or only directories * push: use bundle2 to push phases when available * qfold: allow to specify '--message/'--logfile' and '--edit' at the same time * qimport: record imported revs incrementally (issue3874) * qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time * rebase: specify custom conflict marker labels for rebase (BC) * resolve: abort when not applicable (BC) * resolve: don't abort resolve -l even when no merge is in progress * resolve: print message when no unresolved files remain (issue4214) * resolve: print warning when no work performed (issue4208) * revset: maintain ordering when subtracting from a baseset (issue4289) * revset: optimize baseset.sub (issue4313) * setup: fixed for Pythons which don't have a CFLAGS * setup: make Xcode 5.1 check less specific * shelve: accept '--edit' like other commands creating new changeset * strip: drop -b/--backup option (BC) * strip: remove bookmarks after strip succeed (issue4295) * templatefilter: add splitlines function * templatekw: add 'currentbookmark' keyword to show current bookmark easily * templatekw: add 'subrepos' keyword to show updated subrepositories * templater: introduce startswith function * templater: introduce word function * templates: escape NUL bytes in jsonescape (issue4303) * update: introduce --tool for controlling the merge tool * update: show message when a bookmark is activated by update * update: specify custom conflict markers for update (BC) * update: when deactivating a bookmark, print a message * version: show enabled extensions (issue4209) * version: don't traceback if no extensions to list (issue4312) * vim: use try catch in vim plugin to avoid conflicts Changes in v3.1.1: * changectx: ancestor should only prefer merge.preferancestor if it is a revision * color: pass on key error for win32 (issue4298) * config: exit non zero on non-existent config option (issue4247) * context: call normal on the right object * debugobsolete: catch ValueError that may be raised by obsstore.create * discovery: prevent crash on unknown remote heads with old repo (issue4337) * graft: fix collision detection with origin revisions that are missing * help: add pad function to template help * help: only call doc() when it is callable * hgweb: avoid config object race with hgwebdir (issue4326) * histedit: preserve initial author on fold (issue4296) * import: show warning message for merge changesets * incoming: don't request heads that already are common * largefiles: don't override matchandpats for always matchers (issue4334) * largefiles: drop setting lfstatus in overridelog (issue4334) * largefiles: in overridelog, use non-lf matcher for patch generation (issue4334) * log: use correct phase info for parent field (issue4347) * merge: show the scary multiple ancestor hint for merges only, not for updates * obsstore.create: add a simple safeguard against cyclic markers * repoview: filter tags to non-existent nodes from blockers (issue4328) * repoview: fix typo in repoview.changelog * revset: bookmark revset interprets 'literal:' prefix correctly (issue4329) * unbundle: don't advance bookmarks (issue4322) (BC) ------------------------------------------------------------------- Thu Jul 31 12:43:25 UTC 2014 - dimstar@opensuse.org - Rename rpmlintrc to %{name}-rpmlintrc. Follow the packaging guidelines. ------------------------------------------------------------------- Tue Jul 22 14:32:00 UTC 2014 - develop7@develop7.info - update to v 3.0.2 * cmdutil: add copy-filtering support to duplicatecopies * hgweb: avoid initialization race (issue4280) * keyword: suppress keyword expansion for internal merge * match: make glob '**/' match the empty string * p4: accept changesets with no description (issue4282) * parsers.c: fix a couple of memory leaks * push: restore contents of HG_URL for hooks (issue4268) * rebase: fix bug that caused transitive copy records to disappear (issue4192) * repoview: do not crash when localtags refers to non existing revisions * resolve: keep wlock while resolving * revlog: hold a private reference to self._cache * revlog: make _chunkcache access atomic ------------------------------------------------------------------- Sun Jun 8 05:22:41 UTC 2014 - develop7@develop7.info - update to version 3.0.1 * alias: change return code of bad definition to 255 * alias: fix loss of non-zero return code in command aliases * alias: handle shlex error in command aliases * bookmarks: properly align multi-byte characters * bugzilla: support Bugzilla 4.4.3+ API login token authentication (issue4257) * bundle2: fix bundle2 pulling all revs on empty pulls * bundle2: fix configuration name mismatch * changelog: ensure changelog._delaybuf is initialized * color: don't fail on error messages when no curses (issue4237) * exchange: propagate arguments to the _getbundleextrapart function * localrepo: prevent leak of transaction object (issue4258) * proxy: remove unneeded _set_hostport for compatibility with Python 2.7.7rc1 * setup.py, make: avoid problems with outdated, existing hgext/__index__.py* * subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos * subrepo: invoke "_sanitize()" also after "git merge --ff" * subrepo: make "_sanitize()" take absolute path to the root of subrepo * subrepo: make "_sanitize()" work * subrepo: normalize path in the specific way for problematic encodings * templates: fix ifcontains against sets with length > 1 (issue4259) * win32: backout 1a9ebc83a74c ------------------------------------------------------------------- Fri May 2 08:20:05 UTC 2014 - develop7@develop7.info - update to version 3.0 * Core features + cat: support explicit paths in subrepos + cmdserver: allow starting server without repository + clone: abort if default destination has no meaningful name (BC) + clone: put streaming clones in a transaction + color: add debugcolor command (issue4094) + color: allow color keywords to be used directly in template + commands: add -T as alternative to --template + commands: hg debuginstall checks missing templates (issue4151) + commit: --edit/-e allows editing commit message supplied through other means + config: add initial implementation of --edit (with --global and --local flags) + debuginstall: add Python information to debuginstall output (issue4128) + demandimport: support HGDEMANDIMPORT=disable to disable demandimport + hgweb: add metadata to atom and rss feed entries + http: reuse authentication info after the first failed request (issue3567) + log: change implementation to use graphlog code + push: provide a hint when no paths are configured (issue3692) + require: provide a link to a wiki page as well as suggesting upgrade + revset: new implementation with incremental evaluation + revset: try to handle hyphenated symbols if lookup callback is available + revset: add 'only()' revset + sshpeer: only print out 'running ssh' messages in debug mode (BC) + template: add ifcontains template function + template: add pad function for padding output + template: add revset() template function + template: add shortest(node) template function + template: add flexible -T option + win32: improve the performance of win32.unlink() over CIFS * Extension features + blackbox: log events related to branch cache + convert: avoid updating tags when there is nothing new + convert: compare tags from all heads instead of just one + convert: replace old sha1s in the description + extensions: mark win32text deprecated + extensions: remove interhg + extensions: remove the inotify extension (BC) + histedit: select the lowest rev when looking for a root in a revset (BC) + journal: report parsing errors on recover/rollback (issue4172) + qimport: allow importing URLs * Fixes + backout: don't limit ancestry check to a single ancestor + backout: improve confusing 'cannot backout change on a different branch' abort + caches: invalidate store caches when lock is taken + cmdserver: forcibly use L channel to read password input (issue3161) + cmdserver: reload mq on each runcommand request to avoid corruption + diff: use second filename for --stat reporting on git patches (issue4221) + dirstate: report bad subdirectories as match.bad, not just a warning (BC) + extensions: use normpath to allow trailing '\' on Windows (issue4187) + fncache: clean up fncache during strips + largefiles: changed overridelog to work with graphlog + largefiles: don't prompt when one side of merge was changed but didn't change + largefiles: remove directories emptied after their files are moved (issue3515) + parsers: fail fast if Python has wrong minor version (issue4110) + phases: apply publishing enforcement for "serve" source + revlog: deal with chunk ranges over 2G on Windows (issue4215) + setup.py: fix C extension compilation issue with OS X 10.9 and Xcode 5.1 + subrepo: check return code for git push (issue4223) * Experimental features + bundle2: experimental support for bundle2 + merge: experimental implementation of bid merge + merge: tell when .ancestor picks one of multiple common ancestors heads - removed mercurial-sle10-inotify-fixes.diff as upstream removed inotify extension ------------------------------------------------------------------- Thu Mar 13 21:07:15 UTC 2014 - develop7@develop7.info - update to version 2.9.1 * coal: hgweb style adds extra blank line in file view (issue4136) * hg.openpath: use url.islocal to tell if the path is local (issue3624) * hgweb: hack around mimetypes encoding thinko (issue4160) * hooks: only disable/re-enable demandimport when it's already enabled * merge: add "other" file node in the merge state file * merge: audit the right destination file when merging with dir rename * merge: don't overwrite file untracked after remove, abort with 'untracked files' * merge: record the "other" node in merge state * pathencode: eliminate signed integer warnings * pull: close peer repo on completion (issue2491) (issue2797) * purge: avoid duplicate output for --print (issue4092) * rebase: do not try to reactivate deleted divergent bookmark * resolve: use "other" changeset from merge state (issue4163) * verify: do not prevent verify repository containing hidden changesets ------------------------------------------------------------------- Mon Feb 17 15:11:09 UTC 2014 - develop7@develop7.info - update to version 2.9 * aliases: make "_checkshellalias()" invoke "findcmd()" with "strict=True" * backout: add a message after backout that need manual commit * backout: avoid update on simple case * bash_completion: add completion for deleting a shelve * bash_completion: add global support for -B|--bookmark * bash_completion: add global support for -b|--branch * bisect: --command without --noupdate should flag the parent rev it tested * bookmarks: allow push -B to create a new remote head (Bts:issue2372) * branchmap: cache open/closed branch head information * cat: increase perf when catting single files * changectx: increase perf of walk function * clone: do not turn hidden changeset public on publishing clone (Bts:issue3935) * convert: use branchmap to change default branch in destination (Bts:issue3469) * date: allow %z in format (Bts:issue4040) * diff: search beyond ancestor when detecting renames * hgweb: infinite scroll support for coal, gitweb, and monoblue styles * merge: consider successor changesets for a bare update * patch: add support for git delta hunks * phase: properly compute ancestors of --rev on push (Bts:issue3786) * rebase: abort cleanly when we encounter a damaged rebasestate (Bts:issue4155) * rebase: do not crash in panic when cwd disapear in the process (Bts:issue4121) * record: --user/-u now works with record when ui.username not set (Bts:issue3857) * record: re-enable whitespace-ignoring options * relink: abort earlier when on different devices (Bts:issue3916) * strip: add faster revlog strip computation * subrepo: check phase of state in each subrepositories before committing * subrepo: make it possible to update to hidden subrepo revisions * subsettable: move from repoview to branchmap, the only place it's used * templater: selecting a style with no templates does not crash (Bts:issue4140) * update: consider successor changesets when moving active bookmark * url: added authuri when login information is requested (Bts:issue3209) ------------------------------------------------------------------- Thu Jan 9 15:07:08 UTC 2014 - wr@rosenauer.org - update to version 2.8.2 * fileset, revset: do not use global parser object for thread safety * hgweb: avoid initialization race (issue3953) * mpatch: rewrite pointer overflow checks ------------------------------------------------------------------- Fri Dec 13 19:08:25 UTC 2013 - wr@rosenauer.org - update to version 2.8.1 * bookmarks: consider successor changesets when moving bookmark (issue4015) * contrib: don't mention obsolete graphlog extension in mercurial.ini * contrib: promote strip extension over MQ in sample.hgrc * contrib: stop mentioning obsolete graphlog extension in sample.hgrc * convert: fix svn crash when svn.ra.get_log calls back with orig_paths=None * help: fix backwards bisect help example * help: use progress instead of mq as in 'hg help config' example * hgk: fix tag list parser (issue4101) * hgweb: ignore non numeric "revcount" parameter values (issue4091) * histedit: hold wlock and lock while in progress * largefiles: cache largefiles for update, also without printmessage * largefiles: don't crash on 'local renamed directory' actions * merge: move forgets to the beginning of the action list * minirst: do not interpret a directive as a literal block * minirst: find admonitions before pruning comments and adding margins * obsolete: stop doing membership test on list * parse_index2: fix crash on bad argument type (issue4110) * phase: better error message when --force is needed * rebase: fix rebase aborts when 'tip-1' is public (issue4082) * rebase: fix working copy location after a --collapse (issue4080) * share: fix unshare calling wrong repo.init() method * shelve: fix bad argument interaction with largefiles (issue4111) * shelve: unshelve using an unfiltered repository * strip: fix last unprotected mq reference (issue4097) * strip: hold wlock for entire duration * subrepo: sanitize non-hg subrepos * templater: fix escaping in nested string literals (issue4102) * templater: makes branches work correctly with stringify (issue4108) * templater: only recursively evaluate string literals as templates (issue4103) * unshelve: add tests for unknown files * unshelve: don't commit unknown files during unshelve (issue4113) * util: url keeps backslash in paths * util: warn when adding paths ending with \ ------------------------------------------------------------------- Sun Nov 24 10:34:00 UTC 2013 - wr@rosenauer.org - update to version 2.8 Core features hgweb: add revset syntax support to search hgweb: always run search when a query is entered (BC) hgweb (paper theme): add infinite scrolling to graph hgweb: show full date in rfc822 format in tooltips at shortlog page proxy: allow wildcards in the no proxy list (issue1821) pull: for pull --update with failed update, print hint if any rebase: preserve working directory parent (BC) sslutil: add a config knob to support TLS (default) or SSLv23 (BC) (issue4038) templatefilters: add short format for age formatting templater: support using templates with non-standard names from map file update: add error message for dirty non-linear update with no rev addremove: don't do full walks log: make file log slow path usable on huge repos subrepo: let the user choose to merge, keep local or keep remote subrepo revisions Extension features convert-internals: introduce hg.revs to replace hg.startrev and --rev with a revset convert-internals: update source shamap when using filemap, just as when not using filemap factotum: clean up keychain for multiple hg repository authentication histedit: abort if there are multiple roots in "--outgoing" revisions mq: extract strip function as its standalone extension (issue3824) mq: look for modified subrepos when checking for local changes rebase: remove bailifchanged check from pullrebase (BC) shelve: add a shelve extension to save/restore working changes Fixes pager: honour internal aliases patch: ensure valid git diffs if source/destination file is missing (issue4046) patch: Fix nullid for binary git diffs (issue4054) progress: stop getting stuck in a nested topic during a long inner step rebase: handle bookmarks matching revset function names (issue3950) rebase: preserve active bookmark when not at head (issue3813) rebase: preserve metadata from grafts of changes (issue4001) rebase: fix selection of base used when rebasing merge (issue4041) ui: send password prompts to stderr again (issue4056) - recover 11.4 support by requiring docutils instead of python-docutils - rebased mercurial-2.6.3-ssl.diff to mercurial-2.8-ssl.diff ------------------------------------------------------------------- Thu Oct 24 09:22:29 UTC 2013 - speilicke@suse.com - Drop dependency on python-roman, python-docutils' module docutils.utils.roman should be sufficient - Drop checks for obsolete distributions - Drop dependency on rcs, it doesn't seem to be used anywhere and was added in 2006 - Depend on openssl-certs if %sles_version is defined (for our IBS friends) - Require python-docutils instead of the obsolete docutils ------------------------------------------------------------------- Wed Oct 23 11:40:57 CEST 2013 - ohering@suse.de - Refresh mercurial-docutils-compat.diff to fix build in sles11sp3 ------------------------------------------------------------------- Thu Oct 10 11:03:51 UTC 2013 - wr@rosenauer.org - update to version 2.7.2 * Regularly scheduled bugfix release. This fixes significant regressions from 2.7 in push/pull performance and SSL negotiation bundle: fix performance regression when bundling file changes (issue4031) generaldelta: initialize basecache properly help: use full name of extensions to look up them for keyword search histedit: abort if there are multiple roots in "--outgoing" revisions histedit: add more detailed help about "--outgoing" histedit: suggest "histedit --abort" for inconsistent histedit state httpclient: apply upstream revision da7579b034a4 to fix SSL problems (issue4038) rebase: catch RepoLookupError at restoring rebase state for abort/continue rebase: catch RepoLookupError at restoring rebase state for summary repoview: have unfilteredpropertycache using the underlying cache repoview: make propertycache.setcache compatible with repoview revset: fix wrong keyword() behaviour for strings with spaces sslutil: backed out changeset 074bd02352c0 (issue4038) strip: set current bookmark to None if stripped ------------------------------------------------------------------- Wed Sep 4 19:08:50 UTC 2013 - wr@rosenauer.org - update to version 2.7.1 * shrink-revlog.py was removed from distribution * no upstream changelog available - update to version 2.7.0 This release contains an important fix for a merge ancestor calculation regression in the 2.6 series. ancestor: decrement ninteresting correctly (issue3984) bookmarks: allow bookmark command to take multiple arguments bookmarks: pull --update updates to active bookmark if it moved (issue4007) bookmarks: update only proper bookmarks on push -r/-B (issue 3973) changegroup: fix fastpath during commit checklink: work around sshfs brain-damage (issue3636) churn: split email aliases from the right commands: add checks for unfinished operations (issue3955) commit: enable --secret option convert: catch empty origpaths in svn gettags (issue3941) convert: fix bad conversion of copies when hg.startrev is specified convert: handle changeset sorting errors without traceback (issue3961) hgweb: fix incorrect way to count revisions in log (issue3977) hgweb: run search instead of showing wrong error for ambigious identifier histedit: don't clobber working copy on --abort if not on histedit cset histedit: refuse to edit history that contains merges (issue3962) import: cut commit messages at --- unconditionally (issue2148) largefiles: overridematch() should replace the file path instead of extending (issue3934) log: add a log style that is default+phase (issue3436) paper: add line wrapping switch to file source view paper: code selection without line numbers in file source view paper: highlight line which is linked to in source view progress: respect HGPLAIN rebase: allow aborting when descendants detected rebase: continue abort without strip for immutable csets (issue3997) rebase: don't clobber wd on --abort when we've updated away (issue4009) revert: make backup when unforgetting a file (issue3423) revlog: handle hidden revs in _partialmatch (issue3979) rollback: mark as deprecated splicemap: improve error handling when parsing (issue2084) splicemap: support paths with spaces in splicemap (issue3844) sslutil: force SSLv3 on Python 2.6 and later (issue3905) summary: augment output with info from extensions templater: add strip function with chars as an extra argument log: show style list when unknown style specified tip: deprecate the tip command update: add tracking of interrupted updates (issue3113) worker: check problem state correctly (issue3982) worker: properly report errors from worker processes (issue3982) ------------------------------------------------------------------- Thu Aug 29 14:41:19 UTC 2013 - wr@rosenauer.org - bring back cacerts.rc for distributions older than 13.1 ------------------------------------------------------------------- Mon Aug 26 13:58:17 UTC 2013 - lnussel@suse.de - don't pass ca_certs to make python use the system's built in path (bnc#836739) (mercurial-2.6.3-ssl.diff) starting from 13.1 ------------------------------------------------------------------- Tue Jul 16 11:42:44 UTC 2013 - wr@rosenauer.org - update to version 2.6.3 This is a regularly-scheduled bugfix release. * commit: amending with --close-branch (issue3445) * doc: make it easier to read how to enable extensions * doc: reword "config file" to "configuration file" * docs: change description to synopsis in hgrc.5 * histedit: raise ImportError when demandloading is enabled * pathencode: fix hashmangle short dir limit (issue3958) * update: remove .hg/graftstate on clean (issue3970) ------------------------------------------------------------------- Sun Jun 16 07:03:29 UTC 2013 - wr@rosenauer.org - update to version 2.6.2 This is a regularly-scheduled bugfix release. * amend: complain more comprehensibly about subrepos * blackbox: fix blackbox causing exceptions in tests * blackbox: fix recording exit codes (issue3938) * dirstate: don't overnormalize for ui.slash * graft: refuse to commit an interrupted graft (issue3667) * help: fix role/option confusion in RST * help: stop documentation markup appearing in generated help ------------------------------------------------------------------- Tue May 21 23:50:07 UTC 2013 - pcerny@suse.com - update to version 2.6.1 (2013-05-14) * convert fix bug of wrong CVS path parsing without port number (issue3678) * help/config note 64-bit Windows registry key used with 32-bit Python * hfs+ rewrite percent-escaper (issue3918) * hgignore fix regression with hgignore directory matches (issue3921) * highlight fix page layout with empty first and last lines * largefiles check existence of the file with case awareness of the filesystem check unknown files with case awareness of the filesystem * pathencode grow buffers to increase safety margin * revert ensure that copies and renames are honored (issue3920) * subrepo open files in 'rb' mode to read exact data in (issue3926) * windows check target type before actual unlinking to follow POSIX semantics - update to 2.6 (2013-05-01) * addremove improve performance * amend support amending merge changesets (issue3778) * ancestor a new algorithm that is faster for nodes near tip * annotate increase refcount of each revision correctly (issue3841) * applyupdates assign variable before we try to use it (issue3855) * archive raise error.Abort if the file pattern matches no files * bash_completion allow remove to complete normal files * blackbox new extension * bookmarks don't allow integers as bookmark/branch/tag names allow (re-)activating a bookmark on the current changeset allow moving a bookmark forward to a descendant moving the active bookmark deactivates it fix bug that activated a bookmark even with -r passed resolve divergent bookmark when moving across a branch resolve divergent bookmarks when moving active bookmark forward * commit allow closing "non-head" changesets show active bookmark in commit editor helper text * config discard "%unset" values defined in the other files read in previously * convert/git catch errors from modern git-ls-remote (issue3428) * convert add closesort algorithm to mercurial sources * dates support 'today' and 'yesterday' in parsedate (issue3764) * destroyed invalidate phraserevs cache in all case (issue3858) * diff fix binary file removals in git mode * dirstate performance improvements * dispatch exit with status 1 for an InterventionRequired exception (BC) print 'abort:' when a pre-command hook fails (BC) * export clobber files with -o (BC) (issue3652) export working directory parent by default show 'Date' header in a format that also is readable for humans * extensions obsolete and remove interhg extension * filesets add eol predicate * grep use re2 if possible * hgk add support for phases don't use fixed format for dates update backgroud colour when Ttk is available * hgweb generate HTML documentation teach archive how to download a specific directory or file * histedit allow "-" as a command file handle multiple spaces between action and hash (issue3893) make "hg histedit" sensitive to branch in URL properly handle --continue on empty fold support editing of the first commit (issue3767) * httppeer avoid large dumps when we don't see an hgweb repo * icasefs rewrite case-folding collision detection (issue3452) * import don't rollback on failed import --exact (issue3616) * largefiles don't cache largefiles for pulled heads by default improve reuse of HTTP connections introduce lfpull command for pulling missing largefiles introduce pull --lfrev option introduce pulled() revset expression for use in --lfrev quiet (and document) undefined name errors (issue3886) stat all largefiles in one batch before downloading use repo.wwrite for writing standins (issue3909) * log fix behavior with empty repositories (issue3497) * merge apply non-interactive working dir updates in parallel * mergetools avoid losing the merged version with meld vimdiff issues a warning explaining how to abort * mq comply with filtering when injecting fake tags (issue3812) do not inherit settings form base repo in mqrepo (Fixes issue2358) * outgoing fix possible filtering crash in outgoing (issue3814) * pager catch ctrl-c on exit (issue3834) * date understand "now" as a shortcut for the current time * parsers a C implementation of the new ancestors algorithm * pull list bookmarks before pulling changesets (issue3873) * push make locking of source optional (issue3684) * rebase check no-op before checking phase (issue3891) fix --collapse when a file was added then removed * record abort on malformed patches instead of crashing * revset change ancestor to accept 0 or more arguments (issue3750) don't abort when regex to tag() matches nothing (issue3850) * sadclown another test failure eluded bos * scheme don't crash on invalid URLs * scmutil rewrite dirs in C, use if available * setup make error message for missing Python headers more helpful * smtp use 465 as default port for SMTPS verify the certificate of the SMTP server for STARTTLS/SMTPS * sshpeer store subprocess so it cleans up correctly * sslutil abort if peer certificate is not verified for secure use * subrepo clone of git sub-repository creates incorrect git branch (issue3870) do not push mercurial subrepos whose store is clean fix exception on revert when "all" option is omitted * summary make "incoming" information sensitive to branch in URL (issue3830) make "outgoing" information sensitive to branch in URL (issue3829) show active bookmark even if not at current changeset * tags update tag type only if tag node is updated (issue3911) * templatekw add default styles for hybrid types (issue3887) * templater add get() function to access dict element (e.g. extra) * unionrepo read-only operations on a union of two localrepos * win32 use explicit path to "python.exe" only if it exists ------------------------------------------------------------------- Sat Apr 6 13:29:49 UTC 2013 - toms@opensuse.org - update to version 2.5.4 fixes an urgent regression in merging with subrepos introduced in 2.5. See http://mercurial.selenic.com/wiki/WhatsNew for versions 2.5.2 and 2.5.3 - SPEC file: Provides contained a typo. Should be %{version} instead of just {verison} (without %) ------------------------------------------------------------------- Mon Feb 11 15:24:20 UTC 2013 - p.drouand@gmail.com - update to version 2.5.1 (bugfix release) hgk: support the old way of getting the current Ttk theme (issue3808) hgweb.cgi: fix internal WSGI emulation (issue3804) hgweb: make 'summary' work with hidden changesets (issue3810) incoming: fix incoming when a local head is remotely filtered (issue3805) largefiles: don't crash when trying to find default dest for url without path rebase: derive node from target rev (issue3802) - update to version 2.5.0 * Core features branchmap: improved performances bundle: add revset expression to show bundle contents (issue3487) dirstate: implement unix statfiles in C hgweb: add (Atom) subscribe links to the repository index hgweb: add "URL breadcrumbs" hgweb: add branches RSS and Atom feeds hgweb: secret changeset are excluded from html view (3614 ) serve: use chunked encoding in hgweb responses pathencode: implement both basic and hashed encoding in C subrepo: append subrepo path to subrepo error messages validate: check for spurious incoming filelog entries hgweb: allow hgweb's archive to recurse into subrepos * Changeset Evolution hidden changesets are now properly ignored by all commands a global --hidden flag is added to give access to hidden changesets rewriting a changeset but not its descendants is now allowed; this leaves unstable changeset behind we now detect *divergent* changesets. The third and last kind of obsolescence related troubles. divergent() revset is added a troubled() revset have been added branchmap for of *visible* and *served* changeset are now cached on disk. This is a major performance improvements performance improvements of most evolution related algorithm * Extension features color: add template label function convert: add config option to use the local time zone convert: add support for converting git submodule (issue3528) hgk: use Ttk instead of plain Tk inotify: don't fall over just because of a dangling symlink largefiles: fix revert removing a largefile from a merge largefiles: fix update from a merge with removed files largefiles: make log match largefiles in the non-standin location too largefiles: make update with backup files in .hglf slightly less broken largefiles: rename 'admin' to more descriptive 'lfstoredir rebase: performance improvements rebase: rebase set with multiple roots are now handled by the --rev option record: use patch.diffopts to account for user diffopts share: always set default path to work with subrepos (issue3518) zsh_completion: add completion of branch names * Fixes commands: 'hg bookmark NAME' should work even with ui.strict=True copies: do not track backward copies, only renames (issue3739) destroyed: keep the filecache in sync with __dict__ (issue3335, issue3693, issue3743) grep: don't search past the end of the searched string hgweb: properly returns 404 for unknown revision (instead of 500) histedit: proper phase conservation (issue3724) histedit: prevents obsolescence cycle (issue3681) hook: disable demandimport before importing hooks mq: don't fail when removing a patch without patch file from series file mq: fix qpop of working directory parent patch when not at qtip zeroconf: use port from server instead of picking port from config (issue3746) update: update to current bookmark if it moved out from under us (issue3682) bookmarks: show active bookmark even if not at working dir largefiles: let wirestore._stat return stats as expected by remotestore verify largefiles: adapt verify to batched remote statlfile (issue3780) largefiles: don't allow corruption to propagate after detection largefiles: don't verify largefile hashes on servers when processing statlfile largefiles: allow use of urls with #revision largefiles: fix commit when using relative paths from subdirectory largefiles: fix cat when using relative paths from subdirectory histedit: prevent parent guessed via --outgoing from being a revset (issue3770) rebase: delete divergent bookmarks on destination (issue3685) hgwebdir: use web.prefix when creating url breadcrumbs (issue3790) subrepo: allow skipping courtesy phase sync (issue3781) merge: .hgsubstate is special as merge destination, not as merge source merge: improved handling of symlinks ------------------------------------------------------------------- Fri Jan 25 03:14:16 UTC 2013 - douglarek@outlook.com - update to version 2.4.2 (bugfix release) amend: invalidate dirstate in case of failure (issue3670) amend: prevent loss of bookmark on failed amend bookmarks: fix head selection for merge with two bookmarked heads bundlerepo: don't return the peer without bundlerepo from getremotechanges dirstate: don't rename branch file if writing it failed dirstate: remove obsolete comment from setbranch hgweb: avoid generator exhaustion with branches hgweb: fix iterator reuse in atom feed generation hgwebdir: honor web.templates and web.static for static files (issue3734) largefiles revert: update lfdirstate with result from first cleanliness check largefiles status: update lfdirstate with result from cleanliness check largefiles: commit directories that only contain largefiles (issue3548) largefiles: don't walk through all ignored files paper: sanity-check page feed links scmutil: don't try to match modes on filesystems without modes (issue3740) zeroconf: use port from server instead of picking port from config (issue3746) ------------------------------------------------------------------- Thu Dec 27 21:28:56 UTC 2012 - wr@rosenauer.org - update to version 2.4.1 (bugfix release) amend: force editor only if old message is reused (issue3698) grep: don't search past the end of the searched string hooks: be even more forgiven of non-fd descriptors (issue3711) hooks: delay I/O redirection until we actually run a hook (issue3711) phases: fix missing "error" module import (issue3707) rebase: fix pull --rev options clashing with --rebase (issue3619) subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API) update: allow update to existing branches with invalid names (issue3710) util: make chunkbuffer non-quadratic on Windows ------------------------------------------------------------------- Sat Nov 10 21:14:48 UTC 2012 - wr@rosenauer.org - update to version 2.4 * Core features amend: support for ChangesetEvolution if enabled bookmarks: deactivate current bookmark if no name is given bookmarks: teach the -r option to use revsets bookmarks: disallow bookmarks named 'tip', '.', or 'null' clone: substantial speedup to clone on repo with a lots of heads (issue3378) clone: activate bookmark specified with --updaterev clone: update to @ bookmark if it exists log: substantial speedup for untracked files (issue1340) revsets: add branchpoint() function resolve: commit the changes after each item resolve (issue3638) subrepo, hghave: use "svn --version --quiet" to determine version number subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset templatefilters: add parameterized date method templatefilters: add parameterized fill function templatefilters: avoid traceback caused by bogus date input (issue3344) templatekw: add p1rev, p1node, p2rev, p2node keywords templatekw: add parent1, parent1node, parent2, parent2node keywords templater: abort when a template filter raises an exception (issue2987) templater: add if/ifeq conditionals templater: add sub() function templating: make new-style templating features work with command line lists bookmarks: take ChangesetEvolution into account when updating (issue3561) speedup various operation related to ChangesetEvolution add detection of changeset bumped by ChangesetEvolution * Extension features color: add additional changeset.phase label to log.changeset and log.parent color: enabled color support for export command (issue1507) color: support for all grep fields contrib: add a commit synthesizer for reproducing scaling problems histedit: refuse to edit public changeset histedit: replaces patching logic by merges histedit: support for ChangesetEvolution if enabled largefiles: always create the cache and standin directories when cloning largefiles: distinguish "no remote repo" from "no files to upload" (issue3651) largefiles: fix a traceback in lfconvert if a largefile is missing (issue3519) mq: improve qqueue message with patches applied (issue3036) mq: update bookmarks during qrefresh notify: support revset selection for subscriptions rebase: support for ChangesetEvolution if enabled record: checks for valid username before starting recording process (issue3456) record: fix display of non-ASCII names in chunk selection * Bugfixes ------------------------------------------------------------------- Fri Oct 5 12:52:07 UTC 2012 - wr@rosenauer.org - update to version 2.3.2 * bugfix release http://mercurial.selenic.com/wiki/WhatsNew ------------------------------------------------------------------- Fri Sep 7 17:58:43 UTC 2012 - toms@opensuse.org - update to version 2.3.1 http://mercurial.selenic.com/wiki/WhatsNew - Spec file: fixed files-attr-not-set warning ------------------------------------------------------------------- Mon Jul 30 11:50:42 UTC 2012 - wr@rosenauer.org - update to version 2.2.3 * bugfix release http://mercurial.selenic.com/wiki/WhatsNew ------------------------------------------------------------------- Thu Jun 14 10:02:45 UTC 2012 - wr@rosenauer.org - update to version 2.2.2 * bugfix release http://mercurial.selenic.com/wiki/WhatsNew - buildrequire python-roman for 12.2 and higher ------------------------------------------------------------------- Wed May 16 13:00:29 UTC 2012 - wr@rosenauer.org - update to version 2.2.1 * fix significant memory leak in hgweb * a few other bugfixes - changes in version 2.2 * feature release * new safe '--amend' option for commit using our new phases infrastructure ------------------------------------------------------------------- Sun Apr 22 19:16:03 UTC 2012 - wr@rosenauer.org - update to version 2.1.2 * bugfix release http://mercurial.selenic.com/wiki/WhatsNew ------------------------------------------------------------------- Mon Mar 5 08:34:32 UTC 2012 - wr@rosenauer.org - update to version 2.1.1 * bugfix release http://mercurial.selenic.com/wiki/WhatsNew ------------------------------------------------------------------- Tue Feb 7 20:18:47 UTC 2012 - wr@rosenauer.org - update to version 2.1 * feature and bugfix release ------------------------------------------------------------------- Thu Jan 19 20:42:23 UTC 2012 - wr@rosenauer.org - update to version 2.0.2 * bugfix release - changes in version 2.0 Major features * New core graft command (similar to transplant extension) * New largefiles extension Core changes * commit: abort when there are uncommitted subrepos, use the -S option to recurse * help: most commands now have usage examples with help -v * import: add --edit switch * revset: add more keywords for bisection * revert: introduce short option -C for --no-backup * log: add new 'bisect' style that prints the bisection status * hgweb: add a "web/logoimg" setting to customize the web logo image * subrepo: pull revisions on demand when archiving hg subrepos Extension changes * color: add styles for tags * convert: added bookmarks support in filemap * eol: add new eol.fix-trailing-newline setting * eol: eol.only-consistent can now be specified in .hgeol * export: add %m to file format string (first line of the commit message) * mq: make qqueue print current queue name * rebase: add --edit switch * rebase: add --rev option to rebase * rebase: allow rebase on ancestor * share: introduce unshare command * transplant: add --edit option Bugfixes ------------------------------------------------------------------- Fri Oct 21 09:11:56 UTC 2011 - suse@ammler.ch - upstream update 1.9.3 * setup: build inotify for sys.platform='linux*' * bundlerepo: add argument check before unlink * hgweb: properly check for bookmarks when drawing graph * http: handle push of bundles > 2 GB again (issue3017) * keyword: preserve file mode when overwriting * osutil: avoid accidentally destroying the True object in isgui (issue2937) * patch: correctly handle non-tabular Subject: line * patch: handle 'gitpatches' being empty, but not none * record: use command wrapper properly for qnew/qrefresh (issue3001) * setdiscovery: fix hang when #heads>200 (issue2971) * ui: also swap sys.stdout with self.fout in _readline * ui: write traceback to self.ferr * url: Remove the proxy env variables only when needed (issue2451) * url: parse fragments first (issue2997) * util: fix crash converting an invalid future date to string * util: wrap lines with multi-byte characters correctly (issue2943) ------------------------------------------------------------------- Tue Aug 30 11:54:23 UTC 2011 - suse@ammler.ch - upstream update 1.9.2 * commands: clarify that 'hg heads foo' shows heads on branch foo * dispatch: don't rewrap aliases that have the same definition * graphlog: attempt to fix index overrun (issue2912) * http: pass user to readauthforuri() (fix 4a43e23b8c55) * http: strip credentials from urllib2 manager URIs (issue2885) * parsers: avoid pointer aliasing * subrepo: fix cloning of repos from urls without slash after host (issue2970) * ui: pass ' ' to raw_input when prompting * url: really handle urls of the form file:///c:/foo/bar/ correctly - changes in version 1.9.1 * dispatch: make sure global options on the command line take precedence * eol: ignore IOError from deleted files in commitctx * hgcia: set default value of strip to -1 (issue2891) * hgweb: do not ignore [auth] if url has a username (issue2822) * hgweb: handle 'baseurl' configurations with leading slash (issue2934) * hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923) * httpclient: import ca33b88d143c from py-nonblocking-http (issue2932) * patch: fix parsing patch files containing CRs not followed by LFs * rebase: block collapse with keepbranches on multiple named branches (issue2112) * rebase: reset bookmarks (issue2265 and issue2873) * revert: restore check for uncommitted merge (issue2915) (BC) * revsets: catch type error on tip^p1(tip) (issue2884) * revsets: do the right thing with x^:y (issue2884) * subrepo: handle adding svn subrepo with a svn:external file in it (issue2931) * subrepo: use working copy of .hgsub to filter status (issue2901) * url: store and assume the query part of an url is in escaped form (issue2921) * util: rename the util.localpath that uses url to urllocalpath (issue2875) * verify: filter messages about missing null manifests (issue2900) * web: output a correct date in short format (issue2902) - optional tests ------------------------------------------------------------------- Mon Jul 11 08:16:23 UTC 2011 - saschpe@suse.de - Spec file cleanup: * Fixed several rpmlint warnings (macros in comments, exec-bits) * Check for SUSE before using SUSE-specific stuff, fixes build on Fedora, Mandriva * Don't use --record-rpm and drop perl dependency * Drop gcc dependency, already pulled through python-devel * Drop unused asciidoc,sgml-skel,xmlto dependencies * Much simpler lang package generation (no shell scripts involved) * Run fdupes on %{buildroot}%{_prefix} to catch all dupes - Added mercurial-locale-path-fix.patch to properly load locales ------------------------------------------------------------------- Sun Jul 3 22:17:37 UTC 2011 - ammler@openttdcoop.org - update to version 1.9 * New fileset file matching support * Improved remote changeset discovery * New command server mode to improve application integration * Experimental generaldelta storage scheme * Experimental new http client library - Command changes * HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT * manifest: add new option --all * aliases: add positional arguments to non-shell aliases * add: introduce a warning message for non-portable filenames (Bts:issue2756) * add: notify when adding a file that would cause a case-folding collision * bisect: new command to extend the bisect range (Bts:issue2690) * bookmarks: allow deactivating current bookmark with -i * bundle: update current bookmark to most recent revision on current branch * diff: make diff -c aware of revision sets * help: add -c/--command flag to only show command help (Bts:issue2799) * help: add -e/--extension switch to display extension help text * help: move hgignore man page into built-in help (Bts:issue2769) * http: correctly handle redirects from http to https * identify: list bookmarks for remote repositories * import: add --bypass option * paths: Add support for -q/--quiet * pushkey: add hooks for pushkey/listkeys * revset: add aliases * revset: add ^ and ~ operators from parentrevspec extension * revset: add a revset command to get bisect state * revset: add desc(string) to search in commit messages * revset: add follow(filename) to follow a filename's history across copies * revset: introduce filelog() to emulate log's fast path * revset: add a last() function - Web changes * add bookmarks listing to raw style and summary pages * support alternate logo url * add base link to file log for paper and coal styles (Bts:issue2452) * paper, coal: display diffstat on the changeset page * elapsed time calculation dynamic (javascript) * provide diffstat and summary on the changeset page - Extension changes * hgcia: handle URL like in notify (Bts:issue2406) * rebase: add -m/--message to rebase --collapse (Bts:issue2389) * Updating hgext.extdiff to use revsets * bash_completion: enable alias auto-complete * bugzilla: add XMLRPC interface * color: add support for terminfo-based attributes and color * convert/mtn: add support for using monotone's "automate stdio" when available * convert/svn: stop using svn bindings when pushing to svn * convert: add bookmark support for hg and git backends * convert: add svnrev, svnpath and svnuuid template keywords * extdiff: add repository root as a variable * graphlog: support more log command features with revsets * keyword: convert a verbatim block to a field list * keyword: offer additional datefilters when the extension is enabled * mq: add a 'mq()' revset predicate that returns applied mq csets * notify: send changesets on 'outgoing' hook, updated doc * progress: add speed format * rebase: add --tool argument for specifying merge tool * rebase: allow for rebasing descendants onto ancestors on different named branches * record: add an option to backup all wc modifications * record: add qrefresh -i/--interactive * record: add white space diff options * record: alias qrecord to qnew -i/--interactive - Bug fixes * bookmarks: allow create/move bookmark without making it current (Bts:issue2788) * bookmarks: do not forward merged bookmark (Bts:issue1877) * changegroup: do not count closed new heads (Bts:issue2697) * config: handle comment lines in continuations (Bts:issue2854) * dispatch: propagate ui command options to the local ui (Bts:issue2523) * eol: make the hook check all new heads, not only tip (Bts:issue2666) * grep: don't print data from binary files for matches (Bts:issue2614) * http: report unexpected unparsable push responses (Bts:issue2777) * httprepo: handle large lengths by bypassing the len() operator * httprepo: long arguments support (Bts:issue2126) * httprepo: proper handling of invalid responses without content-type (Bts:issue2019) * httprepo: send URL redirection notices to stderr (Bts:issue2828) * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761) * localrepo: ignore tags to unknown nodes (Bts:issue2750) * merge: drop resolve state for mergers with identical contents (Bts:issue2680) * patch: do not patch unknown files (Bts:issue752) * path_auditor: check filenames for basic platform validity (Bts:issue2755) * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725) * rebase: preserve mq series order after rebasing (Bts:issue2849) * rebase: restore mq guards after rebasing (Bts:issue2107) * revset: report a parse error if a revset is not parsed completely (Bts:issue2654) * scmutil: improve path calculation for install-relative RC files (Bts:issue2841) * set NOT_CONTENT_INDEXED on .hg dir (Bts:issue2694) * sslutil: fall back to commonName when no dNSName in subjectAltName (Bts:issue2798) * subrepo: be more careful with deletions of .hgsub and .hgsubstate (Bts:issue2844) * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759) * subrepo: svn abort now depends on exit code (Bts:issue2833) * subrepo: be smarter about what's an absolute path (Bts:issue2808) * svn subrepo: attempt work around obstructed checkouts (Bts:issue2752) * svn subrepos: work around checkout obstructions (Bts:issue2752) * tags: catch more corruption during cache parsing (Bts:issue2779) * util: add Mac-specific check whether we're in a GUI session (Bts:issue2553) - changes in version 1.8.4 * bookmarks: do not forward merged bookmark (Bts:issue1877) * changelog: convert user and desc from local encoding early * fix bookmarks rollback behavior * hgrc.5: document shell aliases * httprepo: proper handling of invalid responses without content-type (Bts:issue2019) * httprepo: send URL redirection notices to stderr (Bts:issue2828) * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761) * localrepo: ignore tags to unknown nodes (Bts:issue2750) * mq: strip extra whitespace from node ids in header (Bts:issue2790) * rebase: restore mq guards after rebasing (Bts:issue2107) * revset: expand help for contains predicate * revset: note case-insensitive matches in keyword and user * revset: note case-sensitive match in grep * revset: report a parse error if a revset is not parsed completely (Bts:issue2654) * revset: the name is optional for the tag predicate * simplemerge: do not allow binary files to abort an entire merge * strip: make it clear that --force discards changes (Bts:issue310) * subrepo: don't crash when git .hgsubstate is empty (Bts:issue2716) * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759) * subrepo: respect non-default path for incoming/outgoing * subrepo: svn abort now depends on exit code (Bts:issue2833) * subrepo: use code from 71ea5b only if Python needs it (Bts:issue2795) * tags: catch more corruption during cache parsing (Bts:issue2779) ------------------------------------------------------------------- Thu May 26 12:56:19 UTC 2011 - wr@rosenauer.org - update to version 1.8.3 * convert: make filemap prune useless branch closing revs (issue2774) * encoding: avoid localstr when a string can be encoded losslessly (issue2763) * extdiff: fix broken symlinks handling (issue1909) * help config: explain that config files do not exist by default * hgweb: add bookmark labels to gitweb theme * hgweb: add missing bookmarks definition to coal/map * hgweb: add missing bookmarks templates to atom/rss styles * hgweb: add separate bookmarks listing to gitweb theme * hgweb: add separate bookmarks listing to monoblue theme * hgweb: detect change based on changelog size too * hgweb: fix inconsistant display of graphlog (issue1706) * hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help * hgweb: fix typo in page-header of monoblue's help template * hgweb: format page_nav of gitweb/error.tmpl and add missing links * rebase: don't mark file as removed if missing in parent's manifest (issue2725) * subrepo: handle svn tracked/unknown directory collisions * subrepo: prevent url normalization from removing // in ssh paths (issue2556) * subrepo: tell Subversion when we are non-interactive (issue2759) * url: use a regex to hide unsupported ssh passwords (issue2754) * zeroconf: notify the Zeroconf threads when hg exits ------------------------------------------------------------------- Sat Apr 16 19:47:36 UTC 2011 - ammler@openttdcoop.org - update to version 1.8.2 * bookmarks: discard current bookmark if absent from the bookmarks (issue2692) * bookmarks: fix update of the current bookmark during rename * color: port to using ctypes (issue2687) * convert/svn: fix _iterfiles() output in root dir case (issue2647) * eol: do not abort when win32text is found, only warn * eol: use dirstate methods to clear dirstate * fix compiling of extensions for OS X and XCode 4.0 * hgweb: add display of bookmarks for changelog and changeset * hgweb: add separate page with bookmarks listing * merge: avoid unlinking destination of merge when case changes (issue2715) * mq: do not let qrefresh write bad patch * pager: don't page stderr if it's being redirected (issue2541) * push/outgoing: print remote target path even if there's an error (issue2561) * subrepo: recognize scp-style paths as git URLs * templates: widen the graph canvas (issue2683) - mercurial provides hg ------------------------------------------------------------------- Fri Mar 25 12:37:39 UTC 2011 - chris@computersalat.de - update to version 1.8.1 * annotate: rewrite to deal with crossed linkrevs (issue2682) * bookmark: fix invalidation of localrepo._bookmarkcurrent * cacert: improve error report when web.cacert file does not exist * contrib: update tcsh_completion for Mercurial 1.8 * hgcia: accept "queued." xmlrpc return as success * hgweb: fix filelog rss links generation * hgweb: use tip in gitweb/monoblue filelog rss links (issue2677) * merge: back out single-parent fast-forward merge * merge: drop resolve state for mergers with identical contents (issue2680) * merge: improve unresolved conflicts warning (issue2681) * mergetools: add alternate registry keys for 32bit apps on 64bit O/S * mq: forbid commit of merge involving mq patches * subrepo: backout 67fbe566eff1, --force requires svn >= 1.5 * subrepo: don't crash when git repo is missing * subrepo: handle svn tracked/unknown directory collisions * wix: drop bin/ folder from MSI installers (issue2673) ------------------------------------------------------------------- Wed Mar 9 11:54:26 UTC 2011 - wr@rosenauer.org - Update to version 1.8 Core * Bookmarks are now a core feature (see UpgradeNotes) * New listfile: pattern-matching (patterns) * Revset syntax supported by most commands * Performance improvements for reading large repository indexes * Certificate validation for HTTPS proxies Subrepos * New support for git subrepos * Various improvements to merge, update, and commit logic Extensions * eol: filter aliases for compatibility with win32text * mq: --exact option for qpush * mq: various robustness improvements * progress: remaining time estimates ------------------------------------------------------------------- Tue Mar 1 11:57:27 UTC 2011 - wr@rosenauer.org - removed xz archive/handling again ------------------------------------------------------------------- Wed Feb 2 22:06:58 UTC 2011 - ammler@openttdcoop.org - Update to version 1.7.5 This is a quick bugfix release to include some fixes accidentally dropped from 1.7.4. * subrepo: fix update -C with svn subrepos when cwd != repo.root * subrepo: make update -C clean the working directory for svn subrepos * url: add --insecure option to bypass verification of ssl certificates - Update to version 1.7.4 This is a scheduled bugfix release that smooths out some of the rough edged introduced with 1.7.3's HTTPS certificate verification. * bookmarks: always write undo file * bookmarks: respect rollbacks dryrun parameter * hgrc.5: mention that web.cacerts are run through util.expandpath * opener: force copy on 'a'ppend if nlinks() returns 0 (issue1922) * subrepo: compare svn subrepo state to last committed revision * subrepo: do not report known files inside repositories as unknown * url: 'ssh known host'-like checking of fingerprints of HTTPS certificates (see CACertificates) * url: check subjectAltName when verifying ssl certificate * url: expand path for web.cacerts * url: fix UnicodeDecodeError on certificate verification error ------------------------------------------------------------------- Fri Jan 14 22:10:17 UTC 2011 - ammler@openttdcoop.org - Add ca-bundle.pem to the global config ------------------------------------------------------------------- Sun Jan 9 08:40:39 UTC 2011 - wr@rosenauer.org - Update to version 1.7.3 (regular bugfix release) * archive: don't set gzip filename header when there's no filename * checknlink: use two testfiles (issue2543) * churn: ignore trailing and leading spaces (issue2546) * date: fix matching of underspecified date ranges * eol: improve help on whether EOLs are changed in working copy or repository * fncachestore: copy dh directory before the manifest * hgweb: abort if config file isn't found * hook: assume relative path to hook is given from repo root * hook: fix import path handling for repo=None * https: use web.cacerts configuration from local repo to validate remote repo * https: warn when server certificate isn't verified (see CACertificates) * keyword: copy: when copied source is a symlink, follow it * patch: write .rej files without rewriting EOLs * strip: typo bugfix related to '--nobackup -> --no-backup' rename (issue2377) * tag: abort if not at a branch head (issue2552) * tag: don't check .hgtags status if --local passed * tag: fix uncommitted merge check and error message (issue2542) * util: fix ellipsis() not to break multi-byte sequence (issue2564) * util: work around behavior change in Python 2.7.1 * windows.rename: eliminate temp name race (issue2571) * wix: add an ssl certificate file to the WiX installers (see CACertificates) ------------------------------------------------------------------- Fri Dec 3 07:28:47 UTC 2010 - wr@rosenauer.org - Update to version 1.7.2 * checknlink: return False if .hgtmp file preexists (issue2517) * commit: search both parents for missing copy revision (issue2484) * context: walk both parents for workingctx.ancestors() * convert/svn: fix changed files list upon directory replacements * hgwebdir: fix incorrect index generation for invalid paths (issue2023) * keyword: copy: when copied source is a symlink, follow it * mq: ignore subrepos (issue2499) * rebase: support --detach when null is common ancestor * subrepo: fix removing read-only svn files on Windows * subrepo: handle missing subrepo spec file as removed * subrepo: prune empty directories when removing svn subrepo * subrepo: use subprocess directly to avoid python 2.6 bug * util: do not crash on revisions with negative timestamp (issue2513) * util: do not recurse in makedirs if name is '' (issue2528) ------------------------------------------------------------------- Mon Nov 22 07:38:05 UTC 2010 - wr@rosenauer.org - fix build for 11.1 and before by removing new docutils option ------------------------------------------------------------------- Fri Nov 19 07:36:19 UTC 2010 - wr@rosenauer.org - Update to version 1.7.1 * 1.7 clients broke support for pushing bookmarks with HTTP * alias: fall back to normal error handling for ambigious commands (issue2475) * bundlerepository: get rid of temporary bundle files (issue2478) * bundlerepository: test self.tempfile field, not tempfile module * eol: exclude .hgtags file from eol translation (issue2493) * log: fix log -rREV FILE when REV isnt the last filerev (issue2492) * opener: check hardlink count reporting (issue1866) * pushkey: force HTTP POST on push and add tests (issue2489) * revlog: fix descendants() if nullrev is in revs * subrepo: test & fix svn subrepo removal ------------------------------------------------------------------- Tue Nov 9 22:22:27 UTC 2010 - wr@rosenauer.org - Update to version 1.7 * new build and runtime requirement python-xml (hgcia extension) * added docutils to BuildRequires Core filelog: improve cmp performances (issue2273) patch: don't strip '#' lines from patch descriptions (issue2417) patch: when native patching fails (ui.patch is not set), don't retry with an external tool setup/hg: always load Mercurial from where it was installed. setup: user-friendly error message if Python headers are missing store: new unsupported and experimental parentdelta format (see UpgradeNotes) store: encode first period or space in filenames (issue1713) url: expand environment variables in [auth] settings (issue2328) url: check validity (notBefore/notAfter) using OpenSSL (issue2407) Commands addremove: use similarity 100 by default alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5)) backout: add --tool argument for specifying merge tool backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour) dispatch: properly handle relative path aliases used with -R (issue2376) init: expand destination url as a configured paths log: do not --follow file that is deleted and recreated later (issue732) merge: don't detect copies as "divergent renames", make diagnostic message more helpful merge: add --tool argument to merge and resolve merge: handle no file parent in backwards merge (issue2364) tags: do not fail if tags.cache is corrupted (issue2444) templater: add "hex" filter and "children" keywords (see hg help templating) Subrepos support remapping of subrepository source paths (see [subpaths] in hgrc(5)) make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S subrepo: add support for 'hg archive' subrepo: fix status check on SVN subrepos (issue2445) Revsets add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets) add min() function to complement max() add present() function to avoid lookup errors on possibly missing changesets rename tagged() to tag() and allow it to take an optional tag name strip: add revsets support add revsets support to bisect and update (issue1993) bookmarks: add a bookmark([name]) revset for referencing bookmarks transplant: add a transplanted(set) revset to get transplanted revisions hgweb add a help view for accessing the built-in documentation (see help link in hg serve) let HTTPS serve use more compatible but less secure encryption support very simple caching model (issue1845) Extensions color: better support for branches and mq guards convert: handle closed branch heads in hg-hg conversion (issue2185) convert: support darcs changelogs with bytes 0x7F-0xFF (issue2411) convert: deprecate --authors in preference for --authormap graphlog: support header and footer templates when using styles (issue2395) keyword: do not expand at all during diff keyword: support copy and rename mq: extend support for the --mq argument to extension commands mq: save qrefresh message for easy recovery in case it fails (issue2062) mq: support hg qimport --existing --name renametothis thatexistingpatch, fix --force case on Windows mq/qqueue: support renaming of active queue mq/qqueue: add --purge option to delete a queue and its patches pager: add global --pager= option patchbomb: add --confirm option to show series details and ask for confirmation patchbomb: let diffstat prompt only once with complete summary progress: support rebase and patchbomb rebase: re-add patches to mq repo after rebase strip: add --keep flag to avoid modifying working directory during strip strip: rename --nobackup option to --no-backup (issue2377) strip: support stripping multiple revisions contrib mergetools.hgrc: add vimdiff zsh completion: support bookmarks and patchbomb extensions zsh completion: add qpush --move option ------------------------------------------------------------------- Mon Oct 11 09:02:07 UTC 2010 - wr@rosenauer.org - update to 1.6.4 * archive: set date to 1980 for very old zip files * bookmarks: fix _bookmarks/lookup() reentrancy issue (issue2016) * context: fix filectx.undelete() (issue2388) * convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354) * convert/svn: fix broken symlink renames in svn sink * core: use lexists() instead of exists() where appropriate * hgweb: Fix memory leak when using hg commands over http repositories * hgweb: correct Content-Type header values for archive downloads * log: include unmodified-in-merge files in log diff/stat (issue2383) * mq: always require --force when pushing patches (issue2363) * patch: do not overwrite broken untracked symlinks * patch: fix rename text to binary file (issue2400) * patch: fix target when patching broken symlinks (issue2368) * patch: upgrade to git patch when removing binary file * rename: do not overwrite existing broken symlinks * url: verify correctness of https server certificates (issue2407) * util: avoid using hashlib on Python < 2.5 (issue2278) * verify: fix "missing revlog!" errors for revlog format v0 and add test ------------------------------------------------------------------- Mon Sep 6 07:03:47 UTC 2010 - wr@rosenauer.org - update to 1.6.3: * alias: make shadowing behavior more consistent (issue2054) * bisect: better message for unrelated starting revisions * bookmarks: Check if the bookmark to delete exists on the remote * bookmarks: guard against listing bookmarks on unsupported repos * chunkbuffer: use += rather than cStringIO to reduce memory footprint * convert: Using --dest-type svn crashed, if the source repo used tags * convert: properly set encoding for gnuarch converter * convert: use encoding.encoding instead of locale.getpreferredencoding() * graphlog: mark --branch as incompatible with --graph * http basic auth: reset redirect counter on new requests (issue2255) * httprepo: decompress stream incrementally to reduce memory usage * log: fix the bug 'hg log --stat -p == hg log --stat' * merge: drop reference to file contents after write * merge: move reverse-merge logic out of filemerge (issue2342) * merge: fix detection of conflict markers with checkconflicts enabled * mq: don't inherit default and default-push paths with --mq (issue2333) * resolve: updated help documentation for improved clarity * revlog: drop cache after use to save memory footprint * templatefilters: unnest uescape() * templates: add filenolink to raw style (issue2332) * url: expand vars in all [auth] settings (issue2328) * url: limit expansion to safe auth keys (Issue2328) * util: avoid using hashlib on Python < 2.5 (issue2278) * verify: initialize rp variable in case we hit out of memory * verify: reduce memory footprint when unpacking files * verify: report exceptions that don't have a str() method - in case of !with_doc copy the man pages from the source tarball ------------------------------------------------------------------- Wed Aug 4 09:09:51 UTC 2010 - pascal.bleser@opensuse.org - split out localization of messages into its own -lang subpackage, which reduces the size of the mercurial package by around 400kb - the locale files are moved into the arch-independent %{python_sitelib} instead of %{python_sitearch} in order to have a noarch -lang subpackage - use --record-rpm for the list of files - update to 1.6.2: * fixes a regression in the color extension - changes from 1.6.1: * alias: ensure checksignature() is applied directly to the command (issue2286) * bash/zsh completion: use HGPLAIN when invoking hg (issue2297) * bookmarks: don't allow name to contain whitespaces only * bookmarks: ensure current bookmark is updated when specified with -r . * bundle: lookup revisions after addbranchrevs * color/progress: subclass ui instead of using wrapfunction (issue2096) * commit: only warn when reopening the workdir's branch * dispatch: give better error message when cwd doesn't exist (issue2293) * doc: make sure we use our own code for generating man pages * filelog: cmp: don't read data if hashes are identical (issue2273) * filelog: test behaviour for data starting with "\1\n" * hg.clone: fix branch value when passing a repo object (issue2267) * hgweb.wsgi: add a URL to the corresponding wiki documentation * hgwebdir: allow pure relative globs in paths * hgwebdir: use template paths configured in the hgrc (issue2281) * init: create target directory recursively * inotify: check all components of filenames against hgignore (issue884) * keyword: move collecting of [keyword] patterns to reposetup (issue2303) * log: fix missing diff output for hg log -p in subdirectory * log: follow filenames through renames (issue647) * mail: ensure that Python2.4 to 2.7 use the same header format * mq: clarify the fact that qimport is trying to read a file * mq: cleanup status if applied mq is stripped (issue1881) * mq: fixed ENOENT when qrename to new/directory.patch * mq: reset self.added after the mq transaction instead of inside qimport * qpush --move: move the right patch even with comment lines * rebase: re-add patches to mq repo after rebase * revert: rename original to .orig instead of copying (issue2282) * revset: fix ancestor subset handling (issue2298) * runrst: try to be more helpful if docutils is not installed * tag: do not allow tag names to consist solely of whitespace (issue2307) * transplant: crash if repo.commit() finds nothing to commit ------------------------------------------------------------------- Thu Jul 29 23:00:35 CEST 2010 - wr@rosenauer.org - install bash_completion file ------------------------------------------------------------------- Mon Jul 19 05:36:23 UTC 2010 - wr@rosenauer.org - updated to version 1.6 This release makes a couple small behavior changes: Upgrade Notes * hgweb.cgi and hgwebdir.cgi combined (though old installs of either will continue to work) * hgweb and command line templates now require escaping of open braces ('\{') that aren't part of template expressions * hgweb now delivers output of external changeset hooks to clients * the churn extension lost the --progress flag (uses the ProgressExtension instead) Core * addremove: optimize addremove -s100 by matching files by their SHA1 hashes * archive: auto-detect archive type by extension (issue2058) * commit: more friendly handling of new and closed named branches * hooks: provide pre- and post- hooks with parsed command line arguments * log: add --branch for filtering on named branch * log: add --stat for diffstat output * push: add --new-branch option to allow initial push of new branches * push: break infinite http recursion bug with Python 2.6.5 (issue2179) * rollback: add -n/--dry-run flag, report what's being rolled back * subrepo: various fixes * summary: report copies and renames and add subrepo status * tag: add -e/--edit option for modifying the commit message * revsets: introduce a powerful query language for specifying revisions, see the manpage or hg help revsets Hgweb * unify and simplify hgweb.cgi and hgwebdir.cgi scripts * fix race in refreshing repo list (issue2188) * simplify hgweb.cgi, add help pointer * deliver shell hook output to client * allow --port=0 to specify "choose free port number automatically" * improved templater performance Help * add new hgweb, glossary, and revsets topics * numerous improvements to help text Extensions * acl: support for access control base on branches and user-defined or OS-level groups * acl: added support for pretxncommit, so that one can call the ACL hook at (?) * bookmarks: add support for pushing and pulling bookmarks * churn: add possibility to include/exclude paths * color: add support for Windows consoles * color: colorize based on output labels instead of parsing output * extdiff: add labels, read diff arguments from [merge-tools] * keyword: offer svn-like default keywordmaps * keyword: support (q)record * mq: add a line to hg summary * mq: qpush --move, reorder patch series and apply only the patch * progress: progress support for many more commands * rebase: add option to not commit after a collapsing ------------------------------------------------------------------- Thu Jun 3 19:41:31 CEST 2010 - wr@rosenauer.org - updated to version 1.5.4 * dispatch: include Python version in traceback * push: update help * status: avoid performance regression when no .hgsub is present * clone: fix performance issue with hardlinks and Windows shares * hgweb: fix race in refreshing repo list (issue2188) * hgrc: clarify that hgrc keys can be overridden and sections can be split * eol: new extension for managing file newlines based on a version controlled configuration file * pager: fork and exec pager as parent process with /bin/sh -c * rebase: stress that only local changesets should be rebased * convert/svn: close gettags() log stream (issue2196) * record: check that we are not committing a merge before patch selection ------------------------------------------------------------------- Wed May 26 06:52:34 CEST 2010 - wr@rosenauer.org - updated to version 1.5.3 * This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included: * various improvements to SVN conversion support * minor doc improvements ------------------------------------------------------------------- Tue May 11 11:35:12 CEST 2010 - wr@rosenauer.org - updated to version 1.5.2 * This is a monthly bugfix release with numerous minor fixes ------------------------------------------------------------------- Sun Apr 11 10:15:08 CEST 2010 - wr@rosenauer.org - updated to version 1.5.1 Core * improve warning on adding large files * expand ~ in auth filenames and aliases * several improvements to patch parsing * warn about attempts to use hg branch to switch branches * push: fix bug in prepush logic and its tests * hgweb: fix broken URLs of RSS/Atom feeds * subrepo: several bug fixes Extensions * acl: added support for '*' (everyone) in user list * progress: use stderr instead of stdout * schemes: add Kiln On Demand to default schemes ------------------------------------------------------------------- Tue Mar 9 11:11:16 CET 2010 - wr@rosenauer.org - updated to version 1.5: Behavior changes: * hg heads now shows all branch heads, use --topo for old behavior * hg annotate now follows copies and renames by default, use --no-follow for old behavior * the repo#name URL syntax now refers to all branch heads if name is a branch * servers now allow clone --uncompressed by default, set server.uncompressed=false for old behavior * the {file_copies} template now displays copies unconditionally, use {file_copies_switch} for old behavior * the templates/ directory has moved inside mercurial/ * mq patches are automatically upgraded to git patches, use mq.git=keep for old behavior Core * improved behavior for named branches with heads command * new XML output template for logs * import extract multiple patches from emails, mboxes, files, and URLs * new patch.eol=auto option to ignore patch line-endings while preserving target file endings. * new -b/--branch option for clone, bundle, incoming, outgoing, pull, and push * new server.validate option to validate completeness of pushed changesets * subrepos now has basic Subversion support * support for SSL server certificates and improved IPv6 support * the HGPLAIN environment variable makes output more stable for scripts Extensions * new progress bar extension * mq: new --mq option to make regular commands operate on queue repository * mq: automatically upgrade conventional patches to git format where needed * color: add support for bookmarks, resolve -l, and churn --diffstat * convert: two CVS history editing hooks * win32mbcs: add configuration to specify path encoding * zeroconf: many bug fixes * rebase: new --detach option for rebase Web Interface * improve navigation on log and graph pages * support for pluggable authorization * raw templates for tags/branches pages Help and Documentation * greatly improve error messages and command documentation * support extended documentation with --verbose * provide help for disabled extensions and commands ------------------------------------------------------------------- Mon Feb 8 09:40:00 CET 2010 - wr@rosenauer.org - updated to version 1.4.3: * Mercurial license has changed from GPLv2 to GPLv2+ * speed up copy detection in merge, status, and diff * templates: fix relative path expansion on style setting * merge: fix merging of already-merged subrepos * summary: fix i18n issue reporting clean working directories * hgweb: improve IIS PATH_INFO handling ------------------------------------------------------------------- Fri Jan 8 08:48:28 CET 2010 - wr@rosenauer.org - updated to version 1.4.2: core: * config: raise ConfigError on non-existing include files * alias: do not crash when aliased command has no usage help text * auth: allow specifying auth sections in .hg/hgrc * patch: fix handling of chunk offsets * subrepo: add default path to new clones * docs: Fix rst2html detection extensions: * convert/svn: better handling of hg recursive call failure * convert/svn: make sink recover gracefully from empty changeset * keyword: fix interaction with transplant * mq: preserve --git flag when folding and merging patches * mq: qnew -f rejects merge working directories * mq: qpop: remove added files before re-adding removed files * patchbomb: handle repository#rev URLs correctly * share: use defaultdest to compute unspecified destination regression fixes: * fix to prepush logic when it creates new heads * fix qseries truncation other: * doc fixes: formatting, missing options * tests fixes (now less dependent on environment variables) * inotify fixes * keyword: allow RCSfile like CVS * share: fix a bad interaction with clone * show non-default branch names with summary -q * new schemes extension * i18n updates ------------------------------------------------------------------- Wed Nov 25 10:42:58 CET 2009 - wr@rosenauer.org - updated to version 1.4: core: * summary: new command summarizes current working state * tags: new tag cache greatly speeds up tag operations * diff: new --stat option to show diffstat * diff: add --reverse option to diff * subrepo: fix a bunch of issues with the experimental subrepo extension * status: fixes for behavior when working with clock skew * clone: new -u/--updaterev option * templater: new latesttag and latesttagdistance keywords * push/pull: handle some broken pipe errors during large transfers * config: environment variables and ~user constructs are expanded in pathnames hgweb: * fix for showing header lines in raw changeset diffs * try to send better error messages to the client * use config-supplied ordering by default in hgwebdir index pages * add web.descend option to disable showing all nested repositories in hgwebdir extensions: * mq: add -1 options to qapplied/qunapplied * patchbomb: add a --flag option to set a flag value in the Subject header * patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme) * color: improve colorization of the qseries command * inotify: cleaner code, fixed pattern handling * zeroconf: show repository descriptions * rebase: some performance and correctness fixes * extdiff: add 3-way diff for merge changesets * convert: handle directory renaming in Darcs, fixed file renaming * relink: new extension which helps people re-hardlink their clones other: * contrib/shrink-revlog.py script that can significantly shrink some internal hg files - add hgweb.cgi and hgwebdir.cgi to docdir ------------------------------------------------------------------- Mon Jul 27 14:16:50 CEST 2009 - tiwai@suse.de - updated to version 1.3.1: * fixed excessive memory usage issues with diff and strip * fixed ssh performance issue on OS X * fixed slow calculation of branch heads * fixed handling of port numbers in URLs * fixed transaction handling exception * fixed incoming with graphlog extension * fixed slow commit in fetch extension * fixed loading of win32mbcs extension * fixed http username handling in acl extension * fixed subrepo path joining on Windows * allow update --check to cross branches * miscellaneous small doc and bug fixes - fixed builds on SLE10 ------------------------------------------------------------------- Fri Jul 3 15:49:41 CEST 2009 - tiwai@suse.de - updated to version 1.3: * experimental support for sub-repositories * Python 2.3 is no longer supported * More read http://mercurial.selenic.com/wiki/WhatsNew ------------------------------------------------------------------- Mon Apr 27 14:26:03 CEST 2009 - tiwai@suse.de - updated to version 1.2.1: * fixed version number build from tarball * fix allow_read logic for hgweb * improve handling of damaged revlogs in verify * keep .orig files when resolving * clear resolve state properly when rebasing * improve --command handling with bisect * fix diff against bundles * improve fetch logic for inactive branches * fix diffstat with notify * fix 'synthetic file adds' in CVS conversion ------------------------------------------------------------------- Thu Mar 5 16:00:22 CET 2009 - tiwai@suse.de - updated to version 1.2: * explicit closing of named branches via hg commit --close-branch * hg now accepts options given after arguments on the commandline * added translation support with initial Danish, Chinese and Italian translations * added optional pure-Python versions of C modules * pending changesets can now be accessed safely from hooks * diff: added -c option to show single changeset * many improvements to the documentation and online help topics * convert: o new support for perforce sources o improvements to handling cvs sources o improvements to handling gnu arch source o improvements to handling darcs sources * bookmarks: o set current to new when current is renamed o bookmarks: Add track.current option o bookmarks: add bookmarks to tags * mq: allow qpop when it won't invalidate any dirstate parents * patchbomb: respect diff settings * rebase: pull --rebase updates if there is nothing to rebase * bugzilla: updated to work with Bugzilla 3.2 * zeroconf: added more documentation * hgk: add several color settings * the imerge extension has been removed (obsoleted by the resolve command) ------------------------------------------------------------------- Thu Mar 5 15:57:00 CET 2009 - ro@suse.de - ignore return value from subshells to fix build ------------------------------------------------------------------- Thu Jan 29 14:24:21 CET 2009 - tiwai@suse.de - disable all extensions as default, as requested by mercurial developer (bnc#466300) ------------------------------------------------------------------- Thu Jan 8 08:17:10 CET 2009 - tiwai@suse.de - updated to version 1.1.1: This is a bugfix release * make hgweb recursion optional (use '**' rather than '*') * fix fncache bug for directories ending in ' ' or '.' * require -a switch to resolve all files * improve help for resolve command * fix inotify interaction with bundle diffs * fix strange readline import error on Windows * fix non-existing target directory with git diffs * fix removing symlinks with git diffs * fix directory creation bug in patch * rebase: allow keeping branch names * fix a copy bug in the SVN converter - updated to version 1.1.2: This is a minor release including one security fix and two minor bug fixes * improve path auditing (issue 1450) * fix date-related test failures in test suite * add graph controls to monoblue theme ------------------------------------------------------------------- Thu Dec 4 16:46:34 CET 2008 - tiwai@suse.de - updated to version 1.1: Major release, fix many bugs and improvements See http://www.selenic.com/mercurial/wiki/index.cgi/WhatsNew ------------------------------------------------------------------- Tue Sep 30 15:34:34 CEST 2008 - tiwai@suse.de - Fix python-2.6 warnings in many commands; Backported python-2.6 wrapper patch from the upstream ------------------------------------------------------------------- Fri Aug 15 08:50:36 CEST 2008 - bwalle@suse.de - updated to version 1.0.2: Security: * ensure that git patches only touch files within the repository (CVE-2008-2942) * hgweb: fix "allowpull" permission being ignored when pulling from hgweb General: * commit: handle copies of previously deleted files * bisect: allow for having multiple resulting changesets * fix Python 2.3 compatibility * make mq patches and .hgtags hardlink-safe again * various documentation improvements and fixes * fix a crash when addremove was called to replace a deleted directory with a symlink * make branches output easier to parse * fix inactive branches detection * hgweb: fix a crash in archive when the URL did not end in an expected archive type * sshserver: fix a crash in error handling code * fix the patchbomb extension on Windows by including email package in binary installations * handle symlinks when OS supports them but FS doesn't Extensions: * mq: o fix qrefresh losing metadata on the last refreshed file o fix a crash when renaming a patch just after a versioned queue initialization o fix the path of an explicitly specified queue when merging patches o strip now updates the working directory only if a parent was stripped * convert: o CVS: fix a crash when converting an existing working copy o monotone: fix quotes and backslashes parsing when reading commit messages o Subversion: correctly normalize paths and slashes o Subversion: fix compatibility with Subversion 1.5 o git: allow converter to work with recent git releases * color: o get coloring for qseries --verbose output o improve mq extension detection o reset coloring before and after outputting colorized lines * highlight: fix a performance issue when detecting file types from large files * notify: take the diff options into account ------------------------------------------------------------------- Fri Aug 8 14:04:53 CEST 2008 - tiwai@suse.de - enable acl extension as default (as was in the earlier versions) - remove unneeded hgrc file ------------------------------------------------------------------- Thu Aug 7 22:43:24 CEST 2008 - bphilips@suse.de - enable all the plugins that ship by default: /etc/mercurial/hgrc.d ------------------------------------------------------------------- Mon Jun 30 14:09:37 CEST 2008 - tiwai@suse.de - VUL-0: mercurial: Insufficient input validation (bnc#404959) ------------------------------------------------------------------- Tue Jun 10 16:16:55 CEST 2008 - tiwai@suse.de - updated to version 1.0.1: General: * several improvements in file copying implementation * allow different default value for diff.unified option * allow explicit use of internal merge tools Commands: * rename: doesn't unlink source file with --after * backout: reverse changeset belongs on current branch Extensions: * convert: o svn: improved detection of tags (has also become optional) o svn: improved branch handling o svn: better detection of file copies * mq: o expand terse command help texts o fix unimplemented qdiff -U option * highlight: fix compatibility with older Pygments (0.5.1) * churn: allow whitespaces as delimiter in aliases * pager: disable when used with --debugger ------------------------------------------------------------------- Wed Apr 16 14:05:06 CEST 2008 - tiwai@suse.de - removed obsolete hbisect in the default hgrc ------------------------------------------------------------------- Wed Mar 26 20:35:41 CET 2008 - crrodriguez@suse.de - update to version 1.0 * thousand of bugfixes, improvements and new features see http://www.selenic.com/pipermail/mercurial/2008-March/018014.html ------------------------------------------------------------------- Mon Oct 22 12:54:05 CEST 2007 - tiwai@suse.de - updated to version 0.9.5: * lots of new feature and fixes, see http://www.selenic.com/pipermail/mercurial/2007-October/015150.html ------------------------------------------------------------------- Wed Sep 5 17:18:15 CEST 2007 - tiwai@suse.de - fix error at invoking hgk (#307190) ------------------------------------------------------------------- Wed Jun 27 11:48:40 CEST 2007 - tiwai@suse.de - updated to version 0.9.4: * support for symlinks * improved tag handling * improved merge handling of file and directory renames * improved named branch usability * numerous improvements to commands * generic pre- and post-command hooks * improved Windows support * basic BeOS and OpenVMS support * numerous bug fixes * extensions can now be specified in .hg/hgrc * new convert extension with CVS support * new graphlog extension * improved patchbomb extension * example FastCGI script ------------------------------------------------------------------- Tue Dec 19 16:00:53 CET 2006 - tiwai@suse.de - updated to version 0.9.3: * improved mq and hgk * branch support * proper changelog support in UTF-8 * support for git-style patches ------------------------------------------------------------------- Mon Jul 31 17:16:31 CEST 2006 - tiwai@suse.de - updated to version 0.9.1. * New extensions: acl, extdiff, purge * New hooks: preupdate * Improved performance: remove, clone ------------------------------------------------------------------- Fri May 12 14:49:03 CEST 2006 - tiwai@suse.de - updated to version 0.9. * revlogNG support * mq extension as default * merge command * bisect command * diff and status are repo-wide - require rcs for 3-way merge ------------------------------------------------------------------- Tue Feb 28 16:46:02 CET 2006 - jmatejek@suse.cz - updated to reflect python changes due to #149809 ------------------------------------------------------------------- Mon Feb 6 14:20:50 CET 2006 - tiwai@suse.de - fixed the extension of mq (for x86-64 problem) - fixed requires and use standard suse rpm macros for python ------------------------------------------------------------------- Wed Jan 25 21:38:14 CET 2006 - mls@suse.de - converted neededforbuild to BuildRequires ------------------------------------------------------------------- Fri Sep 30 16:09:54 CEST 2005 - tiwai@suse.de - updated to version 0.7 + mq extension - removed buggy bash completion. ------------------------------------------------------------------- Wed Aug 31 11:35:59 CEST 2005 - tiwai@suse.de - updated to version 0.6c release. ------------------------------------------------------------------- Tue Jul 26 16:46:32 CEST 2005 - tiwai@suse.de - use version 0.6b release. - format man page via asciidoc and xmlto. ------------------------------------------------------------------- Fri Jul 8 15:47:59 CEST 2005 - tiwai@suse.de - updated to snapshot 20050708. ------------------------------------------------------------------- Mon Jul 4 12:31:59 CEST 2005 - tiwai@suse.de - fix the version number of snapshot release. ------------------------------------------------------------------- Fri Jul 1 12:32:26 CEST 2005 - tiwai@suse.de - initial version: snapshot 20050701.