From 7af7398e289910053f71bee2740099d1e703fc7b Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Mon, 20 Feb 2023 17:44:46 +0000 Subject: [PATCH] Import mercurial_6.3.2-1.debian.tar.xz [dgit import tarball mercurial 6.3.2-1 mercurial_6.3.2-1.debian.tar.xz] --- NEWS | 100 + README.Debian | 36 + README.source | 1 + cacerts.rc | 5 + changelog | 2941 +++++++++++++++++ control | 79 + copyright | 267 ++ gbp.conf | 5 + hgext.rc | 125 + hgext.rc.md5sums | 2 + hgrc | 2 + mercurial-common.bash-completion | 1 + mercurial-common.dirs | 1 + mercurial-common.examples | 14 + mercurial-common.install | 9 + mercurial-common.maintscript | 2 + mercurial-common.postinst | 13 + mercurial.dirs | 1 + mercurial.install | 5 + mercurial.links | 1 + mercurial.postinst | 49 + mercurial.postrm | 60 + mercurial.test_blacklist | 38 + ...NT-getting-the-kill-in-test-stdio.py.patch | 20 + patches/cgitb.patch | 189 ++ ...specific__disable_libdir_replacement.patch | 27 + patches/deb_specific__hgk.py.patch | 21 + patches/deb_specific__optional-dependencies | 183 + patches/from_upstream_stable.patch | 1540 +++++++++ patches/openssl_3_cipher_tlsv1.patch | 87 + patches/proposed_upstream__doctest.path | 55 + ..._asyncore_smtpd_deprecation_warnings.patch | 36 + patches/series | 10 + patches/test-hghave-testrepo.patch | 20 + rules | 101 + source/format | 1 + tests/control | 27 + tests/hgsubversion | 48 + tests/mercurial-git | 26 + tests/testsuite | 5 + upstream/signing-key.asc | 572 ++++ watch | 5 + 42 files changed, 6730 insertions(+) create mode 100644 NEWS create mode 100644 README.Debian create mode 100644 README.source create mode 100644 cacerts.rc create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 gbp.conf create mode 100644 hgext.rc create mode 100644 hgext.rc.md5sums create mode 100644 hgrc create mode 100644 mercurial-common.bash-completion create mode 100644 mercurial-common.dirs create mode 100644 mercurial-common.examples create mode 100644 mercurial-common.install create mode 100644 mercurial-common.maintscript create mode 100644 mercurial-common.postinst create mode 100644 mercurial.dirs create mode 100644 mercurial.install create mode 100644 mercurial.links create mode 100644 mercurial.postinst create mode 100644 mercurial.postrm create mode 100644 mercurial.test_blacklist create mode 100644 patches/0005-Tolerate-SIGINT-getting-the-kill-in-test-stdio.py.patch create mode 100644 patches/cgitb.patch create mode 100644 patches/deb_specific__disable_libdir_replacement.patch create mode 100644 patches/deb_specific__hgk.py.patch create mode 100644 patches/deb_specific__optional-dependencies create mode 100644 patches/from_upstream_stable.patch create mode 100644 patches/openssl_3_cipher_tlsv1.patch create mode 100644 patches/proposed_upstream__doctest.path create mode 100644 patches/py310/9_tests__silence_asyncore_smtpd_deprecation_warnings.patch create mode 100644 patches/series create mode 100644 patches/test-hghave-testrepo.patch create mode 100755 rules create mode 100644 source/format create mode 100644 tests/control create mode 100755 tests/hgsubversion create mode 100755 tests/mercurial-git create mode 100755 tests/testsuite create mode 100644 upstream/signing-key.asc create mode 100644 watch diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..8ae4442 --- /dev/null +++ b/NEWS @@ -0,0 +1,100 @@ +mercurial (1.4.3-1) unstable; urgency=low + + mercurial.el (emacs mode for mercurial) is not installed anymore in emacs + paths. Emacs22 or newer has vc-hg.el that is better. If needed, this file + is still provided in the examples directory. + The alias extension does not exist anymore as its functionalities are now + in mercurial core. To avoid spurious warning about failed loading of + extension, users just have to remove it in their hgrc file. + + -- Vincent Danjean Mon, 15 Feb 2010 18:06:52 +0100 + +mercurial (1.1.2-1) unstable; urgency=low + + Since the 1.1.2-1 version, mercurial does not enable any extension by + default anymore. Upstream asks us to do so because: + - users can easily enable any extension if they wish, however they cannot + disable a extension that have been enabled system-wide + - upstream prefers that default Mercurial installation is the plain Mercurial + without extension. + + -- Vincent Danjean Sat, 17 Jan 2009 17:47:06 +0100 + +mercurial (1.0-5) unstable; urgency=low + + Since the 1.0 version, mercurial handles most of the merges internaly. + This is an upstream decision (see upstream changeset f077815932ce) + that the debian package will follow. This means that : + - there is no hgmerge script any more + - programs that were invoked by hgmerge (kdiff3, ...) are not by default + See http://www.selenic.com/mercurial/wiki/index.cgi/MergeToolConfiguration + for configuring mergetools with mercurial 1.0 + + -- Vincent Danjean Tue, 20 May 2008 22:37:24 +0200 + +mercurial (1.0) unstable; urgency=low + + Since the 1.0 version, the hbisect extension is now provided as a + built-in command. If you keep an older version of the hgext.rc file + in /etc/mercurial/hgrc.d/ or a $HOME/.hgrc file with the extension + enabled , mercurial will emit a warning: "failed to import extension + hgext.hbisect: No module named hbisect". Just delete the + hgext.hbisect entry in the hgext.rc and/or .hgrc file. + + -- Gerardo Curiel Wed, 02 Apr 2008 16:14:47 -0430 + +mercurial (0.9) unstable; urgency=low + + Since the 0.8.1-5 version, mercurial uses python2.4 instead of (currently the + default on Debian system) python2.3. This allows tailor to use the hg + backend (tailor requires python2.4). + If someone really need python2.3 version of mercurial, please tell me (with + reportbug for example). I will then split the package in python modules + (default, 2.3, 2.4, ...) and one executable. + + Note: if you copied the hgwebdir.cgi or hgweb.cgi script from the examples + directory, do not forget to update it so that it runs /usr/bin/python2.4 + instead of /usr/bin/python (or recopy it) + + UPDATE since 0.9-6: + Due to the new python policy, mercurial modules are now available for all + supported python versions in debian (currently 2.3 and 2.4) + + -- Vincent Danjean Tue, 4 Jul 2006 00:53:21 +0200 + +mercurial (0.8) unstable; urgency=low + Upgrade notes: + - diff and status command are now repo-wide by default + (use 'hg diff .' for the old behavior) + - GPG signing is now done with the gpg extension + - the --text option for commit, rawcommit, and tag has been removed + - the copy/rename --parents option has been removed + + -- Vincent Danjean Mon, 30 Jan 2006 16:11:19 +0100 + +mercurial (0.6c-1) unstable; urgency=low + + Previous versions of mercurial can lead to conflicts for internal filenames + if the repo has both a file 'foo' and a directory 'foo.d'. + This version of mercurial solves this, however this means that some internal + files have been renamed. + + If you want to use (commit, clone on same filesystem, ...) a repo created + with an old version with the new version AND this repo contains directory + nammed 'foo.d', then you need to deal with it. According to the upstream + author, something like this should do the trick: + + find .hg -type d -name "*.[di]" -exec echo mv {} {}.hg ";" + + Run this at the top of your working dir. Take out the 'echo' once + you've confirmed it's finding the right files. + + Also note that 0.6c and older clients should be perfectly compatible + over the wire, so long as each side has the appropriate directory + naming. + + But if you use 0.6c to pull into a repo created by 0.6b with changes + that touch files in an affected directory, you're likely to have + strange behavior. + + -- Vincent Danjean Tue, 23 Aug 2005 09:55:35 +0200 diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..429dc34 --- /dev/null +++ b/README.Debian @@ -0,0 +1,36 @@ +Mercurial for Debian +-------------------- + +Table of contents +* Documentation +* Extensions +* Emacs support + + +Documentation +************* + +Mercurial documentation is available on the web at: + http://hgbook.red-bean.com/ and + https://www.mercurial-scm.org/wiki + +Extensions +********** + +Extensions can be enabled system-wide, per-user and/or per repository (see +hgrc(5) for more information). Previous versions of this Debian package +enabled some extensions by default; however, this is no longer the case. + +To enable extensions system-wide, you may edit the +/etc/mercurial/hgrc.d/hgext.rc configuration file. This file also contains +information on the dependencies of each extension. + + +Emacs support +************* +This package installs a mercurial.el file in the example directory +(/usr/share/doc/mercurial/examples/). However, with emacs22 or better, +vc-hg.el provided directly by emacs is better. This is why mercurial.el +is not installed by default anymore. + + -- Javi Merino , Sun, 17 Jul 2016 13:35:02 +0100 diff --git a/README.source b/README.source new file mode 100644 index 0000000..cf42723 --- /dev/null +++ b/README.source @@ -0,0 +1 @@ +See /usr/share/doc/quilt/README.source diff --git a/cacerts.rc b/cacerts.rc new file mode 100644 index 0000000..35faed2 --- /dev/null +++ b/cacerts.rc @@ -0,0 +1,5 @@ +[web] +# user can disable this Debian default by overriding this option in ~/.hgrc +# and/or using the --insecure command line switch +cacerts = /etc/ssl/certs/ca-certificates.crt + diff --git a/changelog b/changelog new file mode 100644 index 0000000..d8f13f1 --- /dev/null +++ b/changelog @@ -0,0 +1,2941 @@ +mercurial (6.3.2-1) sid; urgency=medium + + * New upstream bugfix release. + * from_upstream_stable.patch: pull in upstream changes up to changeset 812a9fbf4380 + * cgitb.patch: stop importing cgitb to avoid deprecation warnings + * Skip test-remotefilelog-gc.t. + * This fixes compatibility with python 3.11 (closes: #1028815) + * Bump test timeout to 1800 because riscv64 is apparently even slower than + mips (closes: #1024867). + + -- Julien Cristau Mon, 20 Feb 2023 18:44:46 +0100 + +mercurial (6.3.1-2) sid; urgency=medium + + * Fix FTBFS on 32-bit (closes: #1025621) + + -- Julien Cristau Wed, 07 Dec 2022 13:59:55 +0100 + +mercurial (6.3.1-1) sid; urgency=medium + + * New upstream release + - add python3-packaging to build-deps and autopkgtest dependencies for + run-tests, replacing + py310/2_run_tests__silence_distutils_deprecation_warning.patch + * test-hghave-testrepo.patch: new patch, to make test-hghave.t pass outside a + hg repo. + + -- Julien Cristau Tue, 06 Dec 2022 11:57:31 +0100 + +mercurial (6.2.3-1) sid; urgency=medium + + * New upstream bugfix release. + + -- Julien Cristau Fri, 07 Oct 2022 14:26:54 +0200 + +mercurial (6.2.2-1) sid; urgency=medium + + * New upstream bugfix release + - fixed fsmonitor extension (closes: #1014817) + + -- Julien Cristau Fri, 02 Sep 2022 14:08:12 +0200 + +mercurial (6.2-1) sid; urgency=medium + + * New upstream release + - Update patch stack + + -- Julien Cristau Mon, 11 Jul 2022 15:19:13 +0200 + +mercurial (6.1.3-1) sid; urgency=medium + + * Blocklist test-convert-cvs-synthetic.t. + * New upstream bugfix release. + + -- Julien Cristau Tue, 07 Jun 2022 20:53:46 +0200 + +mercurial (6.1.2-1) sid; urgency=medium + + * Add zsh_completion to debian/copyright (closes: #1004341) + * New upstream bugfix release + * Fix test failures with openssl 3 (closes: #1011076) + + -- Julien Cristau Mon, 23 May 2022 12:21:07 +0200 + +mercurial (6.1.1-1) sid; urgency=medium + + * New upstream bugfix release. + * Fix test failures with python 3.10 (closes: #1008747). + + -- Julien Cristau Mon, 11 Apr 2022 14:08:09 +0200 + +mercurial (6.1-4) sid; urgency=medium + + * Upload to unstable. + + -- Julien Cristau Thu, 24 Mar 2022 20:39:34 +0100 + +mercurial (6.1-3) experimental; urgency=medium + + * Fix test-clone-stream_bigendian.patch. + + -- Julien Cristau Tue, 15 Mar 2022 17:18:53 +0100 + +mercurial (6.1-2) experimental; urgency=medium + + * revlog_unsigned_char_fix.patch: fix FTBFS on architectures with + unsigned char + * Update test blacklist: + - re-enable test-nointerrupt.t, test-https.t and + test-narrow-shallow.t, fixed upstream + - disable test-http-bad-server.t for intermittent failures + * test-clone-stream_bigendian.patch: fix test-clone-stream.t failure + on bigendian archs. + + -- Julien Cristau Tue, 15 Mar 2022 15:10:53 +0100 + +mercurial (6.1-1) experimental; urgency=medium + + * New upstream release. + * deb_specific__which_silence_warning.patch: delete, no longer needed. + + -- Julien Cristau Wed, 02 Mar 2022 17:18:42 +0100 + +mercurial (6.0.2-1) unstable; urgency=medium + + * Blocklist test-git-interop.t since we don't ship the corresponding + extension. + * New upstream bugfix release. + + -- Julien Cristau Thu, 03 Feb 2022 11:01:46 +0100 + +mercurial (6.0.1-3) unstable; urgency=medium + + * Use upstream's Makefile to build/install chg and man pages. + + -- Julien Cristau Thu, 13 Jan 2022 16:23:32 +0100 + +mercurial (6.0.1-2) unstable; urgency=medium + + * Stop installing debian-specific hg-ssh manpage, upstream has + supplied one since 2016. + * Replace pylint3 with pylint in autopkgtest dependencies. + * Add python3-subversion and python3-pygit2 autopkgtest dependencies + + -- Julien Cristau Thu, 13 Jan 2022 11:35:12 +0100 + +mercurial (6.0.1-1) unstable; urgency=medium + + * Add Raphaël Gomès' key to the known set. + * New upstream release. + + deb_specific__test_zstd_s390x.patch: dropped, merged upstream + * Upload to unstable. + + -- Julien Cristau Thu, 06 Jan 2022 10:16:00 +0100 + +mercurial (6.0-1) experimental; urgency=medium + + * New upstream release + + -- Julien Cristau Tue, 23 Nov 2021 20:37:36 +0100 + +mercurial (6.0~rc0-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Julien Cristau Wed, 10 Nov 2021 13:12:13 +0100 + +mercurial (5.9.3-1) unstable; urgency=medium + + * New upstream release. + + proposed_upstream__revlog_s390x_part[12].patch: dropped, merged upstream + + deb_specific__test_zstd_s390x.patch: updated + + -- Julien Cristau Thu, 28 Oct 2021 22:22:46 +0200 + +mercurial (5.9-3) unstable; urgency=medium + + * Further adjust tests for endianness-related variations. + * Silence yet another test warning about `which`. + + -- Julien Cristau Wed, 25 Aug 2021 19:54:04 +0200 + +mercurial (5.9-2) unstable; urgency=medium + + * Fix bugs in revlog parsing causing issues on s390x, and adjust some + tests to accept variations in zstd output. Closes: #992844. + + -- Julien Cristau Wed, 25 Aug 2021 17:22:58 +0200 + +mercurial (5.9-1) unstable; urgency=medium + + [ Nicolas Dandrimont ] + * New upstream release. + - Add OpenPGP key for Pulkit Goyal <7895pulkit@gmail.com>. + - Refresh patches. + + [ Julien Cristau ] + * Silence warnings from `which` in tests. + + -- Julien Cristau Mon, 23 Aug 2021 17:04:40 +0200 + +mercurial (5.6.1-4) unstable; urgency=medium + + * Revert -mno-lra workaround on mips64el, #871514 was fixed. Fixes + occasional FTBFS on mips64el. + + -- Stefano Rivera Sun, 23 May 2021 08:37:06 -0400 + +mercurial (5.6.1-3) unstable; urgency=medium + + * Team upload. + + [ Helmut Grohne ] + * Annotate test dependencies (closes: #980337). + + [ Stefano Rivera ] + * python-3.9.2.patch: Use "&" instead of ";" as query string separator + in test-archive.t to fix FTBFS with Python 3.9.2, which changed its + urllib.parse.parse_qsl() behavior to only accept "&" as a separator by + default. (closes: #986514) + + -- Stefano Rivera Fri, 21 May 2021 12:06:47 -0400 + +mercurial (5.6.1-2) unstable; urgency=medium + + * tests: make test-subrepo-git.t compatible with git's master->main + rename (closes: #980576). + + -- Julien Cristau Mon, 01 Feb 2021 17:47:09 +0100 + +mercurial (5.6.1-1) unstable; urgency=medium + + * New upstream release. + * Update Uploaders: remove vicho and vdanjean, add jcristau. With + thanks for their past contributions! + + -- Julien Cristau Fri, 08 Jan 2021 17:16:53 +0100 + +mercurial (5.5.2-1) unstable; urgency=medium + + [ Ondřej Nový ] + * d/control: Update Maintainer field with new Debian Python Team + contact address. + * d/control: Update Vcs-* fields with new Debian Python Team Salsa + layout. + + [ Julien Cristau ] + * New upstream bugfix release + + -- Julien Cristau Wed, 14 Oct 2020 14:45:55 +0200 + +mercurial (5.5.1-1) unstable; urgency=medium + + * Team upload. + * New upstream bugfix release. + + -- Julien Cristau Wed, 02 Sep 2020 10:26:16 +0200 + +mercurial (5.5-2) unstable; urgency=medium + + * (Hopefully) fix flakiness in test-stdio.py. + + -- Tristan Seligmann Mon, 17 Aug 2020 10:33:16 +0200 + +mercurial (5.5-1) unstable; urgency=medium + + * New upstream release. + - Fix Python 3 issues with hgext.convert.subversion (closes: #968466). + * Install zsh completion to vendor-completions (closes: #963253). + * Install run-tests.py for downstream packages to use (closes: #930488). + + -- Tristan Seligmann Sun, 16 Aug 2020 17:00:20 +0200 + +mercurial (5.4.1-3) unstable; urgency=medium + + * Trim trailing whitespace. + * Bump debhelper from deprecated 9 to 13. + * Rely on pre-initialized dpkg-architecture variables. + * Set Rules-Requires-Root: no. + * Adjust Breaks: mercurial-crecord (closes: #968035). + * Remove unused debian/source/include-binaries. + * Bump Standards-Version to 4.5.0. + * Blacklist test-check-format.t. + * Blacklist test-wireproto-exchangev2-shallow.t. + + -- Tristan Seligmann Mon, 10 Aug 2020 23:06:15 -0000 + +mercurial (5.4.1-2) unstable; urgency=medium + + * Upload to unstable, switch to python3; Closes: #937009, #948610 + + -- Sandro Tosi Thu, 16 Jul 2020 15:05:37 -0400 + +mercurial (5.4.1-1+exp1) experimental; urgency=medium + + * Upload to experimental a python3 version of mercurial + + -- Sandro Tosi Sat, 04 Jul 2020 21:12:04 -0400 + +mercurial (5.4.1-1) unstable; urgency=medium + + * Team upload. + * Remove python-subversion from autopkgtest dependencies + (closes: #956007) + * New upstream bugfix release. + * Fix test-clone-uncompressed.t failure on slow/loaded hosts. + * Blacklist test-narrow-shallow.t for occasional failures. + * Blacklist test-debugcommands.t for occasional failures. + + -- Julien Cristau Thu, 25 Jun 2020 12:18:13 +0200 + +mercurial (5.4-2) unstable; urgency=medium + + * Team upload. + * Blacklist test-nointerrupt.t for being racy. + * Don't install the hgext.git extension as that namespace is used by + the mercurial-git package, and ours is still very experimental. + Closes: #961245 + + -- Julien Cristau Thu, 18 Jun 2020 15:38:51 +0200 + +mercurial (5.4-1+exp1) experimental; urgency=medium + + * Team upload. + * Use python3 (closes: #937009). + * mercurial Provides python3-mercurial so extensions can depend on + that instead of a hazardous versioned dependency. + * Add Breaks on all extensions. To be updated as we don't know what + version will use python3. + + -- Julien Cristau Thu, 21 May 2020 12:44:39 +0200 + +mercurial (5.4-1) unstable; urgency=medium + + * Team upload. + + [ Philippe Pepiot ] + * Ship the chg binary (closes: #926384). chg can be used as an + alternative "hg" command, it spawns a mercurial server and uses a + lightweight client written in C. + + [ Julien Cristau ] + * Add Pulkit Goyal's key (EB851395B4223EE2F7BA0B28DA54740BF08732BA) to + the keyring for upstream tarball signatures. + * New upstream release. + * Fix test-doctest.py now assuming it's being run from a hg repo. + * autopkgtests: explicitly run the testsuite with python2. + + -- Julien Cristau Thu, 21 May 2020 12:35:06 +0200 + +mercurial (5.3.2-1) unstable; urgency=medium + + * New upstream release + + -- Julien Cristau Thu, 16 Apr 2020 10:35:09 +0200 + +mercurial (5.3.1-1) unstable; urgency=medium + + * Team upload. + * New upstream release + - drop proposed_upstream__correct-zeroconf-doc, included upstream. + * Stop moving the help text and templates to /usr/share/mercurial, doesn't + work right with the changes in 5.3 and isn't worth the effort. + + -- Julien Cristau Fri, 06 Mar 2020 10:38:36 +0100 + +mercurial (5.2.2-1) unstable; urgency=medium + + * Team upload. + * New upstream release + * Remove test-remotefilelog-bgprefetch.t from the blacklist, it's + hopefully more reliable now. + + -- Julien Cristau Thu, 09 Jan 2020 16:06:17 +0100 + +mercurial (5.2.1-1) unstable; urgency=medium + + * New upstream bugfix release. + * for_upstream__dont_rm_usr_bin_python_when_running_testsuite.patch: drop, + obsolete since 2014. + * autopkgtest: add clang-format dependency, list other optional dependencies + that are currently disabled. + * Replace deb_specific__use_sensible-editor.patch with a config snippet that + sets default values for ui.editor and pager.pager. + * Bump hgsubversion Breaks. + + -- Julien Cristau Fri, 06 Dec 2019 15:47:38 +0100 + +mercurial (5.2-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * Re-enable test-repo-compengines.t, fixed upstream. + * Disable test-remotefilelog-bgprefetch.t for being flaky. + + -- Julien Cristau Wed, 06 Nov 2019 15:19:30 +0100 + +mercurial (5.2~rc0-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Julien Cristau Thu, 24 Oct 2019 14:32:33 +0200 + +mercurial (5.1.1-1) unstable; urgency=medium + + * New upstream bugfix release. + + -- Julien Cristau Fri, 06 Sep 2019 14:08:37 +0200 + +mercurial (5.1-4) unstable; urgency=medium + + * Remove python-vcr and python-fuzzywuzzy autopkgtest dependencies, + looks like they got removed :( + + -- Julien Cristau Thu, 05 Sep 2019 15:11:05 +0200 + +mercurial (5.1-3) unstable; urgency=medium + + * Actually only run the blacklisted tests in the ignored run. + * Upload to unstable. + + -- Julien Cristau Tue, 03 Sep 2019 11:19:00 +0200 + +mercurial (5.1-2) experimental; urgency=medium + + * Add patch from https://github.com/indygreg/python-zstandard/pull/91 + to fix test failure on s390x. + * Skip test-repo-compengines.t due to differences on big-endian. + * This should fix FTBFS and closes: #935150. + * Run blacklisted tests but ignore their results, so we can figure out + if they still fail and how often. + + -- Julien Cristau Thu, 22 Aug 2019 18:36:05 +0200 + +mercurial (5.1-1) experimental; urgency=medium + + [ Julien Cristau ] + * Drop autopkgtests dependency on monotone. It's RC buggy, not in buster, + and uninstallable in sid (closes: #919924). Thanks, Graham Inggs! + * Add autopkgtests dependencies: + - subversion (for test-subrepo-svn.t, test-convert-svn-*.t) + - gettext (for test-gendoc-*.t) + - pylint (for test-check-pylint.t) + - python-pygments (for test-highlight.t) + - git (for test-convert-git.t, test-subrepo-git.t) + - python-docutils (for test-gendoc.t) + - sqlite3 (for test-wireproto-exchangev2-shallow.t, test-sqlitestore.t) + - python-fuzzywuzzy (for test-releasenotes-*.t) + - python-vcr (for test-phabricator.t) + - darcs (for test-convert-darcs.t) + * New upstream release. + + [ Ondřej Nový ] + * Use debhelper-compat instead of debian/compat. + + -- Julien Cristau Wed, 14 Aug 2019 15:47:28 +0200 + +mercurial (4.9-2) unstable; urgency=medium + + * Bump Breaks on mercurial-git (closes: #921572) + + -- Julien Cristau Fri, 08 Feb 2019 15:59:25 +0100 + +mercurial (4.9-1) unstable; urgency=medium + + * New upstream release. + + -- Julien Cristau Tue, 05 Feb 2019 18:15:17 +0100 + +mercurial (4.9~rc0-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Julien Cristau Fri, 25 Jan 2019 17:47:04 +0100 + +mercurial (4.8.2-1) unstable; urgency=medium + + * Team upload. + * New upstream bugfix release. + * Drop proposed_upstream__test-http-bad-server.patch, merged upstream. + + -- Julien Cristau Tue, 08 Jan 2019 12:28:46 +0100 + +mercurial (4.8.1-3) unstable; urgency=medium + + * Add less to debian/test/control as well to fix test-logtoprocess.t + (closes: #918558). Thanks, Graham Inggs! + + -- Julien Cristau Mon, 07 Jan 2019 13:51:50 +0100 + +mercurial (4.8.1-2) unstable; urgency=medium + + * test: fix test-http-bad-server with current python 2.7 (fixes FTBFS) + + -- Julien Cristau Wed, 12 Dec 2018 06:58:28 +0100 + +mercurial (4.8.1-1) unstable; urgency=medium + + * Team upload. + * New upstream bugfix release. + + -- Julien Cristau Tue, 11 Dec 2018 18:14:10 +0100 + +mercurial (4.8-2) unstable; urgency=medium + + * Team upload. + * Fix FTBFS due to test_profile.t failure. + * Refresh patches. + + -- Julien Cristau Tue, 20 Nov 2018 18:55:40 +0100 + +mercurial (4.8-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * Add build-dep on "less" for tests. + * Add test-wireproto-exchangev2.t to blacklist, it seems to be racy. + + -- Julien Cristau Tue, 20 Nov 2018 15:47:36 +0100 + +mercurial (4.7.2-1) unstable; urgency=medium + + * Team upload. + * New upstream release. + * Stop installing mergetools.rc in /etc/mercurial/hgrc.d (closes: #909224). + + -- Julien Cristau Thu, 04 Oct 2018 15:10:15 +0200 + +mercurial (4.7.1-1) unstable; urgency=medium + + * New upstream release + + -- Julien Cristau Tue, 04 Sep 2018 18:45:34 +0200 + +mercurial (4.7-1) unstable; urgency=medium + + * Team upload. + * New upstream release + * Add Recommends on sensible-utils (thanks, lintian). + + -- Julien Cristau Wed, 08 Aug 2018 14:34:59 +0200 + +mercurial (4.6.1-1) unstable; urgency=medium + + * New upstream bugfix release + + fix security issues in mpatch (closes: #901050) + + proposed_upstream__fix_xdiff_32bit.patch: drop, applied upstream + + -- Julien Cristau Fri, 08 Jun 2018 13:56:22 +0200 + +mercurial (4.6-2) unstable; urgency=medium + + * Fix xdiff on 32bit (closes: #898491) + + -- Julien Cristau Sat, 12 May 2018 23:51:44 +0200 + +mercurial (4.6-1) unstable; urgency=medium + + * Team upload + + [ Julien Cristau ] + * Make uscan recognize "4.6rc1" as a release candidate + * New upstream release. + * Document embedded third party code licenses in debian/copyright. + * Drop obsolete X-Python-Versions control field. + * Fix typo in deb_specific__disable_libdir_replacement.patch description + (thanks, lintian!) + * Install translations where hg will look for them (closes: #886797) + + [ Matthias Klose ] + * Pass the same TESTFLAGS to the autopkg tests, as done for the test + during package build, and make the blacklist work correctly + (closes: #895200, #893012) + * Disable hgsubversion and mercurial-git autopkgtests (closes: #890191) + + -- Julien Cristau Fri, 11 May 2018 18:19:39 +0200 + +mercurial (4.5.3-1) unstable; urgency=medium + + * Team upload. + * New upstream bugfix release + + -- Julien Cristau Thu, 05 Apr 2018 14:25:18 +0200 + +mercurial (4.5.2-1) unstable; urgency=medium + + * Team upload. + + [ Ondřej Nový ] + * d/copyright: Use https protocol in Format field + * d/changelog: Remove trailing whitespaces + + [ Julien Cristau ] + * Add Kevin Bullock's key to debian/upstream/signing-key.asc + * New upstream release + + -- Julien Cristau Wed, 21 Mar 2018 13:32:27 +0100 + +mercurial (4.5-1) unstable; urgency=medium + + * New upstream release. + - Drop libjs-excanvas as no longer used by upstream. + + -- Tristan Seligmann Sun, 11 Feb 2018 08:51:26 +0200 + +mercurial (4.4.1-1) unstable; urgency=medium + + * New upstream release. + - Refresh patches, remove patches applied upstream. + * Replace rename with file-rename as this is gone from perl. + + -- Tristan Seligmann Mon, 13 Nov 2017 06:19:31 +0200 + +mercurial (4.3.1-3) unstable; urgency=high + + * Build with -mno-lra on mips64el to work around #871514. + + -- Tristan Seligmann Sat, 26 Aug 2017 01:38:11 +0200 + +mercurial (4.3.1-2) unstable; urgency=high + + * Fix or disable some failing tests (closes: #823056, #850234). + + -- Tristan Seligmann Sat, 12 Aug 2017 14:34:47 +0200 + +mercurial (4.3.1-1) unstable; urgency=high + + * Urgency high because of important security fixes. + * New upstream release (closes: #868014). + - CVE-2017-1000115: Mercurial's symlink auditing was incomplete prior + to 4.3, and could be abused to write to files outside the + repository (closes: #871709). + - CVE-2017-1000116: Mercurial was not sanitizing hostnames passed to + ssh, allowing shell injection attacks by specifying a hostname + starting with -oProxyCommand (closes: #871710). + - CVE-2017-9462: previously fixed in 4.1.3 upstream (closes: #861243). + * Blacklist test-https.t due to TLS 1.0/1.1 being disabled in OpenSSL in + unstable. + * Fix license definitions in debian/copyright. + * Bump Standards-Version to 4.0.0 (no changes). + * Run wrap-and-sort -t -s. + + -- Tristan Seligmann Fri, 11 Aug 2017 05:00:16 +0200 + +mercurial (4.0-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Wed, 02 Nov 2016 05:50:33 -0600 + +mercurial (4.0~rc1-1) experimental; urgency=medium + + * First release candidate for mercurial 4.0 + * Remove deb_specific__use_gpg_21_keys_for_test.patch as test-gpg now + migrates the secret keys at the beginning of the test + + -- Javi Merino Sun, 23 Oct 2016 18:15:45 +0100 + +mercurial (3.9.2-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Sat, 22 Oct 2016 19:40:13 +0100 + +mercurial (3.9.1-1) unstable; urgency=medium + + * New upstream release signed with a new gpg key + * Fix "FTBFS: Tests failures" by fixing test-gpg.t's output to take into + account gpg 2.1's messages when importing classic gpg keyring files. + (Closes: #835730) + + -- Javi Merino Sat, 03 Sep 2016 09:04:00 +0300 + +mercurial (3.9-1) unstable; urgency=medium + + * New upstream release + * Fix release URL in debian/watch + + -- Javi Merino Sun, 07 Aug 2016 11:54:04 +0100 + +mercurial (3.8.4-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Sun, 10 Jul 2016 12:38:01 +0100 + +mercurial (3.8.3-1) unstable; urgency=medium + + * New upstream release + * Delete + from_upstream__strip_invalidate_phase_cache_after_stripping_changese + t_issue5235.patch as it's now included upstream + + -- Javi Merino Fri, 03 Jun 2016 08:26:16 +0100 + +mercurial (3.8.2-2) unstable; urgency=medium + + * Update hgsubversion breaks to 1.8.6-1 + * Add + from_upstream__strip_invalidate_phase_cache_after_stripping_changese + t_issue5235.patch to fix test-obsolete.t on powerpc and i386 + + -- Javi Merino Sat, 28 May 2016 22:45:03 +0200 + +mercurial (3.8.2-1) unstable; urgency=medium + + * New upstream release + * revert mercurial-git breaks to 0.8.3-1 + * update debian/watch URL + + -- Javi Merino Fri, 27 May 2016 22:01:25 +0200 + +mercurial (3.8.1-1) unstable; urgency=medium + + * New upstream release (Closes: #737498) + * Fixes CVE-2016-3105 + * Bump standards-version to 3.9.8 (no change needed) + * Re-enable test-parse-date.t in the test-suite + * mercurial 3.8.1 breaks current hgsubversion and mercurial-git + + -- Javi Merino Tue, 03 May 2016 07:45:02 +0100 + +mercurial (3.7.3-1) unstable; urgency=medium + + * New security upstream release fixes CVE-2016-3068, CVE-2016-3069 + and CVE-2016-3630. + * Fix "FTBFS when built with dpkg-buildpackage -A". Thanks Julien + Cristau for the patch (Closes: #807021) + * Avoid allow-stderr in mercurial-git autopkgtest + + -- Javi Merino Wed, 30 Mar 2016 08:20:07 +0100 + +mercurial (3.7.2-2) unstable; urgency=medium + + * Don't run test-clonebundle.t when building. Reproducible builds don't + setup name resolution (Closes: #809770) + + -- Javi Merino Sat, 05 Mar 2016 12:08:37 +0000 + +mercurial (3.7.2-1) unstable; urgency=medium + + * New upstream release + * Blacklist test-parse-date.t . It fails on some of the chroots of + some architectures + * Bump standards-version to 3.9.6 (no change needed) + * Use https for vcs-browser. Thanks lintian + * Update homepage + + -- Javi Merino Wed, 02 Mar 2016 22:28:36 +0000 + +mercurial (3.7.1-1) unstable; urgency=medium + + * New upstream release + * Fix "mercurial-git autopkgtest fails because of stderr" by allowing + the test to output to stderr (Closes: #808376) + * Allow the hgsubversion test to output to stderr + + -- Javi Merino Thu, 11 Feb 2016 22:43:27 +0000 + +mercurial (3.6.2-1) unstable; urgency=medium + + * New upstream release + * Improve autopkgtest for mercurial-git to test pushing commits from the + mercurial clone to git + * Update breaks of hgsubversion. hgsubversion 1.8.3-2 works with + mercurial 3.6 + + -- Javi Merino Fri, 04 Dec 2015 07:37:49 +0000 + +mercurial (3.6.1-1) unstable; urgency=medium + + * New upstream release + * mercurial 3.6 breaks mercurial-crecord 0.20150626-1 + * mercurial 3.6 breaks mercurial-git prior to 0.8.3-1 + + -- Javi Merino Thu, 26 Nov 2015 08:30:18 +0000 + +mercurial (3.6-1) unstable; urgency=medium + + * New upstream release + * Update hgsubversion breaks. 1.8.3-1 is not compatible with mercurial + 3.6-1 + + -- Javi Merino Thu, 05 Nov 2015 10:43:33 +0000 + +mercurial (3.6~rc1-1) experimental; urgency=medium + + * First release candidate for mercurial 3.6 + + -- Javi Merino Sun, 25 Oct 2015 17:31:59 +0000 + +mercurial (3.5.2-2) unstable; urgency=medium + + * Fix "bash completion broken" by installing at as "hg" instead of + "mercurial". Thanks Matthew Gabeler-Lee for the + fix (Closes: #801079) + + -- Javi Merino Sun, 18 Oct 2015 14:14:20 +0100 + +mercurial (3.5.2-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Fri, 02 Oct 2015 08:14:57 +0100 + +mercurial (3.5.1-2) unstable; urgency=medium + + * Fix "obsolete conffile /etc/bash_completion.d/mercurial" by removing + it. Bash completion is now installed in + /usr/share/bash_completion/completions (Closes: #799052) + + -- Javi Merino Sun, 20 Sep 2015 13:23:46 +0100 + +mercurial (3.5.1-1) unstable; urgency=medium + + * Update hgsubversion breaks. 1.8.2-1 is compatible with mercurial 3.5-1 + * Update breaks of mercurial-git. 0.8.1-3 works with mercurial 3.5-1 + * New upstream release + + -- Javi Merino Mon, 14 Sep 2015 22:05:21 +0100 + +mercurial (3.5-1) unstable; urgency=medium + + * New upstream release + * Update hgsubversion breaks to 1.8.1-1 + * Upload to unstable + + -- Javi Merino Mon, 03 Aug 2015 20:18:33 +0100 + +mercurial (3.5~rc1-1) experimental; urgency=medium + + * New upstream release + * Update debian/copyright to match copyright-format 1.0 + * New version breaks the current versions of mercurial-git and + hgsubversion in sid + + -- Javi Merino Wed, 22 Jul 2015 10:30:00 +0200 + +mercurial (3.4.2-1) unstable; urgency=medium + + * New upstream release + * Drop "XS-Testsuite" as it's no longer needed + * Fix "FTBFS: recipe for target 'override_dh_auto_test' failed" + by using rename. util-linux no longer provides rename.ul (Closes: #790266) + + -- Javi Merino Wed, 08 Jul 2015 22:31:18 +0100 + +mercurial (3.4-1) unstable; urgency=medium + + * New upstream release + * Delete patch for_upstream__fix_typo_in_man_page.patch as it is applied + upstream + * Update breaks of hgsubversion to versions prior to 1.8-1 + * Upload to unstable + + -- Javi Merino Sat, 02 May 2015 10:01:10 +0100 + +mercurial (3.4~rc1-1) experimental; urgency=medium + + * New upstream release + * Delete patch for_upstream__lenient_test-shelve.patch which is + applied upstream + * Remove trailing spaces from empty lines in the descriptions. It + upsets lintian + * Add patch for_upstream__fix_typo_in_man_page.patch to fix a typo + spotted by lintian + + -- Javi Merino Sun, 19 Apr 2015 15:41:25 +0100 + +mercurial (3.3.2-1) experimental; urgency=medium + + * New upstream release + + -- Javi Merino Fri, 13 Mar 2015 13:38:04 +0000 + +mercurial (3.3-1) experimental; urgency=medium + + * New upstream release + + -- Javi Merino Mon, 09 Feb 2015 05:48:23 +0800 + +mercurial (3.3~rc1-1) experimental; urgency=medium + + * New upstream release + * move the installation of mergetools.rc to mercurial-common.install + + -- Javi Merino Sat, 31 Jan 2015 17:48:59 +0100 + +mercurial (3.2.3-1) experimental; urgency=medium + + * New upstream release + + -- Javi Merino Fri, 19 Dec 2014 22:29:28 +0000 + +mercurial (3.2.1-1) experimental; urgency=medium + + * New upstream release + + -- Javi Merino Fri, 14 Nov 2014 08:35:25 +0000 + +mercurial (3.2-1) experimental; urgency=medium + + * New upstream release (Closes: #768022) + * Replace deb_specific__support_templates_in_fsh.patch, + deb_specific__support_help_in_fhs.patch and + deb_specific__support_mo_in_fhs.patch with + deb_specific__fix_fhs_paths.py as the mechanism to specify the path to + datafiles has been unified. + * Remove from_upstream__test- + patchbomb_t_work_around_Python_change_d579866d6419_issue4188.patch + as it is now included upstream + * Bump standards-version to 3.9.6 (no change needed) + * Build-depend on dh-python + * Simplify installation of /etc/mercurial/hgrc.d/cacerts.rc + * Remove sample.hgrc from the examples as it's now removed in upstream + (full of bad suggestions) + * Update breaks for mercurial-git and hgsubversion: current versions + don't work + + -- Javi Merino Mon, 10 Nov 2014 08:34:13 +0000 + +mercurial (3.1.2-1) unstable; urgency=medium + + * New upstream version + * Use excanvas.js from libjs-excanvas instead of shipping a copy in + the package + + -- Javi Merino Thu, 02 Oct 2014 23:34:41 +0100 + +mercurial (3.1.1-1) unstable; urgency=medium + + * New upstream release + * Remove test_patchbomb from blacklisted tests (fixed upstream in + http://selenic.com/repo/hg/rev/f8fc5df6a8cf) + * Add patch from_upstream__test- + patchbomb_t_work_around_Python_change_d579866d6419_issue4188.patch + which fixes the patchbomb test + + -- Javi Merino Thu, 04 Sep 2014 09:04:08 +0200 + +mercurial (3.1-2) unstable; urgency=medium + + * gcc and python2.7-dev now needed to pass the testsuite in autopkgtest + * mercurial-git versions prior to 0.6.1 don't work with mercurial-3.1, + update breaks + * Fix hgsubversion autopkgtest + * Remove darcs from the autopkgtest testsuite as gnutls fails to + initialize random number generator in the schroot and is very verbose + about it. + + -- Javi Merino Mon, 25 Aug 2014 14:54:24 -0700 + +mercurial (3.1-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Sat, 02 Aug 2014 11:29:22 +0100 + +mercurial (3.0.2-1) unstable; urgency=medium + + * New upstream release + + -- Javi Merino Sun, 13 Jul 2014 13:12:26 +0200 + +mercurial (3.0.1-1) unstable; urgency=medium + + * New upstream release (Closes: #750444) + * Update breaks of hgview to hgview-common << 1.8.1 (Thanks Julien Cristau) + + -- Javi Merino Tue, 17 Jun 2014 22:55:05 +0100 + +mercurial (3.0-1) unstable; urgency=medium + + * New upstream release + * Rever breaks of hgsubversion to versions prior to 1.6 + * Upload to unstable + + -- Javi Merino Fri, 02 May 2014 08:33:00 +0100 + +mercurial (3.0~rc1-1) experimental; urgency=medium + + * New upstream release + * Don't explicitly change the python interpreter in debian/rules, it's + already handled by dh_python2 + * Drop patch deb_specific__fix_hg-ssh_interpreter.patch as dh_python2 + fixes the interpreter for us + * Fix "fatal: empty ident name (for ) not allowed" + error in the mercurial-git autopkgtest + * Blacklist test-patchbomb from the testsuite autopkgtest as it is + known to fail + * Don't install tmplrewrite.py in examples any more. It was useful + for the 1.3 transition, but no longer relevant + * Mercurial 3.0 breaks current hgsubversion (1.6) + + -- Javi Merino Sat, 19 Apr 2014 18:53:34 +0100 + +mercurial (2.9.2-1) unstable; urgency=low + + [ Javi Merino ] + * New upstream release + * Fix "please downgrade 'wish' Recommends to Suggests" by removing the + Recommends from the mercurial package (but keeping the Suggests in + mercurial-common) (Closes: #741514) + * Drop Suggests of vim or emacs + * Fix "autopkgtest hgsubversion shouldn't need network connectivity" + by making the test create a local svn repository (Closes: #735578) + * Mercurial 2.9 breaks hgsubversion prior to 1.6 + + [ Julien Cristau ] + * mercurial-common Replaces mercurial << 2.6.3 (the bash_completion file and + /etc/mercurial/hgrc moved) (Closes: #743288) + + -- Javi Merino Thu, 03 Apr 2014 08:11:58 +0100 + +mercurial (2.9.1-1) unstable; urgency=medium + + * New upstream release + * mercurial 2.9 breaks current hgsubversion (1.5-1) + * Blacklist test-patchbomb.t as it failed sporadically in mips buildd + for 2.9-1 and is now failing for me. + + -- Javi Merino Mon, 03 Mar 2014 22:52:12 +0000 + +mercurial (2.9-1) unstable; urgency=medium + + * blacklist check_pyflakes instead of deleting the test + * Add "allow-stderr" restriction to "testsuite" as it prints out a + "Tested with unexpected mercurial lib:" warning. Thanks to Martin + Pitt . + + -- Javi Merino Mon, 10 Feb 2014 22:37:30 +0000 + +mercurial (2.8.2-1) unstable; urgency=medium + + * New upstream release + * Drop for_upstream__fix_i18n.patch as it's now included upstream + * Make uscan verify the signature of downloaded tarballs + + -- Javi Merino Thu, 02 Jan 2014 17:31:05 +0100 + +mercurial (2.8.1-2) unstable; urgency=low + + * Pass -f to rm so that repeated builds succeed (Closes: #731623). + * Fix installation in the case where there is more than one supported + version of Python (Closes: #729153). + - Thanks to Faheem Mitha for the patch. + * Make test-shelve.t more lenient. This should hopefully fix the + semi-intermittent build failures on some architectures with slower + buildds. + + -- Tristan Seligmann Sun, 08 Dec 2013 02:03:54 +0200 + +mercurial (2.8.1-1) unstable; urgency=low + + * New upstream release (Closes: #731471) + * Add myself to Uploaders. + * Add patch to fix test-i18n. + * Remove pyflakes test to avoid build failures when pyflakes is installed. + + -- Tristan Seligmann Fri, 06 Dec 2013 01:14:40 +0200 + +mercurial (2.8-3) unstable; urgency=low + + * Fix mercurial-git autopkg test + * Add missing deps to run the testsuite with autopkgtest + * Increment testsuite timeout to 1440 to prevent timeouts in mips + * Move wish to Recommends as it's needed for hg view + + -- Javi Merino Sun, 17 Nov 2013 10:13:23 +0000 + +mercurial (2.8-2) unstable; urgency=medium + + * Increment testsuite timeout to 720 as test-gendoc.t takes a + loooong time on armel + * Don't run pyflakes on the autopkgtest for the testsuite, it fails to + see the pyflakes error it's expecting (but it's not our job to fix + python lint issues) + + -- Javi Merino Fri, 15 Nov 2013 14:10:00 +0000 + +mercurial (2.8-1) unstable; urgency=low + + * New upstream release + * Fix mercurial-git and hgsubversion autopkgtest by loading the + appropriate extension + * Bump standards-version to 3.9.5 (no change needed) + + -- Javi Merino Fri, 01 Nov 2013 23:19:57 +0000 + +mercurial (2.8~rc1-1) experimental; urgency=low + + * New upstream release + * Fix patches deb_specific__install-help-separately, + deb_specific__install-help-separately and + deb_specific__install-mo-fhs.patch so that we can run the full + testsuite when building + * Build-depend on netbase to make test-serve.t work + + -- Javi Merino Mon, 21 Oct 2013 22:35:36 +0100 + +mercurial (2.7.2-1) unstable; urgency=low + + * New upstream release + * Revert breaks of mercurial-git back to << 0.4.0-1 (Closes: #725145) + * Re-enable the testsuite as the tests that timeout can be blacklisted + + -- Javi Merino Wed, 02 Oct 2013 23:55:58 +0100 + +mercurial (2.7.1-3) unstable; urgency=low + + * Update breaks of mercurial-git to the current version (0.4.0-1) + * Add autopkgtest tests + + -- Javi Merino Tue, 01 Oct 2013 08:48:23 +0100 + +mercurial (2.7.1-2) unstable; urgency=low + + * Temporarily don't run the testsuite when building. Since 2.7.1 it + timeouts in buildd environments (but works ok if run in the command + line). + + -- Javi Merino Thu, 05 Sep 2013 21:52:14 +0100 + +mercurial (2.7.1-1) unstable; urgency=low + + * New upstream release + * Enable tests that need networking + + -- Javi Merino Wed, 04 Sep 2013 23:06:57 +0100 + +mercurial (2.7-2) unstable; urgency=low + + * Fix "conffiles not removed" by properly moving them to mercurial-common + (Closes: #718621) + + -- Javi Merino Tue, 13 Aug 2013 23:11:14 +0200 + +mercurial (2.7-1) unstable; urgency=low + + * New upstream release + * Remove shrink-revlog.py from examples as it is no longer shipped in + mercurial + + -- Javi Merino Sun, 11 Aug 2013 16:09:20 +0200 + +mercurial (2.6.3-1) unstable; urgency=low + + * New upstream release + * Remove preinst script as it's mostly checks for stuff that was fixed + long ago + * Remove old checks from postinst + * Move config files to mercurial-common + * Install bash-completion using debhelper's bash-completion sequencer + * Compatible with hgsubversion 1.5 or greater, update breaks to + reflect that + + -- Javi Merino Sun, 21 Jul 2013 23:31:34 +0200 + +mercurial (2.6.2-1) unstable; urgency=low + + * New upstream release + * Delete patch + from_upstream__fix_untranslated_prompts_with_translated_responses.patch + which is now included upstream + + -- Javi Merino Sun, 09 Jun 2013 10:36:59 +0100 + +mercurial (2.6.1-1) unstable; urgency=low + + [ Jakub Wilk ] + * Use canonical URIs for Vcs-* fields. + + [ Javi Merino ] + * New upstream release (Closes: #709815) + * Blacklist test-histedit-arguments.t and test-websub.t + * Fix "Translation missing for yes/no question, but requires translated + input from user" by adding patch + from_upstream__fix_untranslated_prompts_with_translated_responses.patch + (Closes: #707703) + * Upload to unstable + + -- Javi Merino Wed, 15 May 2013 22:16:29 +0100 + +mercurial (2.5.2-1) experimental; urgency=low + + * New upstream release + * Update hgview breaks. hgview works with mercurial 2.5 starting from + 1.7.1-1. + * test-convert-git.t works again so add it back to the test-suite we + run when building the package + + -- Javi Merino Tue, 19 Mar 2013 22:53:20 +0000 + +mercurial (2.5.1-1) experimental; urgency=low + + * New upstream release + * Add test-obsolete.t to the blacklisted tests + * hgview 1.5.0-4 doesn't work with mercurial 2.5.1 + + -- Javi Merino Tue, 12 Feb 2013 21:13:06 +0000 + +mercurial (2.4.2-1) experimental; urgency=low + + * New upstream release + + -- Javi Merino Wed, 02 Jan 2013 13:01:27 +0100 + +mercurial (2.4.1-1) experimental; urgency=low + + * New upstream release + + -- Javi Merino Wed, 19 Dec 2012 21:10:25 +0000 + +mercurial (2.4-1) experimental; urgency=low + + * New upstream release + * mercurial 2.3.1 was not compatible with hgsubversion 1.4 and + mercurial-git 0.3.3 + * Bump standards-version to 3.9.4 (no change needed) + * Add test-commit-amend to the blacklisted tests as it needs styles + now + + -- Javi Merino Tue, 27 Nov 2012 22:35:33 +0000 + +mercurial (2.3.1-1) experimental; urgency=low + + * New upstream release + * Delete patch for_upstream__hgweb_fix_spelling_error.patch which is + now included upstream + + -- Javi Merino Sun, 16 Sep 2012 16:05:55 +0100 + +mercurial (2.3-2) experimental; urgency=low + + * Blacklist test-histedit-revspec as it needs styles + + -- Javi Merino Sat, 04 Aug 2012 20:56:38 +0200 + +mercurial (2.3-1) experimental; urgency=low + + * Don't run the testsuite if nocheck is in DEB_BUILD_OPTIONS + * Move to dh v9 to automatically get the Hardening buildflags + * Don't Suggest xxdiff, as it's been removed from the archive + * New upstream release + * Add patch for_upstream__hgweb_fix_spelling_error.patch to fix a + spelling error in a manpage + + -- Javi Merino Fri, 03 Aug 2012 20:53:44 +0200 + +mercurial (2.2.2-1) unstable; urgency=low + + * New upstream release + + -- Javi Merino Sun, 03 Jun 2012 09:17:36 +0100 + +mercurial (2.2.1-2) unstable; urgency=low + + * Blacklist test-convert-git.t as it is known to fail with git 1.7.10 + and it's making it fail to build in armel. + * Build-depend on python-roman (Closes: #671611) + + -- Javi Merino Sun, 06 May 2012 17:31:51 +0100 + +mercurial (2.2.1-1) unstable; urgency=low + + * New upstream release that fixes a memory leak in hgweb + * Refresh i18n/{de,da,ja}.po translations in + deb_specific__use_sensible-editor.patch + + -- Javi Merino Fri, 04 May 2012 21:57:42 +0100 + +mercurial (2.2-2) unstable; urgency=low + + * Don't patch test-pull-pull-corruption2.t in kfreebsd-i386, armel, + sparc or mips, it's now integrated into test-pull-pull-corruption.t + + -- Javi Merino Wed, 02 May 2012 19:21:40 +0100 + +mercurial (2.2-1) unstable; urgency=low + + * New upstream release 2.2 + * Delete patches for_upstream__skip_test_gpg_if_not_mercurial_wd.patch + and from_upstream__tests_re_silence_test_bad_pull_log_messages.patch + which are now included upstream + * Refresh patches + + -- Javi Merino Wed, 02 May 2012 08:08:32 +0100 + +mercurial (2.1.2-2) unstable; urgency=low + + * Add sparc to the list of architectures with slow buildds + * Import 91eec29dd7de from upstream to fix the test-suite failures in + mips and sparc + + -- Javi Merino Tue, 03 Apr 2012 21:54:05 +0100 + +mercurial (2.1.2-1) unstable; urgency=low + + * New upstream release 2.1.2 + * Add armel to the list of architectures with slow buildds + * Drop patch "deb_specific__no_optim_bdiff_armel.patch" as gcc no + longer miscompiles bdiff in armel + * Remove confusing entry in Debian.NEWS (Closes: #666549) + * Remove patches for_upstream__fix_kfreebsd_test_inherit.patch, + from_upstream__dont_translate_the_abort_message_twice.patch and + from_upstream__fix_all_remaining_uses_of_inside.patch which are now + included upstream + * Add patch for_upstream__skip_test_gpg_if_not_mercurial_wd.patch to + skip test-gpg when the testsuite is not run in a hg checkout + + -- Javi Merino Mon, 02 Apr 2012 22:50:29 +0100 + +mercurial (2.1.1-2) unstable; urgency=low + + * Add kfreebsd-i386 to the list of slow architectures for the test suite. + * Improve the fix for the test-inherit-mode.t patch based on + suggestions from upstream + * Fix "UnicodeDecodeError when refusing to update" by adding patches + from_upstream__dont_translate_the_abort_message_twice.patch and + from_upstream__fix_all_remaining_uses_of_inside.patch (Closes: #662207) + + -- Javi Merino Fri, 09 Mar 2012 00:14:13 +0000 + +mercurial (2.1.1-1) unstable; urgency=low + + * New upstream version 2.1.1-1 + * Change the group of the test dir in test-inherit-mode.t so that the + testsuite doesn't fail in kfreebsd-* + * Drop from_upstream__test_check_code_hg_skip_test_if_not_wd.patch + which is now included upstream + * Upload to unstable + + -- Javi Merino Sat, 03 Mar 2012 08:03:18 +0000 + +mercurial (2.1-3) experimental; urgency=low + + * Remove unused lintian override binary-without-manpage + * Bump standards-version to 3.9.3 (no change needed) + * Suggest tkcvs instead of tkdiff. tkdiff has been removed from + wheezy as tkcvs provides tkdiff (see bug #483362). + * Suggest more visual diff commands + * Increment test timeout. test-bisect2.t timed out on mips. + * Increment the sleeps in the testsuite in mips so that the test + produces the same output than in faster architectures + * Ignore the output of chmod in a test so that the testsuite doesn't + fail in kfreebsd-* + * Add patch + from_upstream__test_check_code_hg_skip_test_if_not_wd.patch to skip + test_check_code_hg instead of having to blacklist it + + -- Javi Merino Wed, 29 Feb 2012 08:51:26 +0000 + +mercurial (2.1-2) experimental; urgency=low + + * Recommend ssh + * Bump watch version to 3 since we are using version mangling + * Run tests in the buildds + * Added my new DD account + + -- Javi Merino Sat, 25 Feb 2012 18:12:14 +0000 + +mercurial (2.1-1) unstable; urgency=low + + * New upstream revision + + -- Javi Merino Fri, 03 Feb 2012 18:38:19 +0100 + +mercurial (2.0.2-1) unstable; urgency=low + + * New upstream revision + * Fix "hg-ssh is installed system-wide but uses "/usr/bin/env python" + as the python interpreter" with a patch that fixes the interpreter + (Closes: #654925) + + -- Javi Merino Fri, 06 Jan 2012 22:09:32 +0000 + +mercurial (2.0.1-2) unstable; urgency=low + + * Team Upload + * Update Breaks for hgsubversion (see bug #646946), hg-git (see bug + #645037), hgview (see bug #637400), and qct (see bug #637401). + + -- Jakub Wilk Sun, 11 Dec 2011 23:47:26 +0100 + +mercurial (2.0.1-1) unstable; urgency=low + + * New upstream revision (Closes: #650727). + * Fix "new -rc release are not properly parsed by watch" with a patch + from Pierre-Yves David (Closes: + #650728) + + -- Javi Merino Fri, 02 Dec 2011 21:35:31 +0000 + +mercurial (2.0-2) unstable; urgency=low + + * Fix "Cloning fails with: mpatch.mpatchError: patch cannot be decoded" + by not compiling bdiff.c with optimizations in armel. This is + probably a bug in gcc-4.6 (gcc 4.5 works fine) but while it's solved, + at least mercurial works again in armel (Closes: #636396) + + -- Javi Merino Thu, 03 Nov 2011 23:00:43 +0000 + +mercurial (2.0-1) unstable; urgency=low + + * New upstream release 2.0 + * Don't include empty directories in the package + + -- Javi Merino Tue, 01 Nov 2011 22:40:40 +0000 + +mercurial (1.9.999+2.0rc1-1) experimental; urgency=low + + * Upstream 2.0 Release Candidate 1 + * Cover more uses of "defaults to sensible-editor" in the + documentation and support ru and ro translations. + + -- Javi Merino Sun, 30 Oct 2011 13:20:38 +0000 + +mercurial (1.9.3-1) unstable; urgency=low + + * New upstream release 1.9.3. + + -- Javi Merino Tue, 11 Oct 2011 22:31:33 +0100 + +mercurial (1.9.2-1) unstable; urgency=low + + * New upstream release 1.9.2. + * Remove old code that removed cruft from site-packages + + -- Javi Merino Mon, 12 Sep 2011 20:55:12 +0100 + +mercurial (1.9.1-2) unstable; urgency=low + + * Update breaks to include all the packages that mercurial-1.9.1-1 broke + because of the uncoordinated transition to dh_python2. + + -- Javi Merino Wed, 10 Aug 2011 21:37:37 +0100 + +mercurial (1.9.1-1) unstable; urgency=low + + * Convert to dh_python2 + * New upstream release 1.9.1 fixes "cannot import mercurial.httpclient + with Python 2.7: 'module' object has no attribute 'PROTOCOL_SSLv2'" + (Closes: #635496) + + -- Javi Merino Wed, 03 Aug 2011 08:00:03 +0100 + +mercurial (1.9-1) unstable; urgency=low + + * New upstream release 1.9 (Closes: #632250) + * Strip trailing .0 from Debian Policy + * Remove template warnings from debian/watch to remove a lintian + warning + + -- Javi Merino Fri, 22 Jul 2011 19:44:26 +0200 + +mercurial (1.8.3-1) unstable; urgency=low + + [ Javi Merino ] + * New upstream release 1.8.3 + * Upgrade Debian Policy to 3.9.2.0 + + [ Jonathan Nieder ] + * Make mercurial-common's Recommends field binNMU-safe (Closes: #626132) + + -- Javi Merino Tue, 10 May 2011 20:37:27 +0100 + +mercurial (1.8.1-3) unstable; urgency=low + + * Team Upload + * deb_specific__disable_libdir_replacement.patch: Disable @LIBDIR@ + replacement in the hg script, by setup.py (Closes: #620087, LP: #745250) + + -- Stefano Rivera Thu, 31 Mar 2011 00:06:02 +0200 + +mercurial (1.8.1-2) unstable; urgency=low + + [ Vincent Danjean ] + * Set /etc/ssl/certs/ca-certificates.crt as default valid root + certificates and add a recommends to the ca-certificates package + (Closes: #619821) + + [ Javi Merino ] + * Mercurial 1.8 breaks hg-git, add that info to debian/control + (Closes: #619930) + + -- Javi Merino Mon, 28 Mar 2011 21:51:40 +0100 + +mercurial (1.8.1-1) unstable; urgency=low + + * New upstream release 1.8.1 backs out a behavior change for so-called + 'fast-forward' merges on named branches. + + -- Javi Merino Sat, 12 Mar 2011 19:01:16 +0000 + +mercurial (1.8-1) unstable; urgency=low + + * New upstream release 1.8. Many new features and bugfixes, among them: + - hgk: realize it is hgk and not gitk (Closes: #613339) + + -- Javi Merino Sun, 06 Mar 2011 16:01:58 +0000 + +mercurial (1.7.5-1) unstable; urgency=low + + * New upstream release 1.7.5 + * Delete patch for_upstream__typo_in_manpage.patch which is now + included upstream + * Add patch for_upstream__add_backquote_fname.patch , proposed + upstream (Closes: #611419) + * Add patch from_upstream__fix_611420.patch which will be part of the + next mercurial release (Closes: #611420) + + -- Javi Merino Sat, 05 Feb 2011 21:05:19 +0000 + +mercurial (1.7.3-1) experimental; urgency=low + + * New upstream release 1.7.3 + * Add patch for_upstream__typo_in_manpage + + -- Javi Merino Tue, 25 Jan 2011 22:22:56 +0000 + +mercurial (1.7.2-1) experimental; urgency=low + + * New upstream release 1.7.2 (Closes: #606678) + * Fix typo in NEWS (Closes: #605541) + * Delete deb_specific__python-module-not-script.patch and + deb_specific__mergetools + * Update dh compatibility to 8 + + -- Javi Merino Mon, 13 Dec 2010 21:34:15 +0000 + +mercurial (1.6.4-1) unstable; urgency=low + + * New upstream release 1.6.4 (Closes: #598850) + * Verify ssl validity in https connections (Closes: #598841) + + -- Javi Merino Mon, 04 Oct 2010 07:37:33 -0500 + +mercurial (1.6.3-1) experimental; urgency=low + + * New upstream release 1.6.3 + * Deleted patch from_upstream__issue2255fix-basicauth.diff which is now + included upstream. + + -- Javi Merino Tue, 31 Aug 2010 10:12:42 +0200 + +mercurial (1.6.2-2) unstable; urgency=low + + * The patch that fixed #586907 was not being applied. Now it should + work. (Closes: #586907) + + -- Javi Merino Thu, 26 Aug 2010 16:31:09 +0200 + +mercurial (1.6.2-1) unstable; urgency=low + + * New upstream release 1.6.2 + * Dropped build-depend on quilt (Closes: #588671) + * Added a patch from upstream that works around a bug in python 2.6.5 + (Closes: #586907) + * Updated Standards-Version to 3.9.1.0 (no change needed) + * Deleted patch for_upstream__add_doc_url_in_example_files.patch which + is now in upstream. + + -- Javi Merino Fri, 06 Aug 2010 10:43:06 +0200 + +mercurial (1.6-2) unstable; urgency=low + + * Mercurial 1.6 breaks old versions of hg-git (Closes: #588336) + + -- Javi Merino Wed, 07 Jul 2010 15:48:53 +0200 + +mercurial (1.6-1) unstable; urgency=low + + [ Javi Merino ] + * New upstream release (1.6). Many bug fixes and improvements. Among + them: + - push: break infinite http recursion bug with Python 2.6.5 + (issue2179 and issue2255) (Closes: #586907) + - zeroconf: Don't use string exceptions (Closes: #585250) + * Removed patch for_upstream__bashism_in_examples.patch since a fix for + #581122 is included upstream. + * Updated Standards-Version to 3.9 (no change needed) + + [ Vincent Danjean ] + * debian/control: + + Use Breaks instead of Conflicts + + Use a fixed version in Replaces + I put 1.4 but it has been a long time since nothing has been moved + from mercurial to mercurial-common + + -- Vincent Danjean Sun, 04 Jul 2010 09:55:28 +0200 + +mercurial (1.5.4-2) unstable; urgency=low + + * Fix regression in python 2.6.5 (Closes: #586907) + + -- Javi Merino Thu, 24 Jun 2010 12:46:57 +0200 + +mercurial (1.5.4-1) unstable; urgency=low + + * New upstream release (1.5.3). Fixes: + * fix Issue2181 (commit generates traceback on Nonetype) + * various improvements to SVN conversion support + * minor doc improvements + * New upstream release (1.5.4) (Closes: #586322). Fixes: + * 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 + + -- Javi Merino Wed, 16 Jun 2010 09:51:21 +0200 + +mercurial (1.5.2-1) unstable; urgency=low + + * New upstream release. Many minor fixes: + + Core + * clone: fix URL too long problem with many heads + * commands: revised documentation of 'default' and 'default-push' + * copies: properly visit file context ancestors on working file contexts + * diffstat: use ui.plain() instead of ui.interactive() + * dirstate: fix in memory dirstate entries for 1-second race + * dispatch: don't mangle ImportError abort messages + * filemerge: use working dir parent as ancestor for backward wdir merge + * hgrc.5: describe form of config values and mention lists as well + * hgweb: fix attribute error in error response (issue2060) + * log: document the new xml style + * merge: correctly compute the flag for noexec filesystems + * patch: don't look for headers in diff lines + * push: fix bug in warning message selection + * revlog: fix lazyparser.__iter__() to return all revisions (issue2137) + * static-http: allow clone -r (issue2164) + * subrepo: fix repo root path handling in svn subrepo + * subrepo: propagate and catch push failures + * templates: document missing template variables + * util: fix default termwidth() under Windows + * util: use an explicit prefix for checkexec/checklink temporary files + + Extensions + * convert/cvs: skip bad tags + * convert/git: check status when reading output stream + * convert/subversion: fix default URL checker prototype + * mq: rewrite strip docstrings + * mq: use util.unlink instead of os.unlink and os.removedirs + * schemes: fix // breakage with Python 2.6.5 (issue2111) + * Fix "bashism in /bin/sh hgeditor script" (changing shebang line) + (Closes: #581122) + + -- Vincent Danjean Tue, 11 May 2010 11:01:25 +0200 + +mercurial (1.5.1-2) unstable; urgency=low + + * Refresh debian patches + * Install localization files in the right place (Closes: #577132) + + -- Vincent Danjean Sat, 10 Apr 2010 06:58:38 +0200 + +mercurial (1.5.1-1) unstable; urgency=low + + * New upstream release + + -- Vincent Danjean Fri, 02 Apr 2010 10:45:26 +0200 + +mercurial (1.5-1) unstable; urgency=low + + * New upstream release + + Fix "Reserved revnos aren't." (Closes: #552423) + + Fix "Exception in zeroconf shows up in unrelated commands" + (Closes: #572963) + + Fix "/usr/bin/hg: HG(1) missing --config option syntax" + (Closes: #548413) + + Fix "A -> B, C -> A rename breaks diff --git" (Closes: #560386) + + -- Vincent Danjean Fri, 12 Mar 2010 15:10:33 +0100 + +mercurial (1.4.3-1) unstable; urgency=low + + * New upstream release. (Closes: #569612) + * Updated Standards-Version to 3.8.4 (no change needed) + * Remove Gerardo Curiel in the maintainer field + as asked by the MIA team (Closes: #553101) + * Do not install mercurial.el. It is only useful with emacs21 that will + not be in sqeeze. (Closes: #557211) + * Add a note in NEWS about the disparition of the alias extension + (Closes: #536533) + + -- Vincent Danjean Mon, 15 Feb 2010 18:08:57 +0100 + +mercurial (1.4.1-1) unstable; urgency=low + + * New upstream release + + -- Vincent Danjean Thu, 03 Dec 2009 22:03:06 +0100 + +mercurial (1.4-1) unstable; urgency=low + + [ Vernon Tang ] + * New upstream release. + - /usr/share/doc/mercurial-common/examples/hg-relink gone + (replaced by the relink extension) + * Updated Standards-Version to 3.8.3. + + [ Vincent Danjean ] + * adjust quilt dependency so that it works with backports + (ie quilt >> 0.46-6 instead of quilt >= 0.46-7) + + -- Vincent Danjean Thu, 19 Nov 2009 22:02:54 +0100 + +mercurial (1.3.1-1) unstable; urgency=low + + * New Upstream Version (mostly bugfixes) + + -- Vincent Danjean Thu, 23 Jul 2009 22:49:32 +0200 + +mercurial (1.3-2) unstable; urgency=low + + * Do not hardcode the python interpreter in the hg script + (ie use python and not pythonX.Y...) [thanks Vernon Tang] + + -- Vincent Danjean Thu, 09 Jul 2009 17:21:25 +0200 + +mercurial (1.3-1) unstable; urgency=low + + [ Vincent Danjean ] + * [debian/control] add version to the quilt dependency. "dh --with quilt" + is only supported since quilt 0.46-7 (thanks Faheem Mitha and Zed Pobre) + (Closes: #529700, #534589). + + [ Luca Falavigna ] + * Changes for Python 2.6 transition (Closes: #532190): + - Pass --install-layout=deb option to setup.py install call. + - Bump python-all-dev dependency to >= 2.5.4-1~. + + [ Vernon Tang ] + * New upstream release. (closes: #536009) + - Experimental support for sub-repositories + - Fixed support for HTTPS through proxies (closes: #498711) + - Experimental share extension + - Updated translations and numerous small changes and bug fixes + * Updated Standards-Version to 3.8.2. + + -- Vincent Danjean Wed, 08 Jul 2009 17:03:39 +0200 + +mercurial (1.2.1-3) unstable; urgency=low + + * Only install (or remove) files in packages we are building + (Closes: #529803) + Who knows how dh_install detect if we are building arch-dep and/or + arch-indep packages ? + + -- Vincent Danjean Wed, 27 May 2009 01:46:40 +0200 + +mercurial (1.2.1-2) unstable; urgency=low + + * rebuild (forgot to upload arch-all in previous upload) + + -- Vincent Danjean Tue, 19 May 2009 11:01:15 +0200 + +mercurial (1.2.1-1) unstable; urgency=low + + [ Vernon Tang ] + * New bugfix upstream release. (Closes: #525403) + - 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 + + [ Vincent Danjean ] + * Dump Standards-Version (no change needed) + * Switch to dh7 instead of cdbs (last releases of cdbs was breaking + the build system) (Closes: #522426, #527504) + + -- Vincent Danjean Mon, 18 May 2009 19:43:53 +0200 + +mercurial (1.2-1) unstable; urgency=low + + * New upstream release. + + * Fix FTBFS with python-support 0.90 by removing dependence on + python-support internals. (closes: #516269) + + -- Vernon Tang Fri, 06 Mar 2009 17:37:45 +0800 + +mercurial (1.1.2+hg20090217-7787-b8d750daadde-1) experimental; urgency=low + + [ Vernon Tang ] + * New snapshot for feature freeze before next major release. + + * debian/patches: + - deb_specific__mergetools: remove RCS merge from merge tools + - Added: + - proposed_upstream__dont-install-i18n + - Dropped: + - convert-darc-doc.patch: dropping for now to avoid fuzzing translations + - backport__zeroconf-doc + - Refreshed: + - deb_specific__install-templates-separately + - deb_specific__mergetools + + * debian/control: + - Add gettext to build dependencies for compiling translations + - Remove RCS merge from Recommends + - Change merge tool Recommends to Suggests, add xxdiff + + [ Vincent Danjean ] + * swich to debhelper 7. + Debhelper 5.0.37.2 is not enought: 6.0.7 at least is required for + dh_lintian to be called. + * Fix version to hg hash (instead of 'unknown') for this snapshot + * Fix upstream version in changelog + * Upload to experimental + + -- Vincent Danjean Wed, 18 Feb 2009 16:24:23 +0100 + +mercurial (1.1.2-2) unstable; urgency=low + + * debian/mercurial.postinst: symlink /usr/share/doc/mercurial if dpkg didn't + do it when upgrading (closes: #512155) + * debian/control: mercurial-common replaces all earlier versions of + mercurial + + -- Vernon Tang Sun, 18 Jan 2009 10:39:58 +0800 + +mercurial (1.1.2-1) unstable; urgency=low + + [ Vernon Tang ] + * New upstream release (closes: #499846) + Also resolves the following Debian bugs: + - mq corrupts repository on file rename (closes: #503997) + - failing import breaks Python help (closes: #476885) + - hg email doesn't use correct encoding (closes: #427854) + - error when loading extensions twice (closes: #447088) + - static-http does not work with old layout repositories (closes: #494889) + - hgwebdir.cgi goes into endless loop when viewing moved files + (closes: #506694) + + * Install hg-ssh (ssh login shell for an hg server) system-wide. + * Don't enable extensions by default. (closes: #511872, #503865, #491109) + + * debian/control: + - Moved dependencies to mercurial-common where appropriate + - Removed Recommends: python-beaker (not a Mercurial dependency) + - Removed 'convert' extension dependencies from Suggests: + (convert depends on many of the other SCMs it can convert from) + - Added python-openssl to Suggests for "hg serve" HTTPS support. + * debian/hgext.rc: updated for 1.1.2. + * debian/mercurial*, debian/rules: general cleanup. + * debian/README.Debian: updated, proofread, and corrected. + * debian/patches: + - Added headers. + - Added: + - deb_specific__install-templates-separately + (patch template search path to /usr/share instead of symlinking from + the module directory) + - backport__zeroconf-doc, proposed_upstream__correct-zeroconf-doc + - deb_specific__mergetools + - Renamed deb_specific__ElementTree_for_darcs.patch to + deb_specific__optional-dependencies and updated to suggest Debian + packages for more optional dependencies + - Dropped: + - proposed_upstream__extension_syntax.patch + - deb_specific__FAQ_subst.patch + - deb_specific__bash_completion_global_option_already_set.patch + - backport__CVE-2008-2942-fix.patch + - backport__svn1.5-fix.patch + - Refreshed: + - deb_specific__use_sensible-editor.patch + - deb_specific__hgk.py.patch + - convert-darc-doc.patch + + [ Sandro Tosi ] + * debian/control + - switch Vcs-Browser field to viewsvn + + [ Marco Rodrigues ] + * debian/control: + + Add ${misc:Depends} to Depends to remove + lintian warning. + + [ Vincent Danjean ] + * Document the fact that extensions are not enabled by default anymore + in the NEWS file + * big thanks to Vernon Tang for its work + * upload the package + + -- Vincent Danjean Sat, 17 Jan 2009 17:33:46 +0100 + +mercurial (1.0.1-5.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * Honor allowpull configuration setting from hgrc on a repository clone to + prevent information disclosure (CVE-2008-4297; Closes: #500781). + + -- Nico Golde Fri, 03 Oct 2008 16:25:13 +0200 + +mercurial (1.0.1-5) unstable; urgency=low + + * Fix debian/copyright (GPL-2 only and not GPL-2+) (Closes: #493967) + + -- Vincent Danjean Tue, 26 Aug 2008 15:28:20 +0200 + +mercurial (1.0.1-4) unstable; urgency=low + + * fix subversion 1.5 compatibility (Closes: #492244) + using upstream patch + * fix bashism in postinst + + -- Vincent Danjean Thu, 31 Jul 2008 14:27:51 +0200 + +mercurial (1.0.1-3) unstable; urgency=low + + * debian/control: + + update Standard-Version (no change needed) + + add python-beaker as recommends (needed for "hg serve") (Closes: + #486299) + * fix wrong ucf registration (/etc/hgrc.d/ vs /etc/mercurial/hgrc.d/) + (Closes: #487089). Thanks Max Bowsher for noticing. + * add a mention to "legacy Darcs 1 format" in convert documentation + (Closes: #485887) + + -- Vincent Danjean Tue, 08 Jul 2008 20:40:05 +0200 + +mercurial (1.0.1-2) unstable; urgency=high + + * Backport from upstream: fix CVE-2008-2942 Insufficient input validation + (Closes: #488628) + + -- Vincent Danjean Tue, 01 Jul 2008 18:44:19 +0200 + +mercurial (1.0.1-1) unstable; urgency=low + + * New upstream release + + Bugfix release + * debian/watch: do not call uupdate + + -- Vincent Danjean Sat, 31 May 2008 19:26:16 +0200 + +mercurial (1.0-7) unstable; urgency=low + + * Lowering versioned dependency on ucf. Etch version of ucf is enought. + #479485 was using a pre etch version of ucf. + + -- Vincent Danjean Mon, 26 May 2008 09:25:45 +0200 + +mercurial (1.0-6) unstable; urgency=low + + * add versionned dependency on ucf due to the use to ucfr (Closes: #479485) + * re-add rcs as first alternative of recommands. Discussion about this + can be found in #460943 and #479077 (Closes: #479077) + + -- Vincent Danjean Wed, 21 May 2008 10:04:32 +0200 + +mercurial (1.0-5) unstable; urgency=low + + * Add a note in the NEWS file about upstream change for merging conflicts. + (Closes: #481553, ) + * install mergetools.hgrc system wide (Closes: #481089) + * add suggest and documentation for convert extension dependencies + (Closes: #477652) + + -- Vincent Danjean Tue, 20 May 2008 22:46:57 +0200 + +mercurial (1.0-4) unstable; urgency=low + + * fix build system so that "hg version" works + * fix typos in doc (darcs instead of darc) + * remove suggests: for foreign SCM. If someone needs them for the convert + extension, they should be already installed (Closes: #476342) + + -- Vincent Danjean Wed, 16 Apr 2008 10:05:53 +0200 + +mercurial (1.0-3) unstable; urgency=low + + * really fix auto-enabling extensions at installation time + + be less strict with spaces + + reformat the hgext.rc file to be consistent + + -- Vincent Danjean Tue, 15 Apr 2008 10:32:38 +0200 + +mercurial (1.0-2) unstable; urgency=low + + * fix typo in mercurial postinst + * remove Suggests to non existant mercurial-web + * add lintian-override for non depends on "tk8.4 | wish" in + mercurial-common (the Suggests: is in the mercurial package + as for all other extensions' dependencies) + * fix handling of automatic enabled extension in postinst + (they must be disabled in the installed template) + * add detection of inotify extension before enabling it (needed on + etch that has a too old libc) + + -- Vincent Danjean Mon, 07 Apr 2008 09:06:04 +0200 + +mercurial (1.0-1) unstable; urgency=low + + * new upstream version + Closes several Debian bugs: + * "hg convert broken" (Closes: #472185) + * "hgmerge: uses non-POSIX syntax `type' in /bin/sh script" (Closes: + #447094) + * "hgmerge: --help option gives a message that ends strangely" (Closes: + #443428) + * "mercurial: hg/editor interaction leaves a lot of temp files around" + (Closes: #472943) + * "mercurial: Mercurial merge with meld needs hint" (Closes: #466006) + * "glog: tries to close closed fd" (Closes: #454326) + * "mercurial: `hg diff` can break UTF-8 encoding" (Closes: #469326) + * "Recording mtime after recording commit message leads to hidden (lost) + changes" (Closes: #452385) + General: + * greatly improved merge tool configuration, see "hgrc.5.txt" for details + * improved copy/rename handling in diffs, status, and merge + * files in .hg inherit permissions from .hg/store + * infer --repository when possible, so commands may be run from anywhere. + * easy-installable + * new "droplet" logo + + Commands: + * archive: disable ".hg_archival.txt" file addition with "ui.archivemeta" + * bisect: now built-in with greatly improved performance and usability + * bundle: new --all option to bundle the whole repository more easily. + * cat: apply decode filters with --decode + * clone: can clone from a full-history bundle + * commit: warn when creating a new head + * debugancestor: index argument is now optional + * diff: set the number of context line to show with -U/--unified + * grep: display matched revisions commit date with --date + * import: new --no-commit and --user options + * incoming/outgoing: add --limit option + * log: use -b/--only-branch to show revisions of a single branch + * remove: improve handling for --after + * revert: major speedup + * serve: prefix the served path with --prefix (also in [web] section) + * status: unknown files are skipped by --quiet + * tag: allow multiple tags to be added or removed + * tags: --verbose flags local tags + * update: switch between named branches without -C + + Extensions: + * churn: promoted to an official extension (previously in contrib) + * color: new extension coloring "status" and "qseries" command outputs + * convert: + * allow synthetic history to be spliced in with --splicemap + * support GNU Arch and Monotone sources + * svn: allow shallow conversions of single branches with + convert.svn.startrev option. + * svn: make trunk/branches/tags layout detection more flexible by + allowing either of them to be skipped. + * svn: preliminary support as a conversion target + * hgk: configuration file changed from .gitk to .hgk + * highlight: new extension enabling syntax highlighting in hgweb file view + (requires pygments) + * inotify: new extension using Linux 2.6 inotify API for instant status + checking + * keyword: new extension for filewise RCS-keyword expansion in working + directory + * mq: new --currentdate, --date, --currentuser, and + --user options + * record: add "qrecord" command when used with mq + + Web interface: + * improved WSGI integration and compatibility + * follow symlinks in hgwebdir collections + * show branches in most of gitweb templates + * add line anchors to annotate, changeset, diff and file views + * support web.baseurl in hgwebdir, overriding SCRIPT_NAME + + Hooks: + * standard hook to reject text files with CRLF in win32text extension + * redirect stdout to stderr for ssh and http servers + + [ Gerardo Curiel ] + * Split package to fix lintian warnings: + + mercurial - main package + + mercurial-common - Arch-indep bits + * Fix clean target + * Dropped patches: + patches/proposed_upstream__check_hgmerge_args.patch + patches/proposed_upstream__type_is_not_posix.patch + * patches/deb_specific__use_sensible-editor.patch: + Rediff against mercurial 1.0 + * hgmerge shell script is not provided anymore + * contrib/favicon.ico is not provided anymore + * Deleted obsolete link_hgit target from debian/rules + * Added mergetools.hgrc to the examples + directory + * Added logo-droplets.svg to /usr/share/mercurial + * Added new extensions to the hgext.rc file + + hgext.color (not enabled by default) + + hgext.highlight (not enabled by default) + + hgext.inotify (enabled, Closes: #472583) + + hgext.keyword (not enabled by default) + * Removed extensions from the hgext.rc file + + hgext.hbisect (now provided as a built-in command) + * Added new suggested dependencies : + + python-pygments (needed for hgext/highlight.py) + + python-elementtree (for darcs conversion) + + [ Vincent Danjean ] + * import mercurial in the Python Application Packaging Team project + * debian/control: + + add PAPT in the Uploaders field + + add Vcs-* fields + + add conflicts/replaces fields to ensure proper upgrade for + mercurial-common + * cleanup debian/ files + + remove unneeded debian/*.{dirs} files + * move examples/ in usr/share/doc/mercurial (in the mercurial-common + package) + * manage hgext.rc with ucf. Enabling some extensions only if their + dependencies are present + * put all usr/share/python-support/* in mercurial-common instead of + mercurial. This trigger a lintian warning but this is an error (see + #473428) + + [ Piotr Ożarowski ] + * New recommended packages: + + python-mysqldb (hgext/bugzilla.py) + + python-openssl (hgweb/server.py) + * New suggested packages: + + python-flup (contrib/hgwebdir.fcgi, Closes: #466731) + + [ William Pitcock ] + * patches/deb_specific__use_sensible-editor.patch: + +Rediff against 1.0 branch. + + -- Vincent Danjean Mon, 07 Apr 2008 00:11:40 +0200 + +mercurial (0.9.5-3) unstable; urgency=low + + * [debian/control] + + Recommends rcs first (and before kdiff3) as hgmerge + use it in first (and does not use another program if it exists) + (Closes: #460943) + As an additionnal value, rcs has really fewer dependencies + + Move Homepage: from description to source stanza + + Suggest qct instead of commit-tool (better developed upstream) + + Bump standard-version to 3.7.3 (no change needed) + + Add python-elementtree to suggest (needed for hg convert with darcs + repo) (Closes: 459353) + Should be removed when debian will switch to python2.5 (as it is + included in it) + + move tk8.4 | wish from recommends to suggests as it is needed by + an extension (hgk) and not by the core package + * [debian/README] + + document that extension dependencies are listed as Suggests: + * [debian/patches/deb_specific__use_VISUAL_envvar.patch] + Rewrite the patch using sensible-editor (Closes: 448376) + and rename it to deb_specific__use_sensible-editor.patch + * [debian/rule] + + rewrite the fix for cdbs/dh_python so that we depend on the + current python version (Closes: #456556) + + -- Vincent Danjean Mon, 21 Jan 2008 20:57:27 +0100 + +mercurial (0.9.5-2) unstable; urgency=low + + * Apply patch to change 'hgext/' into 'hgext.' when loading an extension + Current config files use the documented syntax (ie 'hgext.extname=') + Users can use 'hgext/extname=' in their hgrc if they want to + (Closes: #447088) + + -- Vincent Danjean Fri, 02 Nov 2007 11:59:03 +0100 + +mercurial (0.9.5-1) unstable; urgency=low + + * New upstream release + Closes: #435636 (erroneous multiple heads after commit) + Closes: #427808 (hgweb/hgwebdir do not work with flup (FastCGI)) + Closes: #418780 (partial hgweb listings) + Closes: #440175 (please include record extension) + Closes: #447663 (0.9.5 available) + Closes: #427851 (RSS feeds have wrong URL with https) + New features: + * Handle symlinks on systems without symlink support + * hg archive supports symlinks + * Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes) + * Improved hg verify diagostics + * Faster revlog handling + * Faster handling of large directories + * Greatly improved handling of large files + * Atom syndication support in hgweb + * Improved test suite with parallel execution + + Fixes: + * Fixes for some file copy and rename corner cases + * Allow moving newly-added files before commit + * Improve hg diff whitespace handling + * Disallow fast-forward merge with an ancestor + * Fix adding untracked files on directory renames + * Fix hg archive %r format specifier + * Fix re: and glob: patterns in .hgignore + * Improve hg executable path resolution + * Many options and hgrc parsing improvements + * Better handling of VFAT filesystems on Linux + * Fix tgz archival on Windows + * Fix hg serve on Windows requiring pywin32 modules + * Fix --profile under Windows + + New extensions: + * alias - allow user-defined command aliases + * children - show the children of the given or working dir revision + * imerge - incremental interactive merging + * interhg - modify changelog text as in InterWiki + * record - darcs-style interactive change selection during commit + + New extension features: + * convert + * Now supports Subversion, Darcs and Mercurial as source SCMs + * Use clone's behaviour for the default destination name + * Force encoding to UTF-8 for converted repository + * Support new-style .cvspass file format + * Filter the files and directories to import + * Remap paths to new locations during import + * hgk + * Fix hgk stopping because of untrusted repository warnings + * Handle filenames with spaces + * Improved documentation + * mq + * Autodetect --git patches on qrefresh + + * Improve README.Debian about Emacs + Closes: #446972 (mercurial.el: autoload) + Thanks to Trent W. Buck for its explainations added to the README.Debian + * Apply several patches to hgmerge: + - use /bin/bash for hgmerge: 'type' is not POSIX (Closes: #447094) + - patch hgmerge to do minimum check of its arguments (Closes: #443428) + - use $VISUAL and default to 'editor' instead of 'vi' + (Closes: #447095, #448376) [mercurial/command.py modified too] + * Correct wrong link to web docs in README.Debian (Closes: #425841) + * [debian/control] Recommends: meld (used to hgmerge) (Closes: #316347) + + -- Vincent Danjean Mon, 29 Oct 2007 10:22:45 +0100 + +mercurial (0.9.4-1) unstable; urgency=low + + * New upstream release (Closes: #430714) + + New features: + * 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 + + + New extensions and contributions: + * extensions can now be specified in .hg/hgrc + * new convert extension with CVS support + * new graphlog extension + * improved patchbomb extension + * example FastCGI script + + -- Vincent Danjean Wed, 27 Jun 2007 00:33:27 +0200 + +mercurial (0.9.3-2) unstable; urgency=low + + * [debian/rule, debian/control] remove workaround for symlink support in + python-support and bump dependency of python-support (>= 0.4.3) + * [debian/rule] use default python interpreter as 2.4 is the default now + * [debian/mercurial.postinst] remove old + /usr/lib/python*/site-packages/{mercurial,hgext} directories if needed + (Closes: #382252) + * forgot to closes: #382185 since 0.9.2 upstream release (hgrc manual does + not say [smtp] host is optional any more) + + -- Vincent Danjean Wed, 3 Jan 2007 14:22:10 +0100 + +mercurial (0.9.3-1) unstable; urgency=low + + * New upstream release + + Bug fixes: + - fix a merge copy/rename corner case + - fix spurious new heads message with push -r + - fix hg export %n sequence numbers + - fix shell quoting on Windows + - fix charset encoding for hgwebdir and obfuscated addresses + - fix missing generated files for distribution tarball + - fix convert-repo tag updates and transcoding of committer + - add instructions for redoing failed merges + + + Documentation fixes: + - hg cat, manifest, and tag default to current parent revision. + - CGI stub comments clarified + - corrected synopses for many commands + - improve doc building and distribution + - convert-repo: update usage information + + + Extension fixes: + - mq: fix strip on Windows + - mq: fix some guards corner cases + - gpg: make 'hg sign' default to current parent + + + + -- Vincent Danjean Tue, 19 Dec 2006 11:25:55 +0100 + +mercurial (0.9.2-3) unstable; urgency=low + + * remove debian/patches/submitted_upstream__restore_hgk.py.patch + as it is now included in the release (and avoid to use a old hgk.py + with a recent hg) (Closes: #403282) + + -- Vincent Danjean Sat, 16 Dec 2006 15:51:13 +0100 + +mercurial (0.9.2-2) unstable; urgency=low + + * [debian/rules] add support for python2.5 + * [README.Debian] update list of default extensions + + -- Vincent Danjean Thu, 14 Dec 2006 15:26:10 +0100 + +mercurial (0.9.2-1) unstable; urgency=low + + * New upstream release + + New features: + - merge now follows renames and copies + - new layout protects against case-insensitivity issues + - new branch and branches commands for managing named branches + - push command accepts -r for pushing specified heads or named + branches + - proper storage of changelog and other metadata in UTF-8 + - log, annotate and grep '--follow' follow renames and copies + - date parsing is improved and log, update, and revert accept + --date ranges + - additional command options for log, status, addremove + - improved schema for hgweb URLs + - bundle can now use '-r' and '--base' removing the need of an + base repository + - support for git-style extended patches with --git option + - new debuginstall command to check for common installation issues + + + New contributions and extensions: + - mq + - support for quilt-style guards + - can import existing changesets into mq ('qimport -r') or + commit mq patches as regular changesets ('qdel -f') + - edit the log message with 'qrefresh -e' + - rename patches with 'qrename' + - qheader to display the patch header of particular patches, + and '--summary' for qseries, qapplied, qunapplied and qtop + - combine patches with 'qfold' + - qrefresh supports pattern options to import only a subset + of the changes into a patch, to help split changes into + multiple patches + - patch names for applied patches act like local tags, and can + be used in the revision arguments of any hg command + - hgk + - browse a subset of the history with '--limit' and revision range + arguments + - shows revision numbers as well as node hashes + - churn: graph lines of code changed per user over a range of history + - patchbomb: generate inline attachments with '-a' + + + Behavior changes: + - hg cat defaults to the working directory revision rather than tip + - hg manifest no longer shows internal file revision hashes by default + - hg revert now requires the -a flag to revert all files + + + Developer notes: + - new high-level API functions in the 'hg' module + - new context API simplifies many operations + - The changelog can now include arbitrary metadata in key: value form + * [debian]: include the churn extension and enable it by default + + -- Vincent Danjean Thu, 14 Dec 2006 13:05:01 +0100 + +mercurial (0.9.1+20061210+8c24b6fd5866-1) experimental; urgency=low + + * New upstream release + snapshot before 0.9.2 release + * [debian/control] : update maintainer field : I'am DD now :-) + + -- Vincent Danjean Sun, 10 Dec 2006 22:40:30 +0100 + +mercurial (0.9.1-1) unstable; urgency=low + + * New upstream release + Major changes between Mercurial 0.9 and 0.9.1: + + New features: + - You can now configure your 'hgweb' server to let remote users + 'push' changes over http. + - You can now 'import' a patch in a mail message by saving the mail + message, and importing it. This works for patches sent either + inline or as attachments. + - The 'diff' command now accepts '-rA:B' syntax as a synonym for + '-r A -r B', and adds '-b' and '-B' options. + + New contributions and extensions: + - The 'acl' extension lets you lock down parts of a repository + against incoming changes + - The 'extdiff' extension lets you run your favourite graphical + change viewer + - Comprehensive integration with the 'vim' editor + - A restricted shell for 'ssh'-hosted repositories + - An importer for 'darcs' repositories + + New hooks added: + - 'preupdate' is run before an update or merge in the working + directory. + - 'update' is run after an update or merge in the working + directory. + + Behaviour changes: + - NOTE: Mercurial as installed by the Windows binary + installer no longer performs automatic line-ending conversion for + Unix/Linux compatibility. To re-enable this feature, edit your + 'mercurial.ini' file after you upgrade. + - The Windows binary installer now automatically adds 'hg' to your + '%PATH%'. + - The 'backout' command now runs an editor by default, to let you + modify the commit message for a backed-out changeset. + - An earlier problem with parsing of tags has been fixed. + This makes tag parsing slower but more reliable. + + Memory usage and performance improvements: + - The 'remove' command has been rewritten to be hundreds of times + faster in large repositories. + - It is now possible to 'clone' a repository very quickly over a + LAN, if the server is configured to allow it. See the new 'server' + section in the 'hgrc' documentation. + + Other changes of note: + - Mercurial will now print help for an extension if you type 'hg + help EXT_NAME'. + - The usual array of bug fixes and documentation improvements. + - The integrated web server is now more WSGI-compliant. + - Work has begun to solidify Mercurial's API for use by third-party + packages. + + -- Vincent Danjean Tue, 25 Jul 2006 19:21:13 +0200 + +mercurial (0.9-9) unstable; urgency=low + + * Force the use of python2.4 with a sed command. A race condition on some + autobuilders makes that workaround needed. (Really closes: #378835) + + -- Vincent Danjean Thu, 20 Jul 2006 17:59:35 +0200 + +mercurial (0.9-8) unstable; urgency=low + + * do not use default python but python2.4 instead for hg : + most code is python2.3 compatible (so we still compile .py files for + pyhton2.3) but "hg help" need features for python2.4 + Closes: #378835 + Thanks David Douard for reporting this. + * adding missing manpage hgignore (Closes: #378502) + Thanks Baruch Even for reporting this. + * remove hack in postinst (dpkg not replacing directory by symlink) as it is + no more useful (directory was in /usr/lib/python2.3, symlink in now in + /usr/lib/python2.4) + * Create symlinks for the templates directory within the mercurial directory + (and not in another python serch path) (Closes: #378538) + + -- Vincent Danjean Wed, 19 Jul 2006 12:25:30 +0200 + +mercurial (0.9-7) unstable; urgency=low + + * mercurial will use the default python interpreter + + -- Vincent Danjean Tue, 11 Jul 2006 23:12:14 +0200 + +mercurial (0.9-6) unstable; urgency=low + + * update to the new python policy + * reenable the fix for #362487 as python2.3 is useable again + + -- Vincent Danjean Tue, 4 Jul 2006 00:19:50 +0200 + +mercurial (0.9-5) unstable; urgency=low + + * call dh_python with -V 2.4 argument + + -- Vincent Danjean Mon, 29 May 2006 09:18:53 +0200 + +mercurial (0.9-4) unstable; urgency=low + + * [debian/copyright] add copyright for Debian packaging + * [debian/NEWS] talk about python2.3->python2.4 transition + + -- Vincent Danjean Wed, 17 May 2006 00:28:48 +0200 + +mercurial (0.9-3) unstable; urgency=low + + * [debian/compat] debhelper compat version dumped to 5 + + -- Vincent Danjean Sun, 14 May 2006 21:27:43 +0200 + +mercurial (0.9-2) unstable; urgency=low + + * fix a bug in update/revert (patch from Vadim Gelfer already applied + upstream) + * [debian/control] build-depend on python as dh_python require it + (package did not fail to build due to an indirect build-dependency + but it is safer like that) + + -- Vincent Danjean Fri, 12 May 2006 19:30:44 +0200 + +mercurial (0.9-1) unstable; urgency=low + + * New upstream release + Major changes between Mercurial 0.8.1 and 0.9: + - The repository file format has been improved. + - This has resulted in an average 40% reduction in disk space usage. + - The new format (called RevlogNG) is now the default. + - Mercurial works perfectly with both the old and new repository + file formats. It can transfer changes transparently between + repositories of either format. + - To use the new repository format, simply use `hg clone --pull` to + clone an existing repository. + - Note: Versions 0.8.1 and earlier of Mercurial cannot read + RevlogNG repositories directly, but they can `clone`, `pull` + from, and `push` to servers that are serving RevlogNG + repositories. + - Memory usage has been improved by over 50% for many common operations. + - Substantial performance improvements on large repositories. + - New commands: + - 'archive' - generate a directory tree snapshot, tarball, or zip + file of a revision + - Deprecated commands: + - 'addremove' - replaced by 'add' and 'remove --after' + - 'forget' - replaced by 'revert' + - 'undo' - replaced by 'rollback' + - New extensions: + - Bugzilla integration hook + - Email notification hook + - Nested repositories are now supported. Mercurial will not recurse + into a subdirectory that contains a '.hg' directory. It is treated + as a separate repository. + - The standalone web server, 'hg serve', is now threaded, so it can + talk to multiple clients at a time. + - The web server can now display a "message of the day". + - Support added for hooks written in Python. + - Many improvements and clarifications to built-in help. + * [debian/control] set Standard-Version to 3.7.2 (no changes required) + + -- Vincent Danjean Thu, 11 May 2006 01:00:03 +0200 + +mercurial (0.8.1-6) unstable; urgency=low + + * cleanup patches applied on top of upstream sources + send the interesting one to upstream before the 0.9 release + + -- Vincent Danjean Thu, 27 Apr 2006 03:20:24 +0200 + +mercurial (0.8.1-5) unstable; urgency=low + + * use python2.4 instead of standard python (2.3 for now): + this allows to use hglib backend with tailor + * several minor fixes so that tailor works with the 'hglib' backend + these are submitted upstream + * hardcode python interpreter in script instead of using /usr/bin/env + as suggested by the python policy + * remove previous hack (dpkg not replacing directory by symlink) as + it is no more useful (directory was in /usr/lib/python2.3, symlink in now + in /usr/lib/python2.4) + + -- Vincent Danjean Mon, 17 Apr 2006 12:21:24 +0200 + +mercurial (0.8.1-4) unstable; urgency=low + + * directory doesn't get replaced by symlink (Closes: #362487) + and dpkg does not say anything ! Thanks Norbert Tretkowski + + -- Vincent Danjean Fri, 14 Apr 2006 00:38:10 +0200 + +mercurial (0.8.1-3) unstable; urgency=low + + * Really fix #361897 (Thanks Darren Salt again) + + -- Vincent Danjean Wed, 12 Apr 2006 20:33:45 +0200 + +mercurial (0.8.1-2) unstable; urgency=low + + * Fix new tag syntax for hgk. Thanks Darren Salt (Closes: #361897) + + -- Vincent Danjean Tue, 11 Apr 2006 13:25:04 +0200 + +mercurial (0.8.1-1) unstable; urgency=low + + * New upstream release + Major changes from 0.8 to 0.8.1: + - new extensions: + mq (manage a queue of patches, like quilt only better) (Closes: #343824) + email (send changes as series of email patches) + - new command: merge (replaces "update -m") + - improved commands: log (--limit option added), pull/push ("-r" works + on specific revisions), revert (rewritten, much better) + - comprehensive hook support + - output templating added, supporting e.g. GNU changelog style + - Windows, Mac OS X: prebuilt binary packages, better support + - many reliability, performance, and memory usage improvements + + -- Vincent Danjean Mon, 10 Apr 2006 22:09:16 +0200 + +mercurial (0.8-3) unstable; urgency=low + + * Fix typo in long description + + -- Vincent Danjean Tue, 4 Apr 2006 03:30:22 +0200 + +mercurial (0.8-2) unstable; urgency=low + + * Add documentation about extensions packaged for Debian. + + -- Vincent Danjean Tue, 31 Jan 2006 11:14:52 +0100 + +mercurial (0.8-1) unstable; urgency=low + + * New upstream release + Major changes from 0.7 to 0.8: + - faster status, diff, and commit + - reduced memory usage for push and pull + - improved extension API + - new bisect, gpg, hgk, and win32text extensions + - short URLs, binary file handling, and optional gitweb skin for hgweb + - numerous new command options including log --keyword and pull --rev + - improved hooks and file filtering + + -- Vincent Danjean Mon, 30 Jan 2006 16:06:34 +0100 + +mercurial (0.7+20060110+0d36e3d7e2ea-1) experimental; urgency=low + + * package test to try upstream sources before 0.8 + + -- Vincent Danjean Tue, 10 Jan 2006 22:47:38 +0100 + +mercurial (0.7-8) unstable; urgency=low + + * Closes: #343459: correct FAQ URL + * Closes: #343458: fix directory completion + * Closes: #343472: clone does not work with path aliases + (Thanks Daniel Kobras for these three bugreports with patch) + + -- Vincent Danjean Tue, 3 Jan 2006 21:13:23 +0100 + +mercurial (0.7-7) unstable; urgency=low + + * Add support for alias st for hg status (Closes: #340235) + (backport from tip, thanks Michael Gebetsroither ) + + -- Vincent Danjean Tue, 22 Nov 2005 13:01:39 +0100 + +mercurial (0.7-6) unstable; urgency=low + + * Backport of the patch "fix handling of daylight saving time" + from upstream (Closes: #336646) + + -- Vincent Danjean Wed, 2 Nov 2005 06:17:04 +0100 + +mercurial (0.7-5) unstable; urgency=low + + * Add hgweb.cgi and hgwebdir.cgi in examples (Closes: #332973) + + -- Vincent Danjean Sat, 15 Oct 2005 11:24:54 +0200 + +mercurial (0.7-4) unstable; urgency=low + + * backport from upstream of + - use of 'hgext' directory for extensions + - 'hgk.py' extension (was hgit before) + => 'hg view' works ;-) + * add 'Recommands: wish' for the hgk extension + + -- Vincent Danjean Fri, 23 Sep 2005 11:45:13 +0200 + +mercurial (0.7-3) unstable; urgency=low + + * Add system-wide config directory (so that extensions can be easyly added) + * Enable hgit extension + + -- Vincent Danjean Tue, 20 Sep 2005 02:47:16 +0200 + +mercurial (0.7-2) unstable; urgency=low + + * Correct changelog.Debian (I forgot to add upstream changes in the + previous entry) + + -- Vincent Danjean Sun, 18 Sep 2005 22:46:14 +0200 + +mercurial (0.7-1) unstable; urgency=low + + * New upstream release (Closes: #328725) + core + improved merge logic + improved copy/rename support (still experimental) + automatic binary file handling + generic file filtering support + various performance improvements + command line + new bundle/unbundle commands for exchanging native updates + more natural support for remove, copy, and rename + faster, more powerful log command + new grep command for searching entire history + support for plug-in extensions + improved exception handling and debugging facilities + hgweb + optional downloading of tarballs and zip files + Windows support + hardlinking support + newline conversion through file filtering + contrib + updated hgk + * New package (a bit delayed due to a crash disk and a new job) + * Upstream added support for options -h and --help (Closes: #324049) + * renamming conffile 'bash_completion' to 'mercurial' (Closes: #325266) + + -- Vincent Danjean Sat, 17 Sep 2005 16:54:37 +0200 + +mercurial (0.6c-1) unstable; urgency=low + + * New upstream release + What's new: + + core functionality + ability to use tags to identify branches + detect adding new heads with push + protocol versioning for push/pull + https: support + minor merge fixes + command line + much more powerful path handling + incoming/outgoing commands + smarter import/export + fewer long, confusing hashes to deal with + many new command options and settings + portability + improved portability of test suite and support scripts + improved Windows support + web interface + easy to set up multiple repository interface + several new hgrc config options + IPv6 support + documentation + improved built-in help and man pages + a steadily growing wiki + tutorial in multiple languages + extras + a highly functional bash auto-completion script + a new Emacs mode + + -- Vincent Danjean Tue, 23 Aug 2005 11:01:36 +0200 + +mercurial (0.6b-2) unstable; urgency=low + + * Adds proper python dependencies + * Recommends tkdiff or kdiff3 for merge purpose + * Suggests meld as this is another merging program that can be used by + mercurial (but this needs the user set the HGMERGE variable) + * Closes: #316347: Please Recommands: meld + + -- Vincent Danjean Wed, 17 Aug 2005 10:33:33 +0200 + +mercurial (0.6b-1) unstable; urgency=low + + * New upstream release + What's new: + + improved ui + new clone command replaces mkdir+init+pull+update + new revert command + add range support and -p option to log to show patches + tags command now supports local tags + improved push and pull + better exception and signal handling + improved option parsing + support for user-defined hooks (aka triggers) + performance updates + even faster import of large sets of patches + faster delta generation + faster annotate + faster status and ignore + improved web interface + more conformant and compatible HTML output + built-in RSS feeds + better tags handling + fast multiple keyword search + portability work + support for Windows is nearly complete + should easily compile and install on any modern UNIX + comes with RPM spec file and script + and more + doc and help updates + improved test suite + numerous bug fixes and cleanups + + -- Vincent Danjean Tue, 12 Jul 2005 11:45:13 +0200 + +mercurial (0.6-2) unstable; urgency=low + + * Add meld to Suggest as it is not used by default hgmerge + (Closes: #316347: Please Recommands: meld) + + -- Vincent Danjean Thu, 30 Jun 2005 16:30:33 +0200 + +mercurial (0.6-1) unstable; urgency=low + + * New upstream release + This release contains a huge number of improvements: + + improved source tracking + multi-head support + permission tracking + rename and copy tracking + improved tag handling + friendlier, more robust command line interface + integrated help + faster startup + better exception handling + smarter three-way merge helper + improved communication + faster outstanding changeset detection + SSH-based push support + non-transparent proxy support + improved configuration handling + support for .hgrc and .hg/hgrc files + save per-repo defaults for pull + new delta extension + faster, smaller, and simpler than GNU diff or xdiff + faster commit, push/pull, and annotate + improved interoperability + convert-repo framework for importing from other SCMs + can work with gitk and git-viz + portability improvements + tested on big and little-endian 32 and 64-bit UNIX platforms + Windows support is nearly complete + and much more + numerous performance tweaks and bugfixes + automated test suite + updated docs and FAQ + + -- Vincent Danjean Sat, 25 Jun 2005 00:15:13 +0200 + +mercurial (0.5b+20050618-1) unstable; urgency=low + + * New upstream sources (tip 396:8f8bb77d560e70bcc95577e4dfa877df18d876ab) + this fix a alignment bug reported on alpha + * many others fix and improvments from upstream + * Change short description + Closes: #314577: Please spell out the abbreviation in the synopsis + + -- Vincent Danjean Sat, 18 Jun 2005 10:02:39 +0200 + +mercurial (0.5b+20050612-2) unstable; urgency=low + + * Fix spelling mistake (thanks Emanuele Aina) + Closes: #314161: Small spelling error in documentation + * New package that should solve the FTBFS due to the use of the boggus + package debhelper 4.9.0 by autobuilders + Closes: #313491: mercurial_0.5b+20050612-1: FTBFS: syntax error at + /usr/bin/dh_strip line 191, near 'if' + * Closes: #314577: Please spell out the abbreviation in the synopsis + + -- Vincent Danjean Fri, 17 Jun 2005 11:14:06 +0200 + +mercurial (0.5b+20050612-1) unstable; urgency=low + + * New upstream sources + + -- Vincent Danjean Sun, 12 Jun 2005 11:40:02 +0200 + +mercurial (0.5b-5) unstable; urgency=low + + * manually fix wrong build-dependencies that have been previously generated + by cdbs (ie remove 'build-essential' and duplicates) + + -- Vincent Danjean Sat, 4 Jun 2005 09:16:40 +0200 + +mercurial (0.5b-4) unstable; urgency=low + + * remove automatic generation of control from control.in (with cdbs + dependencies) as requested by ftpmaster to accept this NEW package + (see still opened bugs #311724 for more information) + + -- Vincent Danjean Fri, 3 Jun 2005 08:57:06 +0200 + +mercurial (0.5b-3) unstable; urgency=low + + * First official Debian release. (Closes: #308873: ITP: mercurial -- scalable + distributed SCM) + + -- Vincent Danjean Thu, 2 Jun 2005 08:55:53 +0200 + +mercurial (0.5b-2) unstable; urgency=low + + * package description improved from the mercurial ML + * Add Homepage: to long description (thanks Anibal Monsalve Salazar) + * Change Architecture from all to any as mercurial sources now have C files + to compile (thanks Anibal Monsalve Salazar) + * Update copyright (thanks Anibal Monsalve Salazar) + * Add rcs and tkdiff to Recommands as hgmerge use it (only recommands and + not depends because if the user set HGMERGE to kdiff3, he does not need + them) + * use hgmerge if HGMERGE is not set (patch submitted upstream) + + -- Vincent Danjean Wed, 1 Jun 2005 11:35:20 +0200 + +mercurial (0.5b-1) unstable; urgency=low + + * New upstream release + + -- Vincent Danjean Tue, 31 May 2005 00:00:29 +0200 + +mercurial (0.5-1) unstable; urgency=low + + * New upstream release + + -- Vincent Danjean Sun, 29 May 2005 21:36:55 +0200 + +mercurial (0.4f-1) unstable; urgency=low + + * New upstream release + * english improved in description (thanks Jay Berkenbilt ) + + -- Vincent Danjean Sat, 14 May 2005 00:55:40 +0200 + +mercurial (0.4e-3) unstable; urgency=low + + * package description improved (thanks Bas Zoetekouw ) + + -- Vincent Danjean Fri, 13 May 2005 13:46:44 +0200 + +mercurial (0.4e-2) unstable; urgency=low + + * update description + + -- Vincent Danjean Thu, 12 May 2005 23:32:43 +0200 + +mercurial (0.4e-1) unstable; urgency=low + + * New upstream release + + -- Vincent Danjean Thu, 12 May 2005 23:13:54 +0200 + +mercurial (0.4b-2) unstable; urgency=low + + * add debian watch file + * add depend on tkdiff + * correct some lintian warnings + + -- Vincent Danjean Fri, 29 Apr 2005 12:59:33 +0200 + +mercurial (0.4b-1) unstable; urgency=low + + * Initial Release. + + -- Vincent Danjean Fri, 29 Apr 2005 08:54:25 +0200 diff --git a/control b/control new file mode 100644 index 0000000..c1136ea --- /dev/null +++ b/control @@ -0,0 +1,79 @@ +Source: mercurial +Section: vcs +Priority: optional +Maintainer: Debian Python Team +Uploaders: + Tristan Seligmann , + Julien Cristau , +Build-Depends: + bash-completion, + debhelper-compat (= 13), + dh-python, + gettext, + netbase , + patchutils (>= 0.2.25) , + python3-all-dev, + python3-docutils, + python3-roman, + python3-packaging , + rename , + unzip , + zip , + less , +Standards-Version: 4.5.0 +Homepage: https://www.mercurial-scm.org/ +Vcs-Git: https://salsa.debian.org/python-team/packages/mercurial.git +Vcs-Browser: https://salsa.debian.org/python-team/packages/mercurial +Rules-Requires-Root: no + +Package: mercurial-common +Architecture: all +Depends: ${misc:Depends}, ${python3:Depends} +Recommends: ca-certificates, mercurial (>= ${source:Version}), sensible-utils +Suggests: python3-mysqldb, python3-openssl, python3-pygments, wish +Breaks: mercurial (<< ${source:Version}) +Replaces: mercurial (<< 2.6.3) +Description: easy-to-use, scalable distributed version control system (common files) + Mercurial is a fast, lightweight Source Control Management system designed + for efficient handling of very large distributed projects. + . + This package contains the architecture independent components of Mercurial, + and is generally useless without the mercurial package. + +Package: mercurial +Architecture: any +Depends: + mercurial-common (= ${source:Version}), + ucf (>= 2.0020), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, +Recommends: openssh-client +Suggests: kdiff3 | kdiff3-qt | kompare | meld | tkcvs | mgdiff, qct +Breaks: + hgsubversion (<= 1.9.3+git20190419+6a6ce-3), + hgview-common, + mercurial-crecord (<< 0.20151121-2~), + mercurial-git (<= 0.8.12-1.2), + qct, + mercurial-keyring (<= 1.3.0-1), + mercurial-server, + python-sphinx-patchqueue, + trac-mercurial, +Provides: python3-mercurial +Description: easy-to-use, scalable distributed version control system + Mercurial is a fast, lightweight Source Control Management system designed + for efficient handling of very large distributed projects. + . + Its features include: + * O(1) delta-compressed file storage and retrieval scheme + * Complete cross-indexing of files and changesets for efficient exploration + of project history + * Robust SHA1-based integrity checking and append-only storage model + * Decentralized development model with arbitrary merging between trees + * High-speed HTTP-based network merge protocol + * Easy-to-use command-line interface + * Integrated stand-alone web interface + * Small Python codebase + . + This package contains the architecture dependent files. diff --git a/copyright b/copyright new file mode 100644 index 0000000..1a05cbd --- /dev/null +++ b/copyright @@ -0,0 +1,267 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: mercurial +Source: http://www.selenic.com/mercurial/ + +Files: * +Copyright: 2005-2021, Olivia Mackall and many others. +License: GPL-2+ + +Files: contrib/python-zstandard/* +Copyright: (c) 2016, Gregory Szorc +License: + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + 3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: mercurial/thirdparty/selectors2.py +Copyright: (c) 2017 Seth Michael Larson +License: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +Files: mercurial/thirdparty/attr/* +Copyright: (c) 2015 Hynek Schlawack +License: + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +Files: mercurial/thirdparty/cbor/* +Copyright: (c) Alex Grönholm +License: + Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons + to whom the Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE + FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +Files: mercurial/thirdparty/concurrent/* +Copyright: 2009 Brian Quinlan +License: + PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 + -------------------------------------------- + . + 1. This LICENSE AGREEMENT is between the Python Software Foundation + ("PSF"), and the Individual or Organization ("Licensee") accessing and + otherwise using this software ("Python") in source or binary form and + its associated documentation. + . + 2. Subject to the terms and conditions of this License Agreement, PSF + hereby grants Licensee a nonexclusive, royalty-free, world-wide + license to reproduce, analyze, test, perform and/or display publicly, + prepare derivative works, distribute, and otherwise use Python + alone or in any derivative version, provided, however, that PSF's + License Agreement and PSF's notice of copyright, i.e., "Copyright (c) + 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights + Reserved" are retained in Python alone or in any derivative version + prepared by Licensee. + . + 3. In the event Licensee prepares a derivative work that is based on + or incorporates Python or any part thereof, and wants to make + the derivative work available to others as provided herein, then + Licensee hereby agrees to include in any such work a brief summary of + the changes made to Python. + . + 4. PSF is making Python available to Licensee on an "AS IS" + basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND + DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT + INFRINGE ANY THIRD PARTY RIGHTS. + . + 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON + FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS + A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, + OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + . + 6. This License Agreement will automatically terminate upon a material + breach of its terms and conditions. + . + 7. Nothing in this License Agreement shall be deemed to create any + relationship of agency, partnership, or joint venture between PSF and + Licensee. This License Agreement does not grant permission to use PSF + trademarks or trade name in a trademark sense to endorse or promote + products or services of Licensee, or any third party. + . + 8. By copying, installing or otherwise using Python, Licensee + agrees to be bound by the terms and conditions of this License + Agreement. + +Files: mercurial/thirdparty/xdiff/* +Copyright: (C) 2003 Davide Libenzi +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see + . + . + On Debian systems, the full text of the GNU Lesser General Public + License version 2.1 can be found in the file + `/usr/share/common-licenses/LGPL-2.1'. + +Files: mercurial/thirdparty/zope/* +Copyright: 2001-2006 Zope Foundation and Contributors. +License: + Zope Public License (ZPL) Version 2.1 + . + A copyright notice accompanies this license document that identifies the + copyright holders. + . + This license has been certified as open source. It has also been designated as + GPL compatible by the Free Software Foundation (FSF). + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions in source code must retain the accompanying copyright + notice, this list of conditions, and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the accompanying copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission from the + copyright holders. + . + 4. The right to distribute this software or to use it for any purpose does not + give you the right to use Servicemarks (sm) or Trademarks (tm) of the + copyright + holders. Use of them is covered by separate agreement with the copyright + holders. + . + 5. If any files are modified, you must cause the modified files to carry + prominent notices stating that you changed the files and the date of any + change. + . + Disclaimer + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: contrib/zsh_completion +Copyright: 2005, 2006 Steve Borho + 2006-10 Brendan Cully +License: + Permission is hereby granted, without written agreement and without + licence or royalty fees, to use, copy, modify, and distribute this + software and to distribute modified versions of this software for any + purpose, provided that the above copyright notice and the following + two paragraphs appear in all copies of this software. + . + In no event shall the authors be liable to any party for direct, + indirect, special, incidental, or consequential damages arising out of + the use of this software and its documentation, even if the authors + have been advised of the possibility of such damage. + . + The authors specifically disclaim any warranties, including, but not + limited to, the implied warranties of merchantability and fitness for + a particular purpose. The software provided hereunder is on an "as + is" basis, and the authors have no obligation to provide maintenance, + support, updates, enhancements, or modifications. + + +Files: debian/* +Copyright: 2005-2010, Vincent Danjean + 2011-2015, Javi Merino + 2017 Tristan Seligmann +License: GPL-2+ + +License: GPL-2+ + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later + version. + . + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU General Public License for more + details. + . + You should have received a copy of the GNU General Public + License along with this package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + `/usr/share/common-licenses/GPL-2'. diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..d20ac55 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,5 @@ +[DEFAULT] +debian-branch=debian/master + +[import-orig] +pristine-tar = True diff --git a/hgext.rc b/hgext.rc new file mode 100644 index 0000000..7d4cc89 --- /dev/null +++ b/hgext.rc @@ -0,0 +1,125 @@ +# mercurial configuration file for bundled hg extensions +# See hgrc(5) for more information + +# Extensions included in Mercurial listed in alphabetical order +[extensions] + +# changeset access control +# hgext.acl = + +# allow user-defined command aliases +# hgext.alias = + +# provides the 'bookmarks' command +# hgext.bookmarks = + +# bugzilla integration +# requires python3-mysqldb +# hgext.bugzilla = + +# show the children of the given or working dir revision +# provides the 'children' command +# hgext.children = + +# graph count of revisions grouped by template +# provides the 'churn' command +# hgext.churn = + +# add color output to status, qseries, and diff-related commands +# hgext.color = + +# converts a foreign SCM to a Mercurial one +# provides the 'convert' and 'debugsvnlog' commands +# requires: +# - bzr to convert from Bazaar +# - cvs to convert from CVS +# - darcs to convert from Darcs +# - git to convert from Git +# - tla to convert from GNU Arch +# - monotone to convert from Monotone +# - python3-subversion to convert from Subversion +# hgext.convert = + +# external diff program support +# hgext.extdiff = + +# pull and merge remote changes +# provides the 'fetch' command +# hgext.fetch = + +# GnuPG signing +# provides the 'sign', 'sigcheck' and 'sigs' commands +# requires gnupg +# hgext.gpg = + +# show revision graphs in terminal windows +# provides the 'glog' command +# hgext.graphlog = + +# CIA notification hook +# hgext.hgcia = + +# allows browsing the history of a repository in a graphical way +# provides the 'view' command +# requires wish +# hgext.hgk = + +# syntax highlighting in hgweb +# requires python3-pygments +# hgext.highlight = + +# lets you split a merge into pieces +# provides the 'imerge' command +# hgext.imerge = + +# inotify-based status acceleration for Linux systems +# provides the 'inserve' command +# hgext.inotify = + +# allows you to change changelog and summary text +# hgext.interhg = + +# CVS/RCS-like keyword expansion +# hgext.keyword = + +# quilt-like patch queues +# provides the 'q*' commands +# hgext.mq = + +# email notifications +# hgext.notify = + +# display output using a pager +# hgext.pager = + +# make it easy to refer to the parent of a revision +# hgext.parentrevspec = + +# send changes as series of email patches +# provides the 'email' command +# hgext.patchbomb = + +# removes files not known to mercurial +# provides the 'purge' command +# hgext.purge = + +# moves sets of revisions to a different ancestor +# provides the 'rebase' command +# hgext.rebase = + +# interactive change selection during commit +# provides the 'record' command +# hgext.record = + +# patch transplanting tool +# provides the 'transplant' command +# hgext.transplant = + +# non-Unicode MBCS filename support +# hgext.win32mbcs = + +# Unix/Mac/DOS line ending conversion utilities +# hgext.win32text = + +# mDNS/DNS-SD (Zeroconf) support for 'hg serve' +# hgext.zeroconf = diff --git a/hgext.rc.md5sums b/hgext.rc.md5sums new file mode 100644 index 0000000..79d0bb3 --- /dev/null +++ b/hgext.rc.md5sums @@ -0,0 +1,2 @@ +4c808ced6b7ddc2e3c1514703bc238b9 0.9.5-3 +80086669df3007b5b17d7d12efe03775 sarge diff --git a/hgrc b/hgrc new file mode 100644 index 0000000..dfc3400 --- /dev/null +++ b/hgrc @@ -0,0 +1,2 @@ +# system-wide mercurial configuration file +# See hgrc(5) for more information diff --git a/mercurial-common.bash-completion b/mercurial-common.bash-completion new file mode 100644 index 0000000..6ba7c63 --- /dev/null +++ b/mercurial-common.bash-completion @@ -0,0 +1 @@ +contrib/bash_completion hg diff --git a/mercurial-common.dirs b/mercurial-common.dirs new file mode 100644 index 0000000..5e62736 --- /dev/null +++ b/mercurial-common.dirs @@ -0,0 +1 @@ +etc/mercurial/hgrc.d diff --git a/mercurial-common.examples b/mercurial-common.examples new file mode 100644 index 0000000..121193d --- /dev/null +++ b/mercurial-common.examples @@ -0,0 +1,14 @@ +contrib/dumprevlog +contrib/hgsh +contrib/hgweb.fcgi +contrib/hgweb.wsgi +contrib/mercurial.el +contrib/perf.py +contrib/python-hook-examples.py +contrib/simplemerge +contrib/tcsh_completion +contrib/tcsh_completion_build.sh +contrib/undumprevlog +contrib/vim +hgeditor +hgweb.cgi diff --git a/mercurial-common.install b/mercurial-common.install new file mode 100644 index 0000000..814b85c --- /dev/null +++ b/mercurial-common.install @@ -0,0 +1,9 @@ +contrib/hg-ssh usr/bin +contrib/hgk usr/share/mercurial/ +contrib/logo-droplets.svg usr/share/mercurial +contrib/mq.el usr/share/emacs/site-lisp +debian/cacerts.rc etc/mercurial/hgrc.d/ +debian/hgrc etc/mercurial/ +debian/tmp/usr/lib +contrib/packaging/debian/default-tools.rc etc/mercurial/hgrc.d/ +debian/tmp/usr/share diff --git a/mercurial-common.maintscript b/mercurial-common.maintscript new file mode 100644 index 0000000..8c11148 --- /dev/null +++ b/mercurial-common.maintscript @@ -0,0 +1,2 @@ +rm_conffile /etc/bash_completion.d/mercurial 3.5.1-2~ mercurial-common +rm_conffile /etc/mercurial/hgrc.d/mergetools.rc 4.7.2-1~ mercurial-common diff --git a/mercurial-common.postinst b/mercurial-common.postinst new file mode 100644 index 0000000..a084b9d --- /dev/null +++ b/mercurial-common.postinst @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = configure ]; then + if dpkg --compare-versions "$2" lt-nl 4.7.2-1~; then + if [ -f "/etc/mercurial/hgrc.d/mergetools.rc.dpkg-bak" ]; then + mv /etc/mercurial/hgrc.d/mergetools.rc.dpkg-bak /etc/mercurial/hgrc.d/mergetools.rc + fi + fi +fi diff --git a/mercurial.dirs b/mercurial.dirs new file mode 100644 index 0000000..dd45de9 --- /dev/null +++ b/mercurial.dirs @@ -0,0 +1 @@ +usr/share/doc/mercurial diff --git a/mercurial.install b/mercurial.install new file mode 100644 index 0000000..f1cfe1b --- /dev/null +++ b/mercurial.install @@ -0,0 +1,5 @@ +debian/hgext.rc usr/share/mercurial/ +debian/hgext.rc.md5sums usr/share/mercurial/ +debian/tmp/usr/bin +debian/tmp/usr/lib +contrib/chg/chg /usr/bin diff --git a/mercurial.links b/mercurial.links new file mode 100644 index 0000000..6185003 --- /dev/null +++ b/mercurial.links @@ -0,0 +1 @@ +usr/share/doc/mercurial-common/examples usr/share/doc/mercurial/examples diff --git a/mercurial.postinst b/mercurial.postinst new file mode 100644 index 0000000..2eab2a9 --- /dev/null +++ b/mercurial.postinst @@ -0,0 +1,49 @@ +#!/bin/sh +# postinst script for mercurial +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + configure) + for conffile in hgext.rc; do + # Tell ucf that the file in /usr/share/mercurial is the latest maintainer + # version, and let it handle how to manage the real configuration file in + # /etc/mercurial/hgrc.d. + ucf --sum-file /usr/share/mercurial/$conffile.md5sums --three-way \ + /usr/share/mercurial/$conffile /etc/mercurial/hgrc.d/$conffile + ucfr mercurial /etc/mercurial/hgrc.d/$conffile + done + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/mercurial.postrm b/mercurial.postrm new file mode 100644 index 0000000..ee5e14c --- /dev/null +++ b/mercurial.postrm @@ -0,0 +1,60 @@ +#!/bin/sh +# postrm script for mercurial +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + for conffile in hgext.rc; do + # we mimic dpkg as closely as possible, so we remove configuration + # files with dpkg backup extensions too: + ### Some of the following is from Tore Anderson: + for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-old .ucf-new .ucf-dist; do + rm -f /etc/mercurial/hgrc.d/$conffile$ext + done + # remove the configuration file itself + rm -f /etc/mercurial/hgrc.d/$conffile + # and finally clear it out from the ucf database + if which ucf >/dev/null; then + ucf --purge /etc/mercurial/hgrc.d/$conffile + fi + if which ucfr >/dev/null; then + ucfr --purge mercurial /etc/mercurial/hgrc.d/$conffile + fi + done + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/mercurial.test_blacklist b/mercurial.test_blacklist new file mode 100644 index 0000000..13277cd --- /dev/null +++ b/mercurial.test_blacklist @@ -0,0 +1,38 @@ +# test-clonebundles.t fails in the reproducible-builds setup due to no +# name resolution: +# --- /build/mercurial-3.7.2/tests/test-clonebundles.t +# +++ /build/mercurial-3.7.2/tests/test-clonebundles.t.err +# @@ -52,7 +52,7 @@ +# $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest +# $ hg clone http://localhost:$HGPORT 404-url +# applying clone bundle from http://does.not.exist/bundle.hg +# - error fetching bundle: (.* not known|getaddrinfo failed) (re) +# + error fetching bundle: Temporary failure in name resolution +# abort: error applying bundle +# (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false") +# [255] +# +# ERROR: test-clonebundles.t output changed +test-clonebundles.t + +# upstream don't run this test and it only fails when pyflakes is installed +test-check-pyflakes.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=6294 +test-debugcommands.t + +# These tests are flaky, still need to investigate why: +test-commandserver.t +test-largefiles.t + +# We don't ship the git extension yet +test-git-interop.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=6643 +test-http-bad-server.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=3782 +test-convert-cvs-synthetic.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=6783 +test-remotefilelog-gc.t diff --git a/patches/0005-Tolerate-SIGINT-getting-the-kill-in-test-stdio.py.patch b/patches/0005-Tolerate-SIGINT-getting-the-kill-in-test-stdio.py.patch new file mode 100644 index 0000000..3fd3f2c --- /dev/null +++ b/patches/0005-Tolerate-SIGINT-getting-the-kill-in-test-stdio.py.patch @@ -0,0 +1,20 @@ +From: Tristan Seligmann +Date: Mon, 17 Aug 2020 10:30:26 +0200 +Subject: Tolerate SIGINT getting the kill in test-stdio.py. + +Forwarded: https://bz.mercurial-scm.org/show_bug.cgi?id=6402 +--- + tests/test-stdio.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/tests/test-stdio.py ++++ b/tests/test-stdio.py +@@ -175,7 +175,7 @@ class TestStdio(unittest.TestCase): + raise + finally: + retcode = proc.wait() +- self.assertEqual(retcode, 0) ++ self.assertIn(retcode, [0, -2]) + if post_child_check is not None: + post_child_check() + diff --git a/patches/cgitb.patch b/patches/cgitb.patch new file mode 100644 index 0000000..56e5af0 --- /dev/null +++ b/patches/cgitb.patch @@ -0,0 +1,189 @@ +https://bz.mercurial-scm.org/show_bug.cgi?id=6784 + +diff --git a/tests/test-clone-cgi.t b/tests/test-clone-cgi.t +--- a/tests/test-clone-cgi.t ++++ b/tests/test-clone-cgi.t +@@ -7,31 +7,29 @@ initialize repository + $ cd test + $ echo a > a + $ hg ci -Ama + adding a + $ cd .. + $ cat >hgweb.cgi < # + > # An example CGI script to use hgweb, edit as necessary +- > import cgitb +- > cgitb.enable() + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgweb + > from mercurial.hgweb import wsgicgi + > application = hgweb(b"test", b"Empty test repository") + > wsgicgi.launch(application) + > HGWEB + $ chmod 755 hgweb.cgi + + try hgweb request + + $ . "$TESTDIR/cgienv" + $ QUERY_STRING="cmd=changegroup&roots=0000000000000000000000000000000000000000"; export QUERY_STRING +- $ "$PYTHON" hgweb.cgi >page1 2>&1 ++ $ "$PYTHON" hgweb.cgi >page1 + $ "$PYTHON" "$TESTDIR/md5sum.py" page1 + 1f424bb22ec05c3c6bc866b6e67efe43 page1 + + make sure headers are sent even when there is no body + + $ QUERY_STRING="cmd=listkeys&namespace=nosuchnamespace" "$PYTHON" hgweb.cgi + Status: 200 Script output follows\r (esc) + Content-Type: application/mercurial-0.1\r (esc) +diff --git a/tests/test-newcgi.t b/tests/test-newcgi.t +--- a/tests/test-newcgi.t ++++ b/tests/test-newcgi.t +@@ -4,19 +4,16 @@ This tests if CGI files from after d0db3 + before d74fc8dec2b4 still work. + + $ hg init test + $ cat >hgweb.cgi < #!$PYTHON + > # + > # An example CGI script to use hgweb, edit as necessary + > +- > import cgitb +- > cgitb.enable() +- > + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgweb + > from mercurial.hgweb import wsgicgi + > from mercurial.hgweb.request import wsgiapplication + > + > def make_web_app(): + > return hgweb(b"test", b"Empty test repository") + > +@@ -30,19 +27,16 @@ before d74fc8dec2b4 still work. + > test = test + > HGWEBDIRCONF + + $ cat >hgwebdir.cgi < #!$PYTHON + > # + > # An example CGI script to export multiple hgweb repos, edit as necessary + > +- > import cgitb +- > cgitb.enable() +- > + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgwebdir + > from mercurial.hgweb import wsgicgi + > from mercurial.hgweb.request import wsgiapplication + > + > def make_web_app(): + > return hgwebdir(b"hgweb.config") + > +diff --git a/tests/test-newercgi.t b/tests/test-newercgi.t +--- a/tests/test-newercgi.t ++++ b/tests/test-newercgi.t +@@ -4,19 +4,16 @@ This is a rudimentary test of the CGI fi + + $ hg init test + + $ cat >hgweb.cgi < #!$PYTHON + > # + > # An example CGI script to use hgweb, edit as necessary + > +- > import cgitb +- > cgitb.enable() +- > + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgweb + > from mercurial.hgweb import wsgicgi + > + > application = hgweb(b"test", b"Empty test repository") + > wsgicgi.launch(application) + > HGWEB + +@@ -27,19 +24,16 @@ This is a rudimentary test of the CGI fi + > test = test + > HGWEBDIRCONF + + $ cat >hgwebdir.cgi < #!$PYTHON + > # + > # An example CGI script to export multiple hgweb repos, edit as necessary + > +- > import cgitb +- > cgitb.enable() +- > + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgwebdir + > from mercurial.hgweb import wsgicgi + > + > application = hgwebdir(b"hgweb.config") + > wsgicgi.launch(application) + > HGWEBDIR + +diff --git a/tests/test-oldcgi.t b/tests/test-oldcgi.t +--- a/tests/test-oldcgi.t ++++ b/tests/test-oldcgi.t +@@ -3,19 +3,16 @@ + This tests if CGI files from before d0db3462d568 still work. + + $ hg init test + $ cat >hgweb.cgi < #!"$PYTHON" + > # + > # An example CGI script to use hgweb, edit as necessary + > +- > import cgitb, os, sys +- > cgitb.enable() +- > + > # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install + > from mercurial import hgweb + > + > h = hgweb.hgweb(b"test", b"Empty test repository") + > h.run() + > HGWEB + + $ chmod 755 hgweb.cgi +@@ -25,19 +22,16 @@ This tests if CGI files from before d0db + > test = test + > HGWEBDIRCONF + + $ cat >hgwebdir.cgi < #!"$PYTHON" + > # + > # An example CGI script to export multiple hgweb repos, edit as necessary + > +- > import cgitb, sys +- > cgitb.enable() +- > + > # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install + > from mercurial import hgweb + > + > # The config file looks like this. You can have paths to individual + > # repos, collections of repos in a directory tree, or both. + > # + > # [paths] + > # virtual/path = /real/path +diff --git a/tests/test-push-cgi.t b/tests/test-push-cgi.t +--- a/tests/test-push-cgi.t ++++ b/tests/test-push-cgi.t +@@ -11,18 +11,16 @@ initialize repository + adding a + $ echo '[web]' > .hg/hgrc + $ echo 'allow_push = *' >> .hg/hgrc + $ echo 'push_ssl = false' >> .hg/hgrc + + create hgweb invocation script + + $ cat >hgweb.cgi < import cgitb +- > cgitb.enable() + > from mercurial import demandimport; demandimport.enable() + > from mercurial.hgweb import hgweb + > from mercurial.hgweb import wsgicgi + > application = hgweb(b'.', b'test repository') + > wsgicgi.launch(application) + > HGWEB + $ chmod 755 hgweb.cgi + diff --git a/patches/deb_specific__disable_libdir_replacement.patch b/patches/deb_specific__disable_libdir_replacement.patch new file mode 100644 index 0000000..d39010e --- /dev/null +++ b/patches/deb_specific__disable_libdir_replacement.patch @@ -0,0 +1,27 @@ +From: Stefano Rivera +Date: Sun, 16 Aug 2020 11:03:07 +0200 +Subject: Disabled hginstallscripts @LIBDIR@ replacement in setup.py. + +Bug-Debian: http://bugs.debian.org/620087 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/745250 +Forwarded: not-needed + +setup.py replaces @LIBDIR@ in the hg script, with a path that differs between +Python versions. +libdir in hg doesn't need to be set if mercurial is available in the public +namespace, as it is in Debian. +hg doesn't alter sys.paths if this replacement hasn't happened. +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +--- a/setup.py ++++ b/setup.py +@@ -1239,7 +1239,6 @@ cmdclass = { + 'install': hginstall, + 'install_completion': hginstallcompletion, + 'install_lib': hginstalllib, +- 'install_scripts': hginstallscripts, + 'build_hgexe': buildhgexe, + } + diff --git a/patches/deb_specific__hgk.py.patch b/patches/deb_specific__hgk.py.patch new file mode 100644 index 0000000..a5cb0a7 --- /dev/null +++ b/patches/deb_specific__hgk.py.patch @@ -0,0 +1,21 @@ +From: Python Applications Packaging Team + +Date: Sun, 16 Aug 2020 11:03:07 +0200 +Subject: deb_specific__hgk.py + +Set default hgk path for hgk outside bin. +--- + hgext/hgk.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/hgext/hgk.py ++++ b/hgext/hgk.py +@@ -65,7 +65,7 @@ configitem = registrar.configitem(config + configitem( + b'hgk', + b'path', +- default=b'hgk', ++ default=b'/usr/share/mercurial/hgk', + ) + + diff --git a/patches/deb_specific__optional-dependencies b/patches/deb_specific__optional-dependencies new file mode 100644 index 0000000..3aa3f07 --- /dev/null +++ b/patches/deb_specific__optional-dependencies @@ -0,0 +1,183 @@ +From: Python Applications Packaging Team + +Date: Sun, 16 Aug 2020 11:03:07 +0200 +Subject: deb_specific__optional-dependencies + +Suggest Debian packages for some optional dependencies. +--- + hgext/bugzilla.py | 3 ++- + hgext/convert/bzr.py | 3 ++- + hgext/convert/common.py | 5 +++-- + hgext/convert/cvs.py | 2 +- + hgext/convert/darcs.py | 2 +- + hgext/convert/git.py | 2 +- + hgext/convert/gnuarch.py | 3 ++- + hgext/convert/monotone.py | 2 +- + hgext/convert/subversion.py | 11 ++++++++--- + mercurial/sslutil.py | 3 ++- + tests/test-https.t | 2 +- + 11 files changed, 24 insertions(+), 14 deletions(-) + +--- a/hgext/bugzilla.py ++++ b/hgext/bugzilla.py +@@ -503,7 +503,8 @@ class bzmysql(bzaccess): + bzmysql._MySQLdb = mysql + except ImportError as err: + raise error.Abort( +- _(b'python mysql support not available: %s') % err ++ _(b'python mysql support not available: %s') % err + ++ _(b' (try installing the %s package)') % b'python3-mysqldb' + ) + + bzaccess.__init__(self, ui) +--- a/hgext/convert/bzr.py ++++ b/hgext/convert/bzr.py +@@ -62,7 +62,8 @@ class bzr_source(common.converter_source + # access breezy stuff + bzrdir + except NameError: +- raise common.NoRepo(_(b'Bazaar modules could not be loaded')) ++ raise common.NoRepo(_(b'Bazaar modules could not be loaded') + ++ _(b' (try installing the %s package)') % b'bzr') + + path = util.abspath(path) + self._checkrepotype(path) +--- a/hgext/convert/common.py ++++ b/hgext/convert/common.py +@@ -89,14 +89,15 @@ class MissingTool(Exception): + pass + + +-def checktool(exe, name=None, abort=True): ++def checktool(exe, name=None, abort=True, debname=None): + name = name or exe + if not procutil.findexe(exe): + if abort: + exc = error.Abort + else: + exc = MissingTool +- raise exc(_(b'cannot find required "%s" tool') % name) ++ raise exc(_(b'cannot find required "%s" tool') % name + ++ (debname and _(b' (try installing the %s package)') % debname or b'')) + + + class NoRepo(Exception): +--- a/hgext/convert/cvs.py ++++ b/hgext/convert/cvs.py +@@ -46,7 +46,7 @@ class convert_cvs(converter_source): + if not os.path.exists(cvs): + raise NoRepo(_(b"%s does not look like a CVS checkout") % path) + +- checktool(b'cvs') ++ checktool(b'cvs', debname=b'cvs') + + self.changeset = None + self.files = {} +--- a/hgext/convert/darcs.py ++++ b/hgext/convert/darcs.py +@@ -35,7 +35,7 @@ class darcs_source(common.converter_sour + if not os.path.exists(os.path.join(path, b'_darcs')): + raise NoRepo(_(b"%s does not look like a darcs repository") % path) + +- common.checktool(b'darcs') ++ common.checktool(b'darcs', debname=b'darcs') + version = self.run0(b'--version').splitlines()[0].strip() + if version < b'2.1': + raise error.Abort( +--- a/hgext/convert/git.py ++++ b/hgext/convert/git.py +@@ -100,7 +100,7 @@ class convert_git(common.converter_sourc + else: + self.simopt = [] + +- common.checktool(b'git', b'git') ++ common.checktool(b'git', b'git', debname=b'git') + + self.path = path + self.submodules = [] +--- a/hgext/convert/gnuarch.py ++++ b/hgext/convert/gnuarch.py +@@ -56,7 +56,8 @@ class gnuarch_source(common.converter_so + if procutil.findexe(b'tla'): + self.execmd = b'tla' + else: +- raise error.Abort(_(b'cannot find a GNU Arch tool')) ++ raise error.Abort(_(b'cannot find a GNU Arch tool') + ++ _(b' (try installing the %s package)') % b'tla') + + common.commandline.__init__(self, ui, self.execmd) + +--- a/hgext/convert/monotone.py ++++ b/hgext/convert/monotone.py +@@ -86,7 +86,7 @@ class monotone_source(common.converter_s + self.files = None + self.dirs = None + +- common.checktool(b'mtn', abort=False) ++ common.checktool(b'mtn', abort=False, debname=b'monotone') + + def mtnrun(self, *args, **kwargs): + if self.automatestdio: +--- a/hgext/convert/subversion.py ++++ b/hgext/convert/subversion.py +@@ -474,7 +474,8 @@ class svn_source(converter_source): + _(b"%s does not look like a Subversion repository") % url + ) + if svn is None: +- raise MissingTool(_(b'could not load Subversion python bindings')) ++ raise MissingTool(_(b'could not load Subversion python bindings') + ++ _(b' (try installing the %s package)') % b'python3-subversion') + + try: + version = svn.core.SVN_VER_MAJOR, svn.core.SVN_VER_MINOR +@@ -484,14 +485,16 @@ class svn_source(converter_source): + b'Subversion python bindings %d.%d found, ' + b'1.4 or later required' + ) +- % version ++ % version + ++ _(b' (try upgrading the %s package)') % b'python-subversion' + ) + except AttributeError: + raise MissingTool( + _( + b'Subversion python bindings are too old, 1.4 ' + b'or later required' +- ) ++ ) + ++ _(b' (try upgrading the %s package)') % b'python-subversion' + ) + + self.lastrevs = {} +@@ -1416,6 +1419,8 @@ class svn_sink(converter_sink, commandli + return self.join(b'hg-authormap') + + def __init__(self, ui, repotype, path): ++ common.checktool(b'svn', debname=b'subversion') ++ common.checktool(b'svnadmin', debname=b'subversion') + + converter_sink.__init__(self, ui, repotype, path) + commandline.__init__(self, ui, b'svn') +--- a/mercurial/sslutil.py ++++ b/mercurial/sslutil.py +@@ -207,7 +207,8 @@ def _hostsettings(ui, hostname): + cafile = util.expandpath(cafile) + if not os.path.exists(cafile): + raise error.Abort( +- _(b'could not find web.cacerts: %s') % cafile ++ _(b'could not find web.cacerts: %s') % cafile + ++ _(b' (try installing the %s package)') % b'ca-certificates' + ) + elif s[b'allowloaddefaultcerts']: + # CAs not defined in config. Try to find system bundles. +--- a/tests/test-https.t ++++ b/tests/test-https.t +@@ -34,7 +34,7 @@ Make server certificates: + cacert not found + + $ hg in --config web.cacerts=no-such.pem https://localhost:$HGPORT/ +- abort: could not find web.cacerts: no-such.pem ++ abort: could not find web.cacerts: no-such.pem (try installing the ca-certificates package) + [255] + + Test server address cannot be reused diff --git a/patches/from_upstream_stable.patch b/patches/from_upstream_stable.patch new file mode 100644 index 0000000..5711ee9 --- /dev/null +++ b/patches/from_upstream_stable.patch @@ -0,0 +1,1540 @@ +diff --git a/.hgsigs b/.hgsigs +--- a/.hgsigs ++++ b/.hgsigs +@@ -232,8 +232,9 @@ 0cc5f74ff7f0f4ac2427096bddbe102dbc2453ae + 288de6f5d724bba7bf1669e2838f196962bb7528 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmKrVSEZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVqfUDACWYt2x2yNeb3SgCQsMhntFoKgwZ/CKFpiaz8W6jYij4mnwwWNAcflJAG3NJPK1I4RJrQky+omTmoc7dTAxfbjds7kA8AsXrVIFyP7HV5OKLEACWEAlCrtBLoj+gSYwO+yHQD7CnWqcMqYocHzsfVIr6qT9QQMlixP4lCiKh8ZrwPRGameONVfDBdL+tzw/WnkA5bVeRIlGpHoPe1y7xjP1kfj0a39aDezOcNqzxnzCuhpi+AC1xOpGi9ZqYhF6CmcDVRW6m7NEonbWasYpefpxtVa1xVreI1OIeBO30l7OsPI4DNn+dUpA4tA2VvvU+4RMsHPeT5R2VadXjF3xoH1LSdxv5fSKmRDr98GSwC5MzvTgMzskfMJ3n4Z7jhfPUz4YW4DBr71H27b1Mfdnl2cwXyT/0fD9peBWXe4ZBJ6VegPBUOjuIu0lUyfk7Zj9zb6l1AZC536Q1KolJPswQm9VyrX9Mtk70s0e1Fp3q1oohZVxdLPQvpR4empP0WMdPgg= + 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmLL1jYZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVn4gC/9Ls9JQEQrJPVfqp9+VicJIUUww/aKYWedlQJOlv4oEQJzYQQU9WfJq2d9OAuX2+cXCo7BC+NdjhjKjv7n0+gK0HuhfYYUoXiJvcfa4GSeEyxxnDf55lBCDxURstVrExU7c5OKiG+dPcsTPdvRdkpeAT/4gaewZ1cR0yZILNjpUeSWzQ7zhheXqfooyVkubdZY60XCNo9cSosOl1beNdNB/K5OkCNcYOa2AbiBY8XszQTCc+OU8tj7Ti8LGLZTW2vGD1QdVmqEPhtSQzRvcjbcRPoqXy/4duhN5V6QQ/O57hEF/6m3lXbCzNUDTqBw14Q3+WyLBR8npVwG7LXTCPuTtgv8Pk1ZBqY1UPf67xQu7WZN3EGWc9yuRKGkdetjZ09PJL7dcxctBkje3kQKmv7sdtCEo2DTugw38WN4beQA2hBKgqdUQVjfL+BbD48V+RnTdB4N0Hp7gw0gQdYsI14ZNe5wWhw98COi443dlVgKFl4jriVNM8aS1TQVOy15xyxA= + f69bffd00abe3a1b94d1032eb2c92e611d16a192 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmLifPsZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVukEC/oCa6AzaJlWh6G45Ap7BCWyB3EDWmcep07W8zRTfHQuuXslNFxRfj8O1DLVP05nDa1Uo2u1nkDxTH+x1fX0q4G8U/yLzCNsiBkCWSeEM8IeolarzzzvFe9Zk+UoRoRlc+vKAjxChtYTEnggQXjLdK+EdbXfEz2kJwdYlGX3lLr0Q2BKnBjSUvFe1Ma/1wxEjZIhDr6t7o8I/49QmPjK7RCYW1WBv77gnml0Oo8cxjDUR9cjqfeKtXKbMJiCsoXCS0hx3vJkBOzcs4ONEIw934is38qPNBBsaUjMrrqm0Mxs6yFricYqGVpmtNijsSRsfS7ZgNfaGaC2Bnu1E7P0A+AzPMPf/BP4uW9ixMbP1hNdr/6N41n19lkdjyQXVWGhB8RM+muf3jc6ZVvgZPMlxvFiz4/rP9nVOdrB96ssFZ9V2Ca/j2tU40AOgjI6sYsAR8pSSgmIdqe+DZQISHTT8D+4uVbtwYD49VklBcxudlbd3dAc5z9rVI3upsyByfRMROc= + b5c8524827d20fe2e0ca8fb1234a0fe35a1a36c7 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmMQxRoZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVm2gC/9HikIaOE49euIoLj6ctYsJY9PSQK4Acw7BXvdsTVMmW27o87NxH75bGBbmPQ57X1iuKLCQ1RoU3p2Eh1gPbkIsouWO3enBIfsFmkPtWQz28zpCrI9CUXg2ug4PGFPN9XyxNmhJ7vJ4Cst2tRxz9PBKUBO2EXJN1UKIdMvurIeT2sQrDQf1ePc85QkXx79231wZyF98smnV7UYU9ZPFnAzfcuRzdFn7UmH3KKxHTZQ6wAevj/fJXf5NdTlqbeNmq/t75/nGKXSFPWtRGfFs8JHGkkLgBiTJVsHYSqcnKNdVldIFUoJP4c2/SPyoBkqNvoIrr73XRo8tdDF1iY4ddmhHMSmKgSRqLnIEgew3Apa/IwPdolg+lMsOtcjgz4CB9agJ+O0+rdZd2ZUBNMN0nBSUh+lrkMjat8TJAlvut9h/6HAe4Dz8WheoWol8f8t1jLOJvbdvsMYi+Hf9CZjp7PlHT9y/TnDarcw2YIrf6Bv+Fm14ZDelu9VlF2zR1X8cofY= + dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmM77dQZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZViOTC/sEPicecV3h3v47VAIUigyKNWpcJ+epbRRaH6gqHTkexvULOPL6nJrdfBHkNry1KRtOcjaxQvtWZM+TRCfqsE++Q3ZYakRpWKontb/8xQSbmENvbnElLh6k0STxN/JVc480us7viDG5pHS9DLsgbkHmdCv5KdmSE0hphRrWX+5X7RTqpAfCgdwTkacB5Geu9QfRnuYjz6lvqbs5ITKtBGUYbg3hKzw2894FHtMqV6qa5rk1ZMmVDbQfKQaMVG41UWNoN7bLESi69EmF4q5jsXdIbuBy0KtNXmB+gdAaHN03B5xtc+IsQZOTHEUNlMgov3yEVTcA6fSG9/Z+CMsdCbyQxqkwakbwWS1L2WcAsrkHyafvbNdR2FU34iYRWOck8IUg2Ffv7UFrHabJDy+nY7vcTLb0f7lV4jLXMWEt1hvXWMYek6Y4jtWahg6fjmAdD3Uf4BMfsTdnQKPvJpWXx303jnST3xvFvuqbbbDlhLfAB9M6kxVntvCVkMlMpe39+gM= + a3356ab610fc50000cf0ba55c424a4d96da11db7 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmNWr44ZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVjalC/9ddIeZ1qc3ykUZb+vKw+rZ6WS0rnDgrfFYBQFooK106lB+IC2PlghXSrY2hXn/7Dk95bK90S9AO4TFidDPiRYuBYdXR+G+CzmYFtCQzGBgGyrWgpUYsZUeA3VNqZ+Zbwn/vRNiFVNDsrFudjE6xEwaYdepmoXJsv3NdgZME7T0ZcDIujIa7ihiXvGFPVzMyF/VZg4QvdmerC4pvkeKC3KRNjhBkMQbf0GtQ4kpgMFBj5bmgXbq9rftL5yYy+rDiRQ0qzpOMHbdxvSZjPhK/do5M3rt2cjPxtF+7R3AHxQ6plOf0G89BONYebopY92OIyA3Qg9d/zIKDmibhgyxj4G9YU3+38gPEpsNeEw0fkyxhQbCY3QpNX4JGFaxq5GVCUywvVIuqoiOcQeXlTDN70zhAQHUx0rcGe1Lc6I+rT6Y2lNjJIdiCiMAWIl0D+4SVrLqdMYdSMXcBajTxOudb9KZnu03zNMXuLb8FFk1lFzkY7AcWA++d02f15P3sVZsDXE= + 04f1dba53c961dfdb875c8469adc96fa999cfbed 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmNyC5sZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVqF+C/4uLaV/4nizZkWD3PjU1WyFYDg4bWDFOHb+PWuQ/3uoHXu1/EaYRnqmcDyOSJ99aXZBQ78rm9xhjxdmbklZ4ll1EGkqfTiYH+ld+rqE8iaqlc/DVy7pFXaenYwxletzO1OezzwF4XDLi6hcqzY9CXA3NM40vf6W4Rs5bEIi4eSbgJSNB1ll6ZzjvkU5bWTUoxSH+fxIJUuo27El2etdlKFQkS3/oTzWHejpVn6SQ1KyojTHMQBDRK4rqJBISp3gTf4TEezb0q0HTutJYDFdQNIRqx7V1Ao4Ei+YNbenJzcWJOA/2uk4V0AvZ4tnjgAzBYKwvIL1HfoQ0OmILeXjlVzV7Xu0G57lavum0sKkz/KZLKyYhKQHjYQLE7YMSM2y6/UEoFNN577vB47CHUq446PSMb8dGs2rmj66rj4iz5ml0yX+V9O2PpmIKoPAu1Y5/6zB9rCL76MRx182IW2m3rm4lsTfXPBPtea/OFt6ylxqCJRxaA0pht4FiAOvicPKXh4= + c890d8b8bc59b18e5febf60caada629df5356ee2 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmN48sEZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVqwwC/9GkaE5adkLaJBZeRqfLL710ZPMAttiPhLAYl9YcUeUjw2rTU1bxxUks0oSfW4J0AaJLscl+pG4zZW8FN2MXY3njdcpAA/bv4nb+rq50Mdm0mD3iLOyKbIDQbUoYe7YpIPbpyuf8G/y4R1IXiLJjK329vzIsHkqyKPwUzxvyfZkjg6Lx00RRcfWrosb2Jb0+EhP9Yi7tjJmNWjsaTb8Ufp+ImYAL3qcDErkqb6wJCGAM0AwVfAJ7MZz3v3E56n1HTPhNqf8UvfR4URsuDlk56mP4do/QThC7dANiKeWrFJSBPu8uSpaHzUk1XCat0RHK03DMr15Ln1YCEhTmaedHr2rtp0fgGqaMH1jLZt0+9fiPaaYjck7Y+aagdc3bt1VhqtClbCJz5KWynpCLrn8MX40QmXuwly+KHzMuPQ6i0ui95ifgtrW7/Zd7uI7mYZ2zUeFUZPnL9XmGpFI595N8TjoPuFeO/ea4OQbLUY+lmmgZQrWoTpc5LDUyFXSFzJS2bU= ++59466b13a3ae0e29a5d4f485393e516cfbb057d0 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmO1XgoZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVn8nDACU04KbPloLl+if6DQYreESnF9LU8C+qnLC/j5RRuaFNh/ec6C3DzLWqWdmnWA/siV3nUR1bXHfTui95azxJfYvWoXH2R2yam+YhE256B4rDDYWS1LI9kNNM+A33xcPS2HxVowkByhjB5FPKR6I90dX42BYJpTS5s/VPx63wXLznjFWuD7XJ3P0VI7D72j/+6EQCmHaAUEE5bO00Ob2JxmzJlaP+02fYc814PAONE2/ocfR0aExAVS3VA+SJGXnXTVpoaHr7NJKC2sBLFsdnhIRwtCf3rtGEvIJ5v2U2xx0ZEz/mimtGzW5ovkthobV4mojk0DRz7xBtA96pOGSRTD8QndIsdMCUipo8zZ/AGAMByCtsQOX7OYhR6gp+I6+iPh8fTR5oCbkO7cizDDQtXcrR5OT/BDH9xkAF1ghNL8o23a09/wfZ9NPg5zrh/4T/dFfoe2COlkAJJ1ttDPYyQkCfMsoWm3OXk6xJ3ExVbwkZzUDQSzsxGS+oxbFDWJZ64Q= +diff --git a/.hgtags b/.hgtags +--- a/.hgtags ++++ b/.hgtags +@@ -248,8 +248,9 @@ f69bffd00abe3a1b94d1032eb2c92e611d16a192 + b5c8524827d20fe2e0ca8fb1234a0fe35a1a36c7 6.2.2 + dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 6.2.3 + a3356ab610fc50000cf0ba55c424a4d96da11db7 6.3rc0 + 04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3.0 + 04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3 + 04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3.0 + 0000000000000000000000000000000000000000 6.3.0 + c890d8b8bc59b18e5febf60caada629df5356ee2 6.3.1 ++59466b13a3ae0e29a5d4f485393e516cfbb057d0 6.3.2 +diff --git a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -53,17 +53,17 @@ help: + @echo ' make all && su -c "make install" && hg version' + @echo + @echo 'Example for a local installation (usable in this directory):' + @echo ' make local && ./hg version' + + all: build doc + + local: +- $(PYTHON) setup.py $(PURE) \ ++ MERCURIAL_SETUP_MAKE_LOCAL=1 $(PYTHON) setup.py $(PURE) \ + build_py -c -d . \ + build_ext $(COMPILERFLAG) -i \ + build_hgexe $(COMPILERFLAG) -i \ + build_mo + env HGRCPATH= $(PYTHON) hg version + + build: + $(PYTHON) setup.py $(PURE) build $(COMPILERFLAG) +diff --git a/contrib/heptapod-ci.yml b/contrib/heptapod-ci.yml +--- a/contrib/heptapod-ci.yml ++++ b/contrib/heptapod-ci.yml +@@ -29,25 +29,27 @@ variables: + - echo "$RUNTEST_ARGS" + - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS + + checks: + <<: *runtests + variables: + RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt" + PYTHON: python3 ++ CI_CLEVER_CLOUD_FLAVOR: S + + rust-cargo-test: + <<: *all + stage: tests + script: + - echo "python used, $PYTHON" + - make rust-tests + variables: + PYTHON: python3 ++ CI_CLEVER_CLOUD_FLAVOR: S + + test-c: + <<: *runtests + variables: + RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt" + PYTHON: python3 + TEST_HGMODULEPOLICY: "c" + TEST_HGTESTS_ALLOW_NETIO: "1" +diff --git a/hgext/convert/bzr.py b/hgext/convert/bzr.py +--- a/hgext/convert/bzr.py ++++ b/hgext/convert/bzr.py +@@ -36,16 +36,22 @@ try: + import breezy.revision + import breezy.revisionspec + + bzrdir = breezy.bzr.bzrdir + errors = breezy.errors + revision = breezy.revision + revisionspec = breezy.revisionspec + revisionspec.RevisionSpec ++ ++ try: ++ # brz 3.3.0 (revno: 7614.2.2) ++ from breezy.transport import NoSuchFile ++ except ImportError: ++ from breezy.errors import NoSuchFile + except ImportError: + pass + + supportedkinds = ('file', 'symlink') + + + class bzr_source(common.converter_source): + """Reads Bazaar repositories by using the Bazaar Python libraries""" +@@ -145,17 +151,17 @@ class bzr_source(common.converter_source + return heads + + def getfile(self, name, rev): + name = name.decode() + revtree = self.sourcerepo.revision_tree(rev) + + try: + kind = revtree.kind(name) +- except breezy.errors.NoSuchFile: ++ except NoSuchFile: + return None, None + if kind not in supportedkinds: + # the file is not available anymore - was deleted + return None, None + mode = self._modecache[(name.encode(), rev)] + if kind == 'symlink': + target = revtree.get_symlink_target(name) + if target is None: +diff --git a/hgext/convert/cvs.py b/hgext/convert/cvs.py +--- a/hgext/convert/cvs.py ++++ b/hgext/convert/cvs.py +@@ -137,17 +137,19 @@ class convert_cvs(converter_source): + conntype = None + user, host = None, None + cmd = [b'cvs', b'server'] + + self.ui.status(_(b"connecting to %s\n") % root) + + if root.startswith(b":pserver:"): + root = root[9:] +- m = re.match(r'(?:(.*?)(?::(.*?))?@)?([^:/]*)(?::(\d*))?(.*)', root) ++ m = re.match( ++ br'(?:(.*?)(?::(.*?))?@)?([^:/]*)(?::(\d*))?(.*)', root ++ ) + if m: + conntype = b"pserver" + user, passw, serv, port, root = m.groups() + if not user: + user = b"anonymous" + if not port: + port = 2401 + else: +@@ -192,17 +194,17 @@ class convert_cvs(converter_source): + b"END AUTH REQUEST", + b"", + ] + ) + ) + if sck.recv(128) != b"I LOVE YOU\n": + raise error.Abort(_(b"CVS pserver authentication failed")) + +- self.writep = self.readp = sck.makefile(b'r+') ++ self.writep = self.readp = sck.makefile('rwb') + + if not conntype and root.startswith(b":local:"): + conntype = b"local" + root = root[7:] + + if not conntype: + # :ext:user@host/home/user/path/to/cvsroot + if root.startswith(b":ext:"): +diff --git a/hgext/convert/cvsps.py b/hgext/convert/cvsps.py +--- a/hgext/convert/cvsps.py ++++ b/hgext/convert/cvsps.py +@@ -681,17 +681,20 @@ def createchangeset(ui, log, fuzz=60, me + mergepoint=e.mergepoint, + branchpoints=e.branchpoints, + commitid=e.commitid, + ) + changesets.append(c) + + files = set() + if len(changesets) % 100 == 0: +- t = b'%d %s' % (len(changesets), repr(e.comment)[1:-1]) ++ t = b'%d %s' % ( ++ len(changesets), ++ pycompat.byterepr(e.comment)[2:-1], ++ ) + ui.status(stringutil.ellipsis(t, 80) + b'\n') + + c.entries.append(e) + files.add(e.file) + c.date = e.date # changeset date is date of latest commit in it + + # Mark synthetic changesets + +diff --git a/hgext/convert/darcs.py b/hgext/convert/darcs.py +--- a/hgext/convert/darcs.py ++++ b/hgext/convert/darcs.py +@@ -138,17 +138,17 @@ class darcs_source(common.converter_sour + return man + + def getheads(self): + return self.parents[None] + + def getcommit(self, rev): + elt = self.changes[rev] + dateformat = b'%a %b %d %H:%M:%S %Z %Y' +- date = dateutil.strdate(elt.get('local_date'), dateformat) ++ date = dateutil.strdate(self.recode(elt.get('local_date')), dateformat) + desc = elt.findtext('name') + '\n' + elt.findtext('comment', '') + # etree can return unicode objects for name, comment, and author, + # so recode() is used to ensure str objects are emitted. + newdateformat = b'%Y-%m-%d %H:%M:%S %1%2' + return common.commit( + author=self.recode(elt.get('author')), + date=dateutil.datestr(date, newdateformat), + desc=self.recode(desc).strip(), +diff --git a/hgext/fix.py b/hgext/fix.py +--- a/hgext/fix.py ++++ b/hgext/fix.py +@@ -693,16 +693,19 @@ def fixfile(ui, repo, opts, fixers, fixc + for fixername, fixer in fixers.items(): + if fixer.affects(opts, fixctx, path): + ranges = lineranges( + opts, path, basepaths, basectxs, fixctx, newdata + ) + command = fixer.command(ui, path, ranges) + if command is None: + continue ++ msg = b'fixing: %s - %s - %s\n' ++ msg %= (fixctx, fixername, path) ++ ui.debug(msg) + ui.debug(b'subprocess: %s\n' % (command,)) + proc = subprocess.Popen( + procutil.tonativestr(command), + shell=True, + cwd=procutil.tonativestr(repo.root), + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, +diff --git a/hgext/histedit.py b/hgext/histedit.py +--- a/hgext/histedit.py ++++ b/hgext/histedit.py +@@ -991,17 +991,17 @@ class base(histeditaction): + msg % (self.verb, short(self.node)), + hint=_(b'base must only use unlisted changesets'), + ) + + + @action( + [b'_multifold'], + _( +- """fold subclass used for when multiple folds happen in a row ++ b"""fold subclass used for when multiple folds happen in a row + + We only want to fire the editor for the folded message once when + (say) four changes are folded down into a single change. This is + similar to rollup, but we should preserve both messages so that + when the last fold operation runs we can show the user all the + commit messages in their editor. + """ + ), +diff --git a/hgext/sparse.py b/hgext/sparse.py +--- a/hgext/sparse.py ++++ b/hgext/sparse.py +@@ -369,17 +369,17 @@ def debugsparse(ui, repo, **opts): + sparse.importfromfiles(repo, opts, importrules, force=force) + + if clearrules: + sparse.clearrules(repo, force=force) + + if refresh: + try: + wlock = repo.wlock() +- fcounts = map( ++ fcounts = pycompat.maplist( + len, + sparse.refreshwdir( + repo, repo.status(), sparse.matcher(repo), force=force + ), + ) + sparse.printchanges( + ui, + opts, +diff --git a/mercurial/bundlerepo.py b/mercurial/bundlerepo.py +--- a/mercurial/bundlerepo.py ++++ b/mercurial/bundlerepo.py +@@ -528,16 +528,18 @@ def makebundlerepository(ui, repopath, b + # a repo instance. Then, we dynamically create a new type derived from + # both it and our ``bundlerepository`` class which overrides some + # functionality. We then change the type of the constructed repository + # to this new type and initialize the bundle-specific bits of it. + + try: + repo = localrepo.instance(ui, repopath, create=False) + tempparent = None ++ except error.RequirementError: ++ raise # no fallback if the backing repo is unsupported + except error.RepoError: + tempparent = pycompat.mkdtemp() + try: + repo = localrepo.instance(ui, tempparent, create=True) + except Exception: + shutil.rmtree(tempparent) + raise + +diff --git a/mercurial/commands.py b/mercurial/commands.py +--- a/mercurial/commands.py ++++ b/mercurial/commands.py +@@ -7467,16 +7467,19 @@ def tag(ui, repo, name1, *names, **opts) + raise error.InputError( + _( + b'working directory is not at a branch head ' + b'(use -f to force)' + ) + ) + node = logcmdutil.revsingle(repo, rev_).node() + ++ if node is None: ++ raise error.InputError(_(b"cannot tag working directory")) ++ + if not message: + # we don't translate commit messages + message = b'Added tag %s for changeset %s' % ( + b', '.join(names), + short(node), + ) + + date = opts.get(b'date') +diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py +--- a/mercurial/dirstate.py ++++ b/mercurial/dirstate.py +@@ -1439,16 +1439,19 @@ class dirstate: + if not self._use_dirstate_v2: + return None + return backupname + b'.v2-data' + + def _new_backup_data_filename(self, backupname): + """return a filename to backup a data-file or None""" + if not self._use_dirstate_v2: + return None ++ if self._map.docket.uuid is None: ++ # not created yet, nothing to backup ++ return None + data_filename = self._map.docket.data_filename() + return data_filename, self.data_backup_filename(backupname) + + def backup_data_file(self, backupname): + if not self._use_dirstate_v2: + return None + docket = docketmod.DirstateDocket.parse( + self._opener.read(backupname), +@@ -1509,41 +1512,54 @@ class dirstate: + # end of this transaction + tr.registertmp(bck_data_filename, location=b'plain') + + def restorebackup(self, tr, backupname): + '''Restore dirstate by backup file''' + # this "invalidate()" prevents "wlock.release()" from writing + # changes of dirstate out after restoring from backup file + self.invalidate() ++ o = self._opener ++ if not o.exists(backupname): ++ # there was no file backup, delete existing files ++ filename = self._actualfilename(tr) ++ data_file = None ++ if self._use_dirstate_v2 and self._map.docket.uuid is not None: ++ data_file = self._map.docket.data_filename() ++ if o.exists(filename): ++ o.unlink(filename) ++ if data_file is not None and o.exists(data_file): ++ o.unlink(data_file) ++ return + filename = self._actualfilename(tr) +- o = self._opener + data_pair = self.backup_data_file(backupname) +- if util.samefile(o.join(backupname), o.join(filename)): ++ if o.exists(filename) and util.samefile( ++ o.join(backupname), o.join(filename) ++ ): + o.unlink(backupname) + else: + o.rename(backupname, filename, checkambig=True) + + if data_pair is not None: + data_backup, target = data_pair + if o.exists(target) and util.samefile( + o.join(data_backup), o.join(target) + ): + o.unlink(data_backup) + else: + o.rename(data_backup, target, checkambig=True) + + def clearbackup(self, tr, backupname): + '''Clear backup file''' + o = self._opener +- data_backup = self.backup_data_file(backupname) +- o.unlink(backupname) +- +- if data_backup is not None: +- o.unlink(data_backup[0]) ++ if o.exists(backupname): ++ data_backup = self.backup_data_file(backupname) ++ o.unlink(backupname) ++ if data_backup is not None: ++ o.unlink(data_backup[0]) + + def verify(self, m1, m2): + """check the dirstate content again the parent manifest and yield errors""" + missing_from_p1 = b"%s in state %s, but not in manifest1\n" + unexpected_in_p1 = b"%s in state %s, but also in manifest1\n" + missing_from_ps = b"%s in state %s, but not in either manifest\n" + missing_from_ds = b"%s in manifest1, but listed as state %s\n" + for f, entry in self.items(): +diff --git a/mercurial/dirstatemap.py b/mercurial/dirstatemap.py +--- a/mercurial/dirstatemap.py ++++ b/mercurial/dirstatemap.py +@@ -109,16 +109,18 @@ class _dirstatemapcommon: + ) + return self._docket + + def write_v2_no_append(self, tr, st, meta, packed): + old_docket = self.docket + new_docket = docketmod.DirstateDocket.with_new_uuid( + self.parents(), len(packed), meta + ) ++ if old_docket.uuid == new_docket.uuid: ++ raise error.ProgrammingError(b'dirstate docket name collision') + data_filename = new_docket.data_filename() + self._opener.write(data_filename, packed) + # Write the new docket after the new data file has been + # written. Because `st` was opened with `atomictemp=True`, + # the actual `.hg/dirstate` file is only affected on close. + st.write(new_docket.serialize()) + st.close() + # Remove the old data file after the new docket pointing to +diff --git a/mercurial/hgweb/server.py b/mercurial/hgweb/server.py +--- a/mercurial/hgweb/server.py ++++ b/mercurial/hgweb/server.py +@@ -198,17 +198,17 @@ class _httprequesthandler(httpservermod. + hkey = 'HTTP_' + header.replace('-', '_').upper() + hval = self.headers.get(header) + hval = hval.replace('\n', '').strip() + if hval: + env[hkey] = hval + env['SERVER_PROTOCOL'] = self.request_version + env['wsgi.version'] = (1, 0) + env['wsgi.url_scheme'] = pycompat.sysstr(self.url_scheme) +- if env.get('HTTP_EXPECT', b'').lower() == b'100-continue': ++ if env.get('HTTP_EXPECT', '').lower() == '100-continue': + self.rfile = common.continuereader(self.rfile, self.wfile.write) + + env['wsgi.input'] = self.rfile + env['wsgi.errors'] = _error_logger(self) + env['wsgi.multithread'] = isinstance( + self.server, socketserver.ThreadingMixIn + ) + if util.safehasattr(socketserver, b'ForkingMixIn'): +diff --git a/mercurial/revset.py b/mercurial/revset.py +--- a/mercurial/revset.py ++++ b/mercurial/revset.py +@@ -5,17 +5,16 @@ + # This software may be used and distributed according to the terms of the + # GNU General Public License version 2 or any later version. + + + import binascii + import functools + import random + import re +-import sys + + from .i18n import _ + from .pycompat import getattr + from .node import ( + bin, + nullrev, + wdirrev, + ) +@@ -2350,17 +2349,17 @@ def roots(repo, subset, x): + for p in repo[None].parents(): + if p.rev() in s: + return False + return True + + return subset & s.filter(filter, condrepr=b'') + + +-MAXINT = sys.maxsize ++MAXINT = (1 << 31) - 1 + MININT = -MAXINT - 1 + + + def pick_random(c, gen=random): + # exists as its own function to make it possible to overwrite the seed + return gen.randint(MININT, MAXINT) + + +diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py +--- a/mercurial/scmutil.py ++++ b/mercurial/scmutil.py +@@ -273,16 +273,21 @@ def checknewlabel(repo, lbl, kind): + raise error.InputError(_(b"the name '%s' is reserved") % lbl) + for c in (b':', b'\0', b'\n', b'\r'): + if c in lbl: + raise error.InputError( + _(b"%r cannot be used in a name") % pycompat.bytestr(c) + ) + try: + int(lbl) ++ if b'_' in lbl: ++ # If label contains underscores, Python might consider it an ++ # integer (with "_" as visual separators), but we do not. ++ # See PEP 515 - Underscores in Numeric Literals. ++ raise ValueError + raise error.InputError(_(b"cannot use an integer as a name")) + except ValueError: + pass + if lbl.strip() != lbl: + raise error.InputError( + _(b"leading or trailing whitespace in name %r") % lbl + ) + +diff --git a/mercurial/utils/resourceutil.py b/mercurial/utils/resourceutil.py +--- a/mercurial/utils/resourceutil.py ++++ b/mercurial/utils/resourceutil.py +@@ -54,17 +54,20 @@ else: + + + try: + # importlib.resources exists from Python 3.7; see fallback in except clause + # further down + from importlib import resources # pytype: disable=import-error + + # Force loading of the resources module +- resources.open_binary # pytype: disable=module-attr ++ if pycompat.safehasattr(resources, 'files'): ++ resources.files # pytype: disable=module-attr ++ else: ++ resources.open_binary # pytype: disable=module-attr + + # py2exe raises an AssertionError if uses importlib.resources + if getattr(sys, "frozen", None) in ("console_exe", "windows_exe"): + raise ImportError + + except (ImportError, AttributeError): + # importlib.resources was not found (almost definitely because we're on a + # Python version before 3.7) +@@ -87,19 +90,28 @@ except (ImportError, AttributeError): + for p in os.listdir(path): + yield pycompat.fsencode(p) + + + else: + from .. import encoding + + def open_resource(package, name): +- return resources.open_binary( # pytype: disable=module-attr +- pycompat.sysstr(package), pycompat.sysstr(name) +- ) ++ if pycompat.safehasattr(resources, 'files'): ++ return ( ++ resources.files( # pytype: disable=module-attr ++ pycompat.sysstr(package) ++ ) ++ .joinpath(pycompat.sysstr(name)) ++ .open('rb') ++ ) ++ else: ++ return resources.open_binary( # pytype: disable=module-attr ++ pycompat.sysstr(package), pycompat.sysstr(name) ++ ) + + def is_resource(package, name): + return resources.is_resource( # pytype: disable=module-attr + pycompat.sysstr(package), encoding.strfromlocal(name) + ) + + def contents(package): + # pytype: disable=module-attr +diff --git a/relnotes/6.3 b/relnotes/6.3 +--- a/relnotes/6.3 ++++ b/relnotes/6.3 +@@ -1,8 +1,28 @@ ++= 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 ++ + = Mercurial 6.3.1 = + + * memory-usage: fix `hg log --follow --rev R F` space complexity (dcb2581e33be) + * Improve portability and robustness of test harness + * hg-core: relax dependencies pinning + * matcher: fix issues regex flag contained in pattern (issue6759) + * matcher: do not prepend '.*' to pattern using ^ after flags + * packaging: refresh dependency hashes (issue6750) +diff --git a/rust/Cargo.lock b/rust/Cargo.lock +--- a/rust/Cargo.lock ++++ b/rust/Cargo.lock +@@ -227,19 +227,19 @@ source = "registry+https://github.com/ru + checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa" + dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils", + ] + + [[package]] + name = "crossbeam-deque" +-version = "0.8.0" ++version = "0.8.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" ++checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" + dependencies = [ + "cfg-if 1.0.0", + "crossbeam-epoch", + "crossbeam-utils", + ] + + [[package]] + name = "crossbeam-epoch" +@@ -911,36 +911,33 @@ version = "0.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a9fcdd2e881d02f1d9390ae47ad8e5696a9e4be7b547a1da2afbc61973217004" + dependencies = [ + "rand_core 0.5.1", + ] + + [[package]] + name = "rayon" +-version = "1.5.1" ++version = "1.6.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" ++checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" + dependencies = [ +- "autocfg", +- "crossbeam-deque", + "either", + "rayon-core", + ] + + [[package]] + name = "rayon-core" +-version = "1.9.1" ++version = "1.10.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" ++checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" + dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", +- "lazy_static", + "num_cpus", + ] + + [[package]] + name = "redox_syscall" + version = "0.2.11" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" +diff --git a/rust/hg-core/Cargo.toml b/rust/hg-core/Cargo.toml +--- a/rust/hg-core/Cargo.toml ++++ b/rust/hg-core/Cargo.toml +@@ -18,17 +18,17 @@ home = "0.5.3" + im-rc = "15.0" + itertools = "0.10.3" + lazy_static = "1.4.0" + libc = "0.2" + ouroboros = "0.15.0" + rand = "0.8.4" + rand_pcg = "0.3.1" + rand_distr = "0.4.3" +-rayon = "1.5.1" ++rayon = "1.6.1" + regex = "1.5.5" + sha-1 = "0.10.0" + twox-hash = "1.6.2" + same-file = "1.0.6" + tempfile = "3.1.0" + thread_local = "1.1.4" + crossbeam-channel = "0.5.0" + micro-timer = "0.4.0" +diff --git a/rust/hg-core/src/narrow.rs b/rust/hg-core/src/narrow.rs +--- a/rust/hg-core/src/narrow.rs ++++ b/rust/hg-core/src/narrow.rs +@@ -95,17 +95,17 @@ pub fn matcher( + + fn validate_patterns(patterns: &[u8]) -> Result<(), SparseConfigError> { + for pattern in patterns.split(|c| *c == b'\n') { + if pattern.is_empty() { + continue; + } + for prefix in VALID_PREFIXES.iter() { + if pattern.starts_with(prefix.as_bytes()) { +- break; ++ return Ok(()); + } +- return Err(SparseConfigError::InvalidNarrowPrefix( +- pattern.to_owned(), +- )); + } ++ return Err(SparseConfigError::InvalidNarrowPrefix( ++ pattern.to_owned(), ++ )); + } + Ok(()) + } +diff --git a/rust/rhg/Cargo.toml b/rust/rhg/Cargo.toml +--- a/rust/rhg/Cargo.toml ++++ b/rust/rhg/Cargo.toml +@@ -17,9 +17,9 @@ home = "0.5.3" + lazy_static = "1.4.0" + log = "0.4.14" + micro-timer = "0.4.0" + regex = "1.5.5" + env_logger = "0.9.0" + format-bytes = "0.3.0" + users = "0.11.0" + which = "4.2.5" +-rayon = "1.5.1" ++rayon = "1.6.1" +diff --git a/setup.py b/setup.py +--- a/setup.py ++++ b/setup.py +@@ -16,16 +16,21 @@ supportedpy = ','.join( + import sys, platform + import sysconfig + + + def sysstr(s): + return s.decode('latin-1') + + ++def eprint(*args, **kwargs): ++ kwargs['file'] = sys.stderr ++ print(*args, **kwargs) ++ ++ + import ssl + + # ssl.HAS_TLSv1* are preferred to check support but they were added in Python + # 3.7. Prior to CPython commit 6e8cda91d92da72800d891b2fc2073ecbc134d98 + # (backported to the 3.7 branch), ssl.PROTOCOL_TLSv1_1 / ssl.PROTOCOL_TLSv1_2 + # were defined only if compiled against a OpenSSL version with TLS 1.1 / 1.2 + # support. At the mentioned commit, they were unconditionally defined. + _notset = object() +@@ -216,19 +221,20 @@ class hgcommand: + def __init__(self, cmd, env): + self.cmd = cmd + self.env = env + + def run(self, args): + cmd = self.cmd + args + returncode, out, err = runcmd(cmd, self.env) + err = filterhgerr(err) +- if err or returncode != 0: ++ if err: + print("stderr from '%s':" % (' '.join(cmd)), file=sys.stderr) + print(err, file=sys.stderr) ++ if returncode != 0: + return b'' + return out + + + def filterhgerr(err): + # If root is executing setup.py, but the repository is owned by + # another user (as in "sudo python setup.py install") we will get + # trust warnings since the .hg/hgrc file is untrusted. That is +@@ -286,20 +292,21 @@ def findhg(): + hgcmd = [sys.executable, 'hg'] + try: + retcode, out, err = runcmd(hgcmd + check_cmd, hgenv) + except EnvironmentError: + retcode = -1 + if retcode == 0 and not filterhgerr(err): + return hgcommand(hgcmd, hgenv) + +- raise SystemExit( +- 'Unable to find a working hg binary to extract the ' +- 'version from the repository tags' +- ) ++ eprint("/!\\") ++ eprint(r"/!\ Unable to find a working hg binary") ++ eprint(r"/!\ Version cannot be extract from the repository") ++ eprint(r"/!\ Re-run the setup once a first version is built") ++ return None + + + def localhgenv(): + """Get an environment dictionary to use for invoking or importing + mercurial from the local repository.""" + # Execute hg out of this directory with a custom environment which takes + # care to not use any hgrc files and do no localization. + env = { +@@ -314,39 +321,56 @@ def localhgenv(): + # SystemRoot is required by Windows to load various DLLs. See: + # https://bugs.python.org/issue13524#msg148850 + env['SystemRoot'] = os.environ['SystemRoot'] + return env + + + version = '' + +-if os.path.isdir('.hg'): ++ ++def _try_get_version(): + hg = findhg() ++ if hg is None: ++ return '' ++ hgid = None ++ numerictags = [] + cmd = ['log', '-r', '.', '--template', '{tags}\n'] +- numerictags = [t for t in sysstr(hg.run(cmd)).split() if t[0:1].isdigit()] ++ pieces = sysstr(hg.run(cmd)).split() ++ numerictags = [t for t in pieces if t[0:1].isdigit()] + hgid = sysstr(hg.run(['id', '-i'])).strip() + if not hgid: +- # Bail out if hg is having problems interacting with this repository, +- # rather than falling through and producing a bogus version number. +- # Continuing with an invalid version number will break extensions +- # that define minimumhgversion. +- raise SystemExit('Unable to determine hg version from local repository') ++ eprint("/!\\") ++ eprint(r"/!\ Unable to determine hg version from local repository") ++ eprint(r"/!\ Failed to retrieve current revision tags") ++ return '' + if numerictags: # tag(s) found + version = numerictags[-1] + if hgid.endswith('+'): # propagate the dirty status to the tag + version += '+' +- else: # no tag found ++ else: # no tag found on the checked out revision + ltagcmd = ['parents', '--template', '{latesttag}'] + ltag = sysstr(hg.run(ltagcmd)) ++ if not ltag: ++ eprint("/!\\") ++ eprint(r"/!\ Unable to determine hg version from local repository") ++ eprint( ++ r"/!\ Failed to retrieve current revision distance to lated tag" ++ ) ++ return '' + changessincecmd = ['log', '-T', 'x\n', '-r', "only(.,'%s')" % ltag] + changessince = len(hg.run(changessincecmd).splitlines()) + version = '%s+hg%s.%s' % (ltag, changessince, hgid) + if version.endswith('+'): + version = version[:-1] + 'local' + time.strftime('%Y%m%d') ++ return version ++ ++ ++if os.path.isdir('.hg'): ++ version = _try_get_version() + elif os.path.exists('.hg_archival.txt'): + kw = dict( + [[t.strip() for t in l.split(':', 1)] for l in open('.hg_archival.txt')] + ) + if 'tag' in kw: + version = kw['tag'] + elif 'latesttag' in kw: + if 'changessincelatesttag' in kw: +@@ -356,31 +380,45 @@ elif os.path.exists('.hg_archival.txt'): + else: + version = '%(latesttag)s+hg%(latesttagdistance)s.%(node).12s' % kw + else: + version = '0+hg' + kw.get('node', '')[:12] + elif os.path.exists('mercurial/__version__.py'): + with open('mercurial/__version__.py') as f: + data = f.read() + version = re.search('version = b"(.*)"', data).group(1) +- +-if version: +- versionb = version +- if not isinstance(versionb, bytes): +- versionb = versionb.encode('ascii') ++if not version: ++ if os.environ.get("MERCURIAL_SETUP_MAKE_LOCAL") == "1": ++ version = "0.0+0" ++ eprint("/!\\") ++ eprint(r"/!\ Using '0.0+0' as the default version") ++ eprint(r"/!\ Re-run make local once that first version is built") ++ eprint("/!\\") ++ else: ++ eprint("/!\\") ++ eprint(r"/!\ Could not determine the Mercurial version") ++ eprint(r"/!\ You need to build a local version first") ++ eprint(r"/!\ Run `make local` and try again") ++ eprint("/!\\") ++ msg = "Run `make local` first to get a working local version" ++ raise SystemExit(msg) + +- write_if_changed( +- 'mercurial/__version__.py', +- b''.join( +- [ +- b'# this file is autogenerated by setup.py\n' +- b'version = b"%s"\n' % versionb, +- ] +- ), +- ) ++versionb = version ++if not isinstance(versionb, bytes): ++ versionb = versionb.encode('ascii') ++ ++write_if_changed( ++ 'mercurial/__version__.py', ++ b''.join( ++ [ ++ b'# this file is autogenerated by setup.py\n' ++ b'version = b"%s"\n' % versionb, ++ ] ++ ), ++) + + + class hgbuild(build): + # Insert hgbuildmo first so that files in mercurial/locale/ are found + # when build_py is run next. + sub_commands = [('build_mo', None)] + build.sub_commands + + +diff --git a/tests/filtertraceback.py b/tests/filtertraceback.py +--- a/tests/filtertraceback.py ++++ b/tests/filtertraceback.py +@@ -26,14 +26,19 @@ for line in sys.stdin: + elif state == 'tb': + if line.startswith(' File '): + state = 'file' + continue + + elif not line.startswith(' '): + state = 'none' + ++ elif not line.replace('^', '').replace('~', '').strip(): ++ # PEP 657: Fine-grained error locations in tracebacks ++ # ~~~~~~^^^^^^^^^ ++ continue ++ + elif state == 'file': + # Ignore lines after " File " + state = 'tb' + continue + + print(line, end='') +diff --git a/tests/hghave.py b/tests/hghave.py +--- a/tests/hghave.py ++++ b/tests/hghave.py +@@ -201,25 +201,25 @@ def has_rhg(): + def has_pyoxidizer(): + return 'PYOXIDIZED_INSTALLED_AS_HG' in os.environ + + + @check( + "pyoxidizer-in-memory", + "running with pyoxidizer build as 'hg' with embedded resources", + ) +-def has_pyoxidizer(): ++def has_pyoxidizer_mem(): + return 'PYOXIDIZED_IN_MEMORY_RSRC' in os.environ + + + @check( + "pyoxidizer-in-filesystem", + "running with pyoxidizer build as 'hg' with external resources", + ) +-def has_pyoxidizer(): ++def has_pyoxidizer_fs(): + return 'PYOXIDIZED_FILESYSTEM_RSRC' in os.environ + + + @check("cvs", "cvs client/server") + def has_cvs(): + re = br'Concurrent Versions System.*?server' + return matchoutput('cvs --version 2>&1', re) and not has_msys() + +@@ -656,46 +656,32 @@ def has_pygments(): + import pygments + + pygments.highlight # silence unused import warning + return True + except ImportError: + return False + + +-@check("pygments25", "Pygments version >= 2.5") +-def pygments25(): ++def getpygmentsversion(): + try: + import pygments + + v = pygments.__version__ ++ ++ parts = v.split(".") ++ return (int(parts[0]), int(parts[1])) + except ImportError: +- return False +- +- parts = v.split(".") +- major = int(parts[0]) +- minor = int(parts[1]) +- +- return (major, minor) >= (2, 5) ++ return (0, 0) + + +-@check("pygments211", "Pygments version >= 2.11") +-def pygments211(): +- try: +- import pygments +- +- v = pygments.__version__ +- except ImportError: +- return False +- +- parts = v.split(".") +- major = int(parts[0]) +- minor = int(parts[1]) +- +- return (major, minor) >= (2, 11) ++@checkvers("pygments", "Pygments version >= %s", (2.5, 2.11, 2.14)) ++def has_pygments_range(v): ++ major, minor = v.split('.')[0:2] ++ return getpygmentsversion() >= (int(major), int(minor)) + + + @check("outer-repo", "outer repo") + def has_outer_repo(): + # failing for other reasons than 'no repo' imply that there is a repo + return not matchoutput('hg root 2>&1', br'abort: no repository found', True) + + +diff --git a/tests/test-branches.t b/tests/test-branches.t +--- a/tests/test-branches.t ++++ b/tests/test-branches.t +@@ -77,16 +77,21 @@ trailing or leading spaces should be str + (use 'hg update' to switch to it) + [10] + + $ hg branch ' b' + abort: a branch of the same name already exists + (use 'hg update' to switch to it) + [10] + ++underscores in numeric branch names (issue6737) ++ ++ $ hg branch 2700_210 ++ marked working directory as branch 2700_210 ++ + verify update will accept invalid legacy branch names + + $ hg init test-invalid-branch-name + $ cd test-invalid-branch-name + $ hg unbundle -u "$TESTDIR"/bundles/test-invalid-branch-name.hg + adding changesets + adding manifests + adding file changes +diff --git a/tests/test-check-shbang.t b/tests/test-check-shbang.t +--- a/tests/test-check-shbang.t ++++ b/tests/test-check-shbang.t +@@ -9,17 +9,18 @@ look for python scripts that do not use + [1] + + In tests, enforce $PYTHON and *not* /usr/bin/env python or similar: + $ testrepohg files 'set:grep(r"#!.*?python") and **/*.t' \ + > -X tests/test-check-execute.t \ + > -X tests/test-check-format.t \ + > -X tests/test-check-module-imports.t \ + > -X tests/test-check-pyflakes.t \ +- > -X tests/test-check-shbang.t ++ > -X tests/test-check-shbang.t \ ++ > -X tests/test-highlight.t + [1] + + The above exclusions are because they're looking for files that + contain Python but don't end in .py - please avoid adding more. + + look for shell scripts that do not use /bin/sh + + $ testrepohg files 'set:grep(r"^#!.*/bi{1}n/sh") and not grep(r"^#!/bi{1}n/sh")' +diff --git a/tests/test-chg.t b/tests/test-chg.t +--- a/tests/test-chg.t ++++ b/tests/test-chg.t +@@ -347,21 +347,20 @@ remove foo + $ hg debugexpandscheme bar://expanded + https://bar.example.org/expanded + + $ cd .. + + repository cache + ---------------- + +- $ rm log/server.log* + $ cp $HGRCPATH.unconfigured $HGRCPATH + $ cat <<'EOF' >> $HGRCPATH + > [cmdserver] +- > log = $TESTTMP/log/server.log ++ > log = $TESTTMP/log/server-cached.log + > max-repo-cache = 1 + > track-log = command, repocache + > EOF + + isolate socket directory for stable result: + + $ OLDCHGSOCKNAME=$CHGSOCKNAME + $ mkdir chgsock +@@ -415,19 +414,17 @@ read uncached repo: + shut down servers and restore environment: + + $ rm -R chgsock + $ sleep 2 + $ CHGSOCKNAME=$OLDCHGSOCKNAME + + check server log: + +- $ cat log/server.log | filterlog +- YYYY/MM/DD HH:MM:SS (PID)> worker process exited (pid=...) +- YYYY/MM/DD HH:MM:SS (PID)> worker process exited (pid=...) (?) ++ $ cat log/server-cached.log | filterlog + YYYY/MM/DD HH:MM:SS (PID)> init cached + YYYY/MM/DD HH:MM:SS (PID)> id -R cached + YYYY/MM/DD HH:MM:SS (PID)> loaded repo into cache: $TESTTMP/cached (in ...s) + YYYY/MM/DD HH:MM:SS (PID)> repo from cache: $TESTTMP/cached + YYYY/MM/DD HH:MM:SS (PID)> ci -R cached -Am 'add a' + YYYY/MM/DD HH:MM:SS (PID)> loaded repo into cache: $TESTTMP/cached (in ...s) + YYYY/MM/DD HH:MM:SS (PID)> repo from cache: $TESTTMP/cached + YYYY/MM/DD HH:MM:SS (PID)> log -R cached +diff --git a/tests/test-demandimport.py b/tests/test-demandimport.py +--- a/tests/test-demandimport.py ++++ b/tests/test-demandimport.py +@@ -4,16 +4,17 @@ demandimport.enable() + + import os + import subprocess + import sys + import types + + # Don't import pycompat because it has too many side-effects. + ispy3 = sys.version_info[0] >= 3 ++ispy311 = (sys.version_info.major, sys.version_info.minor) >= (3, 11) + + # Only run if demandimport is allowed + if subprocess.call( + [os.environ['PYTHON'], '%s/hghave' % os.environ['TESTDIR'], 'demandimport'] + ): + sys.exit(80) + + # We rely on assert, which gets optimized out. +@@ -76,18 +77,17 @@ else: + del os.environ['HGDEMANDIMPORT'] + demandimport.enable() + + # Test access to special attributes through demandmod proxy + assert 'mercurial.error' not in sys.modules + from mercurial import error as errorproxy + + if ispy3: +- # unsure why this isn't lazy. +- assert not isinstance(f, _LazyModule) ++ assert isinstance(errorproxy, _LazyModule) + assert f(errorproxy) == "", f(errorproxy) + else: + assert f(errorproxy) == "", f(errorproxy) + + doc = ' '.join(errorproxy.__doc__.split()[:3]) + assert doc == 'Mercurial exceptions. This', doc + assert errorproxy.__name__ == 'mercurial.error', errorproxy.__name__ + +@@ -101,22 +101,28 @@ if ispy3: + assert f(errorproxy) == "", f(errorproxy) + else: + assert f(errorproxy) == "", f(errorproxy) + + import os + + if ispy3: + assert not isinstance(os, _LazyModule) +- assert f(os) == "", f(os) ++ if ispy311: ++ assert f(os) == "", f(os) ++ else: ++ assert f(os) == "", f(os) + else: + assert f(os) == "", f(os) + + assert f(os.system) == '', f(os.system) +-assert f(os) == "", f(os) ++if ispy311: ++ assert f(os) == "", f(os) ++else: ++ assert f(os) == "", f(os) + + assert 'mercurial.utils.procutil' not in sys.modules + from mercurial.utils import procutil + + if ispy3: + assert isinstance(procutil, _LazyModule) + assert f(procutil) == "", f( + procutil +diff --git a/tests/test-extension.t b/tests/test-extension.t +--- a/tests/test-extension.t ++++ b/tests/test-extension.t +@@ -593,16 +593,17 @@ Make sure a broken uisetup doesn't globa + Even though the extension fails during uisetup, hg is still basically usable: + $ hg --config extensions.baduisetup=$TESTTMP/baduisetup.py version + Traceback (most recent call last): + File "*/mercurial/extensions.py", line *, in _runuisetup (glob) (no-pyoxidizer !) + File "mercurial.extensions", line *, in _runuisetup (glob) (pyoxidizer !) + uisetup(ui) + File "$TESTTMP/baduisetup.py", line 2, in uisetup + 1 / 0 ++ ~~^~~ (py311 !) + ZeroDivisionError: * by zero (glob) + *** failed to set up extension baduisetup: * by zero (glob) + Mercurial Distributed SCM (version *) (glob) + (see https://mercurial-scm.org for more information) + + Copyright (C) 2005-* Olivia Mackall and others (glob) + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +diff --git a/tests/test-fix.t b/tests/test-fix.t +--- a/tests/test-fix.t ++++ b/tests/test-fix.t +@@ -1148,16 +1148,17 @@ useful for anyone trying to set up a new + + $ hg init debugoutput + $ cd debugoutput + + $ printf "foo\nbar\nbaz\n" > foo.changed + $ hg commit -Aqm "foo" + $ printf "Foo\nbar\nBaz\n" > foo.changed + $ hg --debug fix --working-dir ++ fixing: f65cf3136d41+ - uppercase-changed-lines - foo.changed + subprocess: * $TESTTMP/uppercase.py 1-1 3-3 (glob) + + $ cd .. + + Fixing an obsolete revision can cause divergence, so we abort unless the user + configures to allow it. This is not yet smart enough to know whether there is a + successor, but even then it is not likely intentional or idiomatic to fix an + obsolete revision. +diff --git a/tests/test-highlight.t b/tests/test-highlight.t +--- a/tests/test-highlight.t ++++ b/tests/test-highlight.t +@@ -158,17 +158,18 @@ hgweb filerevision, html + + primes = 2 : sieve [3, 5..] + where sieve (p:ns) = p : sieve [n | n <- ns, mod n p /= 0] + """ + + import itertools + + def primes(): +- """Generate all primes.""" ++ """Generate all primes.""" (pygments214 !) ++ """Generate all primes.""" (no-pygments214 !) + def sieve(ns): + p = ns.next() + # It is important to yield *here* in order to stop the + # infinite recursion. + yield p + ns = itertools.ifilter(lambda n: n % p != 0, ns) + for n in sieve(ns): + yield n +@@ -484,17 +485,18 @@ hgweb fileannotate, html + a + +
test
+
parents:
+ diff + changeset + + +- 10 """Generate all primes.""" ++ 10 """Generate all primes.""" (pygments214 !) ++ 10 """Generate all primes.""" (no-pygments214 !) + + + + +
+
+ + 687f2d169546 +@@ -1003,17 +1005,17 @@ We attempt to highlight unknown files by + $ killdaemons.py + + $ cat > .hg/hgrc << EOF + > [web] + > highlightfiles = ** + > EOF + + $ cat > unknownfile << EOF +- > #!$PYTHON ++ > #!/this/helps/pygments/detect/python + > def foo(): + > pass + > EOF + + $ hg add unknownfile + $ hg commit -m unknown unknownfile + + $ hg serve -p $HGPORT -d -n test --pid-file=hg.pid +diff --git a/tests/test-lfs-serve-access.t b/tests/test-lfs-serve-access.t +--- a/tests/test-lfs-serve-access.t ++++ b/tests/test-lfs-serve-access.t +@@ -335,22 +335,24 @@ Test a checksum failure during the proce + $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 500 - (glob) + $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob) + $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 422 - (glob) + + $ grep -v ' File "' $TESTTMP/errors.log + $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.git/info/lfs/objects/batch': (glob) + $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob) + $LOCALIP - - [$ERRDATE$] HG error: verifies = store.verify(oid) (glob) ++ $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^ (glob) (py311 !) + $LOCALIP - - [$ERRDATE$] HG error: raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob) + $LOCALIP - - [$ERRDATE$] HG error: *Error: [Errno *] f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e: I/O error (glob) + $LOCALIP - - [$ERRDATE$] HG error: (glob) + $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.git/info/lfs/objects/batch': (glob) + $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob) + $LOCALIP - - [$ERRDATE$] HG error: verifies = store.verify(oid) (glob) ++ $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^ (glob) (py311 !) + $LOCALIP - - [$ERRDATE$] HG error: raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob) + $LOCALIP - - [$ERRDATE$] HG error: *Error: [Errno *] b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c: I/O error (glob) + $LOCALIP - - [$ERRDATE$] HG error: (glob) + $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.hg/lfs/objects/b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c': (glob) + $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob) + $LOCALIP - - [$ERRDATE$] HG error: localstore.download(oid, req.bodyfh, req.headers[b'Content-Length']) + $LOCALIP - - [$ERRDATE$] HG error: super(badstore, self).download(oid, src, contentlength) + $LOCALIP - - [$ERRDATE$] HG error: raise LfsCorruptionError( (glob) (py38 !) +@@ -358,29 +360,36 @@ Test a checksum failure during the proce + $LOCALIP - - [$ERRDATE$] HG error: hgext.lfs.blobstore.LfsCorruptionError: corrupt remote lfs object: b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c (py3 !) + $LOCALIP - - [$ERRDATE$] HG error: (glob) + $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d': (glob) + Traceback (most recent call last): + self.do_write() + self.do_hgweb() + for chunk in self.server.application(env, self._start_response): + for r in self._runwsgi(req, res, repo): ++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !) + handled = wireprotoserver.handlewsgirequest( (py38 !) ++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !) + return _processbasictransfer( (py38 !) ++ ^^^^^^^^^^^^^^^^^^^^^^ (py311 !) + rctx, req, res, self.check_perm (no-py38 !) + rctx.repo, req, res, lambda perm: checkperm(rctx, req, perm) (no-py38 !) + res.setbodybytes(localstore.read(oid)) ++ ^^^^^^^^^^^^^^^^^^^^ (py311 !) + blob = self._read(self.vfs, oid, verify) ++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !) + raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) + *Error: [Errno *] 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d: I/O error (glob) + + $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d': (glob) + $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob) + $LOCALIP - - [$ERRDATE$] HG error: res.setbodybytes(localstore.read(oid)) (glob) ++ $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^^^^ (glob) (py311 !) + $LOCALIP - - [$ERRDATE$] HG error: blob = self._read(self.vfs, oid, verify) (glob) ++ $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (glob) (py311 !) + $LOCALIP - - [$ERRDATE$] HG error: blobstore._verify(oid, b'dummy content') (glob) + $LOCALIP - - [$ERRDATE$] HG error: raise LfsCorruptionError( (glob) (py38 !) + $LOCALIP - - [$ERRDATE$] HG error: hint=_(b'run hg verify'), (glob) (no-py38 !) + $LOCALIP - - [$ERRDATE$] HG error: hgext.lfs.blobstore.LfsCorruptionError: detected corrupt lfs object: 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d (py3 !) + $LOCALIP - - [$ERRDATE$] HG error: (glob) + + Basic Authorization headers are returned by the Batch API, and sent back with + the GET/PUT request. +diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t +--- a/tests/test-narrow-clone.t ++++ b/tests/test-narrow-clone.t +@@ -23,16 +23,28 @@ Only path: and rootfilesin: pattern pref + (narrow patterns must begin with one of the following: path:, rootfilesin:) + [255] + + $ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --exclude 'set:ignored' + abort: invalid prefix on narrow pattern: set:ignored + (narrow patterns must begin with one of the following: path:, rootfilesin:) + [255] + ++rootfilesin: patterns work ++ ++ $ hg clone --narrow ssh://user@dummy/master rootfilesin --noupdate --include 'rootfilesin:dir' ++ requesting all changes ++ adding changesets ++ adding manifests ++ adding file changes ++ added 1 changesets with 0 changes to 0 files ++ new changesets 26ce255d5b5d ++ $ hg tracked -R rootfilesin ++ I rootfilesin:dir ++ + narrow clone a file, f10 + + $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10" + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 1 changes to 1 files +diff --git a/tests/test-remotefilelog-local.t b/tests/test-remotefilelog-local.t +--- a/tests/test-remotefilelog-local.t ++++ b/tests/test-remotefilelog-local.t +@@ -72,16 +72,21 @@ + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ clearcache + $ hg debugdirstate + n 644 2 * x (glob) + n 644 2 * y (glob) + n 644 2 * z (glob) + $ echo xxxx > x + $ echo yyyy > y ++# run status early to avoid a flaky second fetch during commit. ++ $ hg st ++ M x ++ M y ++ \d+ files fetched over \d+ fetches .* (re) (?) + $ hg commit -m x + created new head + 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over *s (glob) + + # restore state for future tests + + $ hg -q strip . + $ hg -q up tip +@@ -99,16 +104,19 @@ + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 0 changes to 0 files (+1 heads) + new changesets fed61014d323 + (run 'hg heads' to see heads, 'hg merge' to merge) + ++# run status early to avoid a flaky second fetch during commit ++ $ hg status ++ \d+ files fetched over \d+ fetches .* (re) (?) + $ hg rebase -d tip + rebasing 1:9abfe7bca547 "a" + saved backup bundle to $TESTTMP/shallow/.hg/strip-backup/9abfe7bca547-8b11e5ff-rebase.hg (glob) + 3 files fetched over 2 fetches - (3 misses, 0.00% hit ratio) over *s (glob) + + # strip + + $ clearcache +diff --git a/tests/test-requires.t b/tests/test-requires.t +--- a/tests/test-requires.t ++++ b/tests/test-requires.t +@@ -76,9 +76,19 @@ another repository of push/pull/clone on + $ hg clone supported clone-dst + abort: repository requires features unknown to this Mercurial: featuresetup-test + (see https://mercurial-scm.org/wiki/MissingRequirement for more information) + [255] + $ hg clone --pull supported clone-dst + abort: required features are not supported in the destination: featuresetup-test + [255] + ++Bundlerepo also enforces the underlying repo requirements ++ ++ $ hg --cwd supported bundle --all ../bundle.hg ++ 1 changesets found ++ $ echo outdoor-pool > push-dst/.hg/requires ++ $ hg --cwd push-dst log -R ../bundle.hg -T phases ++ abort: repository requires features unknown to this Mercurial: outdoor-pool ++ (see https://mercurial-scm.org/wiki/MissingRequirement for more information) ++ [255] ++ + $ cd .. +diff --git a/tests/test-revset.t b/tests/test-revset.t +--- a/tests/test-revset.t ++++ b/tests/test-revset.t +@@ -2976,26 +2976,26 @@ test sorting by multiple keys including + + random sort + + $ hg log --rev 'sort(all(), "random")' | wc -l + \s*8 (re) + $ hg log --rev 'sort(all(), "-random")' | wc -l + \s*8 (re) + $ hg log --rev 'sort(all(), "random", random.seed=celeste)' ++ 0 b12 m111 u112 111 10800 ++ 4 b111 m112 u111 110 14400 ++ 2 b111 m11 u12 111 3600 + 6 b111 t2 tu 130 0 ++ 1 b11 m12 u111 112 7200 + 7 b111 t3 tu 130 0 +- 4 b111 m112 u111 110 14400 +- 3 b112 m111 u11 120 0 + 5 b111 t1 tu 130 0 ++ 3 b112 m111 u11 120 0 ++ $ hg log --rev 'first(sort(all(), "random", random.seed=celeste))' + 0 b12 m111 u112 111 10800 +- 1 b11 m12 u111 112 7200 +- 2 b111 m11 u12 111 3600 +- $ hg log --rev 'first(sort(all(), "random", random.seed=celeste))' +- 6 b111 t2 tu 130 0 + + + topographical sorting can't be combined with other sort keys, and you can't + use the topo.firstbranch option when topo sort is not active: + + $ hg log -r 'sort(all(), "topo user")' + hg: parse error: topo sort order cannot be combined with other sort keys + [10] +diff --git a/tests/test-tag.t b/tests/test-tag.t +--- a/tests/test-tag.t ++++ b/tests/test-tag.t +@@ -407,16 +407,20 @@ tagging on null rev + $ hg tag -R empty nullrev + abort: cannot tag null revision + [10] + + $ hg tag -R empty -r 00000000000 -f nulltag + abort: cannot tag null revision + [10] + ++ $ hg tag -R empty -r "wdir()" -f wdirtag ++ abort: cannot tag working directory ++ [10] ++ + issue5539: pruned tags do not appear in .hgtags + + $ cat >> $HGRCPATH << EOF + > [experimental] + > evolution.exchange = True + > evolution.createmarkers=True + > EOF + $ hg up e4d483960b9b --quiet diff --git a/patches/openssl_3_cipher_tlsv1.patch b/patches/openssl_3_cipher_tlsv1.patch new file mode 100644 index 0000000..1c34cc7 --- /dev/null +++ b/patches/openssl_3_cipher_tlsv1.patch @@ -0,0 +1,87 @@ +Tweak cipher selection further to make tls < 1.2 work with openssl 3 + +Ref: https://bugs.debian.org/1011076 + +--- a/mercurial/sslutil.py ++++ b/mercurial/sslutil.py +@@ -117,17 +117,17 @@ def _hostsettings(ui, hostname): + ciphers = ui.config(b'hostsecurity', b'%s:ciphers' % bhostname, ciphers) + + # If --insecure is used, we allow the use of TLS 1.0 despite config options. + # We always print a "connection security to %s is disabled..." message when + # --insecure is used. So no need to print anything more here. + if ui.insecureconnections: + minimumprotocol = b'tls1.0' + if not ciphers: +- ciphers = b'DEFAULT' ++ ciphers = b'DEFAULT:@SECLEVEL=0' + + s[b'minimumprotocol'] = minimumprotocol + s[b'ciphers'] = ciphers + + # Look for fingerprints in [hostsecurity] section. Value is a list + # of : strings. + fingerprints = ui.configlist( + b'hostsecurity', b'%s:fingerprints' % bhostname +@@ -621,17 +621,17 @@ def wrapserversocket( + + # Improve forward secrecy. + sslcontext.options |= getattr(ssl, 'OP_SINGLE_DH_USE', 0) + sslcontext.options |= getattr(ssl, 'OP_SINGLE_ECDH_USE', 0) + + # In tests, allow insecure ciphers + # Otherwise, use the list of more secure ciphers if found in the ssl module. + if exactprotocol: +- sslcontext.set_ciphers('DEFAULT') ++ sslcontext.set_ciphers('DEFAULT:@SECLEVEL=0') + elif util.safehasattr(ssl, b'_RESTRICTED_SERVER_CIPHERS'): + sslcontext.options |= getattr(ssl, 'OP_CIPHER_SERVER_PREFERENCE', 0) + # pytype: disable=module-attr + sslcontext.set_ciphers(ssl._RESTRICTED_SERVER_CIPHERS) + # pytype: enable=module-attr + + if requireclientcert: + sslcontext.verify_mode = ssl.CERT_REQUIRED +--- a/tests/test-https.t ++++ b/tests/test-https.t +@@ -356,19 +356,19 @@ Start servers running supported TLS vers + $ cat ../hg1.pid >> $DAEMON_PIDS + $ hg serve -p $HGPORT2 -d --pid-file=../hg2.pid --certificate=$PRIV \ + > --config devel.serverexactprotocol=tls1.2 + $ cat ../hg2.pid >> $DAEMON_PIDS + $ cd .. + + Clients talking same TLS versions work + +- $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.0 --config hostsecurity.ciphers=DEFAULT id https://localhost:$HGPORT/ ++ $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.0 --config hostsecurity.ciphers=DEFAULT:@SECLEVEL=0 id https://localhost:$HGPORT/ + 5fed3813f7f5 +- $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.1 --config hostsecurity.ciphers=DEFAULT id https://localhost:$HGPORT1/ ++ $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.1 --config hostsecurity.ciphers=DEFAULT:@SECLEVEL=0 id https://localhost:$HGPORT1/ + 5fed3813f7f5 + $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.2 id https://localhost:$HGPORT2/ + 5fed3813f7f5 + + Clients requiring newer TLS version than what server supports fail + + $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ + (could not negotiate a common security protocol (tls1.1+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support) +@@ -400,17 +400,17 @@ Clients requiring newer TLS version than + + $ hg --config hostsecurity.minimumprotocol=tls1.2 id --insecure https://localhost:$HGPORT1/ + warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering + 5fed3813f7f5 + + The per-host config option overrides the default + + $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ \ +- > --config hostsecurity.ciphers=DEFAULT \ ++ > --config hostsecurity.ciphers=DEFAULT:@SECLEVEL=0 \ + > --config hostsecurity.minimumprotocol=tls1.2 \ + > --config hostsecurity.localhost:minimumprotocol=tls1.0 + 5fed3813f7f5 + + The per-host config option by itself works + + $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ \ + > --config hostsecurity.localhost:minimumprotocol=tls1.2 diff --git a/patches/proposed_upstream__doctest.path b/patches/proposed_upstream__doctest.path new file mode 100644 index 0000000..82e6a89 --- /dev/null +++ b/patches/proposed_upstream__doctest.path @@ -0,0 +1,55 @@ +# HG changeset patch +# User Julien Cristau +# Date 1589916203 -7200 +# Tue May 19 21:23:23 2020 +0200 +# Node ID de789b6b188b62cf38c5c5cfe760cff9a48c52f5 +# Parent 3b7aabd02e11fcfc015b3a90a0c52d971a7b8a83 +test: make test-doctest.py work when it's not run from a mercurial repo + +This assumption fails when building and running tests from a source +tarball, e.g. + +Differential Revision: https://phab.mercurial-scm.org/D8571 +--- + tests/test-doctest.py | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +--- a/tests/test-doctest.py ++++ b/tests/test-doctest.py +@@ -4,7 +4,6 @@ + import doctest + import os + import re +-import subprocess + import sys + + ispy3 = sys.version_info[0] >= 3 +@@ -68,16 +67,18 @@ testmod_arg_overrides = { + + fileset = 'set:(**.py)' + +-cwd = os.path.dirname(os.environ["TESTDIR"]) +- +-if not os.path.isdir(os.path.join(cwd, ".hg")): +- sys.exit(0) +- +-files = subprocess.check_output( +- "hg files --print0 \"%s\"" % fileset, +- shell=True, +- cwd=cwd, +-).split(b'\0') ++if ispy3: ++ cwd = os.path.dirname(os.environb[b"TESTDIR"]) ++else: ++ cwd = os.path.dirname(os.environ["TESTDIR"]) ++ ++files = [] ++for dirpath, dirnames, filenames in os.walk(cwd): ++ excludeddirindexes = reversed([i for i, dir in enumerate(dirnames) if dir == b'build' or dir.startswith(b'.')]) ++ for i in excludeddirindexes: ++ del dirnames[i] ++ # include all .py files, removing the cwd + dirsep prefix ++ files.extend(os.path.join(dirpath, f)[len(cwd) + 1:] for f in filenames if f.endswith(b'.py')) + + if sys.version_info[0] >= 3: + cwd = os.fsencode(cwd) diff --git a/patches/py310/9_tests__silence_asyncore_smtpd_deprecation_warnings.patch b/patches/py310/9_tests__silence_asyncore_smtpd_deprecation_warnings.patch new file mode 100644 index 0000000..d7ce819 --- /dev/null +++ b/patches/py310/9_tests__silence_asyncore_smtpd_deprecation_warnings.patch @@ -0,0 +1,36 @@ +# HG changeset patch +# User Julien Cristau +# Date 1649671433 -7200 +# Mon Apr 11 12:03:53 2022 +0200 +# Node ID d3df32e12246208fc8bb9507ff921099348c6783 +# Parent 5005928cac60a43d98d88523713983efdc204d50 +tests: silence asyncore/smtpd deprecation warnings + +--- a/tests/dummysmtpd.py ++++ b/tests/dummysmtpd.py +@@ -1,19 +1,23 @@ + #!/usr/bin/env python + + """dummy SMTP server for use in tests""" + + +-import asyncore + import optparse +-import smtpd + import ssl + import sys + import traceback ++import warnings ++ ++with warnings.catch_warnings(): ++ warnings.filterwarnings('ignore', 'The (asyncore|smtpd) module is deprecated', DeprecationWarning) ++ import asyncore ++ import smtpd + + from mercurial import ( + pycompat, + server, + sslutil, + ui as uimod, + ) + diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..00c3896 --- /dev/null +++ b/patches/series @@ -0,0 +1,10 @@ +from_upstream_stable.patch +py310/9_tests__silence_asyncore_smtpd_deprecation_warnings.patch +proposed_upstream__doctest.path +deb_specific__hgk.py.patch +deb_specific__optional-dependencies +deb_specific__disable_libdir_replacement.patch +0005-Tolerate-SIGINT-getting-the-kill-in-test-stdio.py.patch +openssl_3_cipher_tlsv1.patch +test-hghave-testrepo.patch +cgitb.patch diff --git a/patches/test-hghave-testrepo.patch b/patches/test-hghave-testrepo.patch new file mode 100644 index 0000000..17dfe15 --- /dev/null +++ b/patches/test-hghave-testrepo.patch @@ -0,0 +1,20 @@ +https://bz.mercurial-scm.org/show_bug.cgi?id=6762 + +diff --git a/tests/test-hghave.t b/tests/test-hghave.t +index d51fdcbf..a49caa42 100644 +--- a/tests/test-hghave.t ++++ b/tests/test-hghave.t +@@ -1,5 +1,3 @@ +- $ . "$TESTDIR/helpers-testrepo.sh" +- + Testing that hghave does not crash when checking features + + $ hghave --test-features 2>/dev/null +@@ -21,7 +19,6 @@ Testing hghave extensibility for third party tools + > foo + > EOF + $ ( \ +- > testrepohgenv; \ + > "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j 1 \ + > $HGTEST_RUN_TESTS_PURE test-hghaveaddon.t \ + > ) diff --git a/rules b/rules new file mode 100755 index 0000000..9cd39bb --- /dev/null +++ b/rules @@ -0,0 +1,101 @@ +#!/usr/bin/make -f +# -*- mode: makefile; coding: utf-8 -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +%: + dh $@ --with python3,bash-completion + +PYVERS=$(shell py3versions -vs) + +include /usr/share/dpkg/architecture.mk + +override_dh_python3: + dh_python3 --shebang=/usr/bin/python3 + +override_dh_auto_build: $(PYVERS:%=build-python%) + $(MAKE) build-chg + # Do not start a line with a word with a dot in a manpage + sed -i -e 's,^[.]\(hgignore\|hg/hgrc\),\\fP\1,' doc/hg.1 + +build-python%: + $(MAKE) all PYTHON=python$* + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NJOBS := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + PARALLEL_TEST_JOBS := --jobs $(NJOBS) +endif + +ARCH_IS_MIPS := $(if $(subst mips,,$(DEB_HOST_ARCH)),,T) +ARCH_IS_KFREEBSD-i386 := $(if $(subst kfreebsd-i386,,$(DEB_HOST_ARCH)),,T) +ARCH_IS_ARMEL := $(if $(subst armel,,$(DEB_HOST_ARCH)),,T) +ARCH_IS_SPARC := $(if $(subst sparc,,$(DEB_HOST_ARCH)),,T) + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) +# test-pull-pull-corruption tries to execute two hg commands at the +# same time to test for corruption. It does so by running an hg +# command in the background, sleeping one second and running the +# second command. In architectures with slow buildds, one second is +# not enough and the second test starts before the first one has +# started printing. This is hacky and we just enhance the hack by +# incrementing the sleep time in those architectures. +ifneq ($(or $(ARCH_IS_MIPS), $(ARCH_IS_KFREEBSD-i386), $(ARCH_IS_ARMEL), $(ARCH_IS_SPARC)),) + sed -i.deb-backup -e 's/sleep 1/sleep 2/' $(CURDIR)/tests/test-pull-pull-corruption.t +endif + + http_proxy='' dh_auto_test -- PYTHON=python3 TESTFLAGS="--verbose --timeout 1800 $(PARALLEL_TEST_JOBS) --blacklist $(CURDIR)/debian/mercurial.test_blacklist" + file-rename 's/\.deb-backup$$//' $(CURDIR)/tests/* + # run blacklisted tests but ignore their results + -cd tests && python3 run-tests.py --verbose `grep ^test ../debian/mercurial.test_blacklist` +endif + +override_dh_auto_install: $(PYVERS:%=install-python%) + $(MAKE) install-chg DESTDIR=$(CURDIR)/debian/tmp PREFIX=/usr PYTHON=python3 + # #961245: mercurial-git grabbed the hgext/git directory years + # ago, so don't install our experimental extension there for now + rm -rf debian/tmp/usr/lib/python*/*-packages/hgext/git + +install-python%: + dh_auto_install -- PREFIX=/usr PYTHON=python$* + +execute_after_dh_install: + if test -d $(CURDIR)/debian/mercurial ; then \ + $(MAKE) -f debian/rules install-archdep ; \ + fi + if test -d $(CURDIR)/debian/mercurial-common ; then \ + $(MAKE) -f debian/rules install-archindep ;\ + fi + +install-archdep: + # remove arch-independent python stuff + find debian/mercurial/usr/lib \ + ! -name '*.so' ! -type d -delete , \ + -type d -empty -delete + +install-archindep: + # remove arch-dependent python stuff + find debian/mercurial-common/usr/lib \ + -name '*.so' ! -type d -delete , \ + -type d -empty -delete + install -DTm 644 contrib/zsh_completion \ + debian/mercurial-common/usr/share/zsh/vendor-completions/_mercurial + install -DTm 644 tests/run-tests.py \ + debian/mercurial-common/usr/share/mercurial/tests/run-tests.py + +override_dh_python3-arch: + dh_python3 + find debian/mercurial/usr/share -type d -empty -delete ; \ + +override_dh_auto_clean: mercurial/__version__.py + cp -a mercurial/__version__.py mercurial/__version__.py.save + dh_auto_clean -- PYTHON=python3 + mv mercurial/__version__.py.save mercurial/__version__.py + $(RM) -rv tmp/ + +mercurial/__version__.py: + @echo "$@ is missing (you probably call 'make clean' directly)." + @echo "Restore it from sources before building the package" + @echo "Aborting." + exit 1 diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..d111a02 --- /dev/null +++ b/tests/control @@ -0,0 +1,27 @@ +Tests: testsuite +Depends: + @, + python3-packaging, + zip, + unzip, + netbase, + subversion, + python3-subversion, + cvs, + bzr, + tla, + git, + darcs, + gcc, + python3-dev, + less, + gettext, + pylint, + python3-pygments, + python3-docutils, + sqlite3, + clang-format, + python3-vcr, + python3-fuzzywuzzy, + python3-pygit2, +Restrictions: allow-stderr diff --git a/tests/hgsubversion b/tests/hgsubversion new file mode 100755 index 0000000..c520eca --- /dev/null +++ b/tests/hgsubversion @@ -0,0 +1,48 @@ +#!/bin/sh + +# This actually tests that hgsubversion is not broken and it really +# belongs in the hgsubversion package (it's there). I'm copying it +# here because that way I can test if a new version of mercurial +# breaks hgsubversion and update Breaks accordingly. There's probably +# a better way of doing this. + +set -e + +SVN_ROOT=$(mktemp --tmpdir -d hgsubversion.XXXXX) +mkdir -p $SVN_ROOT + +PID_FILE=/tmp/svnmock.pid + +# Create a local svn server with an empty repo +svnadmin create $SVN_ROOT/celesteville +cat > $SVN_ROOT/celesteville/conf/svnserve.conf << EOF +[general] +anon-access = write +EOF +svnserve -d --pid-file $PID_FILE -r $SVN_ROOT + +# Put some content in the repository +svn co svn://127.0.0.1/celesteville +cd celesteville +mkdir trunk tags branches +svn add trunk tags branches +svn commit -m "Initial commit" +echo Cornelius > trunk/people +svn add trunk/people +svn commit -m "Add people" +cd .. +rm -rf celesteville + +# Now test hgsubversion +hg --config extensions.hgsubversion= clone svn://127.0.0.1/celesteville +cd celesteville +echo Arthur >> people +hg commit -u "Babar " -m "Add more people" +hg --config extensions.hgsubversion= push +cd .. + +# Kill the server and cleanup +kill $(cat $PID_FILE) +rm -rf $SVN_ROOT + +rm -r celesteville diff --git a/tests/mercurial-git b/tests/mercurial-git new file mode 100755 index 0000000..2b404c0 --- /dev/null +++ b/tests/mercurial-git @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Basic test to see if the mercurial-git extension still works. + +set -e + +# Setup a git repository with some content +git init --bare git_server +git clone git_server git_clone 2>&1 +cd git_clone +git config user.name Babar +git config user.email babar@jungle.org +echo a >a +git add a +git commit -m a +git push origin master 2>&1 +cd .. + +# Now try to clone it with mercurial-git +hg --config extensions.git= clone git_server hg_clone + +# Do some changes and push them to the git server +cd hg_clone +echo b >>a +hg commit -u "Babar " -m "more content to a" +exec hg --config extensions.git= push diff --git a/tests/testsuite b/tests/testsuite new file mode 100755 index 0000000..48f4c0f --- /dev/null +++ b/tests/testsuite @@ -0,0 +1,5 @@ +#!/bin/sh + +set -ex + +exec make tests TESTFLAGS="--verbose --timeout 1800 --with-hg=/usr/bin/hg --blacklist=$(pwd)/debian/mercurial.test_blacklist" PYTHON=python3 diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc new file mode 100644 index 0000000..a0b9a28 --- /dev/null +++ b/upstream/signing-key.asc @@ -0,0 +1,572 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +yrWppKRpUcx2Zb9PbwZPNLn5sjbYlQ== +=NmUV +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFH/ChIBEADEajjD1+fw19RfXYGwuez6W3PL7w1NQ6AsDVyd0rqTwIGv30Z7 +sO3jt4I6C39/ZcNWyI4sJOvr0RGp6NaKV+BuL4I1R/cvVpC6eV1swC3iYca1DWIZ +pyHgjZt4EylXWCAljAZB85UMELKbklghYO4wMlwzwHmpFM0OasG+amFdpjvZWPWw +I6ofi39exrb43+UhDJ070wlvSdrZ7hNUpCjHcEbkdoI8X1SuCB9TmYEcNzxI8pr/ +/pAaRUnNwGNeDAnHC5cOWulbOSz7se4EiHtRGATXg83rQucH7XgPJO7tvSWhVXHW +ZgOWVblR/5q1q8IKfD+R8ljIcHn04lO0su54D8e+4D0CgVb4XWeF82vnLMYPqoOI +8BM/kYyI5S/Kd4FF2BYU0JqXC4WZJrSOvVbMCSWF64x7R3FMYvsu8kG9/e54mMoo +aV1DQeTTidVTBY1/f7XWBnsTCNsTtqfCPWL6cuqpD7gEg24wrT5lepSjmUub6bKd +xOYt0M1Ku2byOjDiihqqkBTSAT34n59e8i9abV0i4IB7IeKr6Hvy2gfd68uwg/13 +Cuo/tUhRn+3NUQs9BzEqE6Wo3oqGS/zxuND2Wk+WEyORvV4MjbIL7W6gSaRgomm7 +63TvkTKGBrx/Srv1LNZVcjQVug45LwjLlBlHNsRJHXlfSdy4SIqnfsoIrwARAQAB +tCBLZXZpbiBCdWxsb2NrIDxrYnVsbG9ja0B1bW4uZWR1PokCPgQTAQIAKAUCUf8M +zgIbAwUJCWYBgAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQR6Z/+qNGqs6i +Lg//Q7WLllLFHaMEzrHnYz6TcztZVOoaU1gDljzYlPnsME4GDyJ1Eh9EE9vTbgfn +FGHGMPIs4sgX/O86rV2vLif9x5y2zawi7drIYeffeDWKagWySdCV9aqJMLIUGKBH +/eUqqehntuNnK82TuzhWjNn3iGJ+mU77TS+uWcF0xGlILY2Yd1V79Y+97hgqDsPG +aBVN96Il/401GIHYWTfTd+Sl82Lcthtq2qNVaqMw9wfyFE4TABDt9wNqIeTRGrtP +h23vNckLuIxNCJbyExfKYBlQa9AesDTjxEzKGIoAD2xQnGawBtEpgN/d9PqVb9xx +IFNbBwWNGPg13TO3EssSPGwkUxE2Th0YzCA+3+bMahNhc5ZnJYU92LpnCdNo5nWs +g7JpxCU3Z21ws8YijRQC4WmZo1YCjPxrHXcR4ROqzMzLKr16AAOmqCucarzI1Z5Y +2GJjqoaCXlGUpvcWb5NamUidtPrUWvJEJkbDbxqTorTk9EedTjVvg9d0vipk9o39 +W2oprXBfjLwRwaTbT6nZa5U+wi8YnRnffCRUGvIBRAp9THeSlEQ8V6lEuJ7KbvSa +uxTNhTlC0jMwZo90QF1CsM84+pe6hhBB5MLVrdxHsTWE02lCSdr1qctg7722lS3t +nQG8QOumjw/FJ21e7g9TA9MZD4/fuiUEODwdV48n+mISnpO0JUtldmluIEJ1bGxv +Y2sgPGd1aXRhcmtAcmluZ3dvcmxkLm9yZz6JAj4EEwECACgFAlH/CqYCGwMFCQlm +AYAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEemf/qjRqrOB7kQAL4d1vrE +GT0M+x4IHbAueHyrhd5ovC5+NfBgVaOtJ9409msymdz7rfCRot6qSwECm0wDJDup +I5wqmOTi1t8JT2Hovu4tETBp9qjB6W/gCdXxwWP6wn2jwf4PcZDul4bRhzYBNRJx +VECs/i97Re+v4d10tow/v5lCbrgSYL+RcM07QwvmjB7sUait74w9E5Qc+3EL/sK3 +SIVlgfU49qjZEKBQhK57MDswLOWHFNfLx4swfOtUEmYnFcvNiVwmEwgBdfXhabX6 +UlcpYAJGHoPEw7KBtNJhHAD6UxYomsV+5CSB+VD8toaCuxsWkSiBpv4ud901m1YH +aaxCuwCjcQje4gwawMwgLVNYLO97txbetWlCmAAvQfbqGNCG+tMcJsdVaFT2e/3G +hMNWO7dKnL3qBmjz+T/o7OCDkolyk/Wdo2xC49KDaH4iamGA2TkGLZLCzUvX4pIg +7mHdw3RngxO3+7BKujgCdQofRRS2p2PNDQfNRz9N1dDWuspFIGUS0Gs0AS64IvKO +sGbhnff175eIey7LouW8JpphBVad6/FK76tXLkr5k6LZTSc/MbYomqxSyburcuyK +9FYxYbTWTwAUecnKLSRa2TZdXUTCJ4GSyghA2M95RL8pGTv8pkV5ZFltkU0863Cq +P4gCTnzzUdvGSp228lYTw1zkkes9LnWvOBGDtCZLZXZpbiBCdWxsb2NrIDxrYnVs +bG9ja0ByaW5nd29ybGQub3JnPokCQQQTAQIAKwIbAwUJCWYBgAYLCQgHAwIGFQgC +CQoLBBYCAwECHgECF4AFAlgr6RECGQEACgkQR6Z/+qNGqs7kLA//awiiFtFTsbfY +WcLMaeIHkMfSUxbxX4MI7AO0Gon17w/U0fkbEqIzQhpiKzP4w7fQ+CISNoNMnDMm +VcJ1DgZBA23vzcSn5NmZJGcHOp1FYTHuoMBxCAQ+i/n0l5cwbE4vnQQx830BnALd +mx3+trDWDDXzh2p27ccOqy6tnab64U121NGJGK/pcIer4GuSxVatiFy6QYE6Vd2m +71uwtqYKf3puSfqlybuFYz1I0A4o1p3pZUnkNRc2QqlHDdVFTtGdqkVCbtNkKYYF +HSdAPhqZkVWgK2IeaZHkHn4SHFXThUK0aj7MzmqqsxzW0ycFw357vzt67i7jMe9N +Z92Z8jCMJLN+IddcVYhwV2nRf8yR5RGrBETNeQPKC9OBBr8Hafxxhkcr+Haz9ZBh +wAYYsI2e539W7WppvawvUxcBnDlt26stPPw8xCIWyrPF3EX3fZ1XtovvQIOct4J7 ++gxU5VIpeWPujCJEqCs2MQjtqcwPZtCCpsiZvS+3X+g8Pg4XdOvhJSnYcXIJiyHA +QkYvCb0kQvgmW8sEczq26V+WyB++fbArIdYllHAmUYhldvkODJCLvEacThQoe+Ai +c28OC8Zkx+p3KL/G6BzTYqo2zVRtbG8cP90y0vvFWgcRmXAT6goMQayZ7yE4VhXI +9OXxw1RMqj13bpEGLFIH5ANB9w7XMJu0KUtldmluIEJ1bGxvY2sgPGtldmluQHNv +ZnR3YXJlZm9yZ29vZC5jb20+iQI+BBMBAgAoBQJR/wqWAhsDBQkJZgGABgsJCAcD +AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBHpn/6o0aqzvhxD/0Q+kcNXDCp0aSBuZPz +LGcNMQPbfeSOgkJCueWBF0hLrhd2vZKe+8DSZS+GlIIQClWl0bKD+/bfolnilBps +yVrQnCUtu9wgBNI9ZxtBm8uhCLg+E7QDL4VFiq9Dg0d2KOaP3QenrLVOgns8kR/B +jLPi9xGRZNNQe0KUGta42Rn27NYFX3Hl5Xy+df2N7klQtRnw6evwxY9rdpV6y1V2 +cBq90uR1/siDbiJ2rzdzJWteC07Fo0957jHmmNosUIi8jMnrycXyfoGfqH77FLYt +6vpxX2lVJOZlLgcqBcEqVF814E9FPWTegRY8doMV1MXjwAWOtGf2UJN69BVEySCU +xRIwA60TGGKZOy0HCOgF+/OskHZUTSUtMTRUPc9rIbUMOrv/InjThfvSHE6YBpgz +W0xmOSw68IUiK9ixtrP9VXNnDiwzFZk5DFxDDwQn6ZkH7yNBcnw55ttIgnyraMjS +c7zlE2yL2VEh6dwxMH01yzMe5u96SvB/heYRs0iM7e9ADq3hJqrLq+PwiVt3v932 +O9oIuO9vr761e8gK2mvYp4t/UjhdAStMNU4w93lDolj5fDHPXaYQaXhTgdaP49xv +7zya92TQ85vb9MLIDBfltRBGGdrN1SW60qYnd8+zYvSnHs+vLFNr496jmOYv5I0p +7hrKGWNdC/HRxniVSw0MKPInk7QwS2V2aW4gQnVsbG9jayA8a2J1bGxvY2srbWVy +Y3VyaWFsQHJpbmd3b3JsZC5vcmc+iQI+BBMBAgAoBQJR/wqFAhsDBQkJZgGABgsJ +CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBHpn/6o0aqzmCxEACha7nLAgbyt9UN +gqeX6sUyIU1Ms8uS4H9lng+ynYQ8bW4j8tiejbbwwleWw9GwaFYw1JmspU1Sa+pD +s/aj6YBZzHt+NW1t3DKEJ18JATs1Pi0ynmMINwCU1tN3bgCq9TQQaJ/OUV67xquD +ChgtItZ7D4hM/dBgTOsK48XXPOJA7+wzOXRL1DdweRNDOe2N7DqllKDInrPQLlMU +vRB1o7EUBFZDiDpvn39ioNWiF735nJS+XKzzjIAr5va2MX3VCx17Dm1yVkCGRr4x +burJJvWVkdyzDfihTdZUp7+suleA88ehGuZxNjhmLgyGyhIuxFNaQM4LWOdEFk5o +pnMccJ9SXOaET2wwoV0Wv+RMK6785hleTGoibd0xVQPGUZWB6HzPGs9jx4WCPaoc +pNcKBYqAxxsbi71ctaqIFf8kQdCNgW4W08N+yvLevP6AnLlHJHPkBlo3d6k0KODX +x4TM0vTFmpDE15hjQlV/APsC9BFdna9o/4tZ3o/mnCZrl9FAn+s24cApLfvn+Fu9 +P9j0qC0wfaoQYk4LBvOkp6r3adLfXmvjJ7d0hC7XjnvBYSqMJZfdM/g0tsZGwEZG +CIs3bb1Vc7BUwTLabUTrd4paE2R2n9w7QKctKMYhkhxhRtiI0RD4J6USxVpTUI3V +yn/Ll4nGt66JJXzsTv1ewCYzlpmPL7kCDQRR/woSARAArTfmbtQazuuqHyM4D6Vs +vLnCHt2MDare1L4hPqT33afJBTKJXtMwCGMhx4vq7snBPKovuMIv81ueDNMsgz3t +PE/bUKvcJkdJsu1wJkxpqNBG7E877T6kzQlFG3dDm269Ig1q11ujlzLyoJWYDeIG +nYoy9qmAw+PpG7BVut+RTW2zOFJ/6GQt3CyllF1b75H9UvyxRI+QxGfZtyHyYKhN +zUxc08dMZgCNHmHfdBTNxH1kpQMs/1GpHbCzjeV65fw1AzSRR1HeHAW0L+kqL5B3 +J8WViwAu0d6loUvQlhr/4w6cwDsuU5ftSe4Yi/mmwx0hXdfscBOOAFrItBoQ+bVQ +o87YdaJVAFnuXs1ll0s61BXes2mZsHlCUscNkzt0/v8tmuVcWRCKyVZHUuczXFmo +8ZwMcf/nsRBbpprxlUNrkx5r3O3z1HRcOF37jWDim9OlL675RodXoyU8ShVVTsBw +6Gp3YaVcIjxuzYXUJ72LTVETw0GYZvXw4pwKaU44nsL06BADbeg2wchoFiva43dh +aqXXDLjB0WMO7+3byAAZ3rHtJFy104lTNjZDC/GBJ2VuZOzkx1avL3DbSkwVDtTx +e7kDxZ11LgmDzoEVp079k25r1TcEcQJdmSiO9pHmsQ7k9rjzoHWEue2AZUzt2qoD +B4r94UgQaG9zztsiF0W3jNkAEQEAAYkCJQQYAQIADwUCUf8KEgIbDAUJCWYBgAAK +CRBHpn/6o0aqzl2kD/4vLg53w7EwI7AUUTkwvNIV4ju1uNwNYJeYTPqt77QzDWLS +zugzJboyzaxAC9wWV89d2UluMMa/991CvnfGBz6cldUuuzX+Pz/DMS9DdiN2M39P +IqkzciXGP5xglILP2hYexBRjiXmTXRWEoQhYzLvGJ4e6bswG0DUPJezSeUpcqeCb +5zGPYrHt5mGmQhfam0ppWlRYsCLEpBrQugf+rVVHOWBEbgspbSrJc3oY96H1Rw87 +ubKi5THfZKtn8CN7m1w8FDi3Pc592t3llnI2Dk1YUUiZc3N4pw+9EPCmG+ljrzww +a0UUH3Cp/H1ndGUPJ/2xfzQ3Wo1kvJMWAbMiiZQSVk+9COK69EwqWd4bnSLjwnl4 +bOZ6dV2TvE5j6N2wJKrZBjpHZ+6OaKMnl9Vd1g/DGCXvo5jP+WpLxsWFRncftG/h +Li4/qINXG3lh2zcx9j51rR+LTDERw4OkoTAtXkJLrW6IA0CLAusLB87eDlzqtbN4 +Nwst6ZWtz7PYqLHgqKNWl4gf/1oiLkmaFN/rxEEmBfCl9yPKKICe4sjBca8bxDXD +4xBYiaFocuOMo1nhH+xDIqgd5U2vZd33dXb5vcO2jZI/2mtg4bFcZMbSgZkTgVZb +wCiHshhkgf0lP6G1slV7uvMpUyMpJ4qTDsUxumc/wGh8RvP+87tLeysPNeI+Tg== +=qCxb +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +b881BjZOkRqzNNU= +=p7OT +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=rvjR +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=RKDP +-----END PGP PUBLIC KEY BLOCK----- diff --git a/watch b/watch new file mode 100644 index 0000000..aa016e8 --- /dev/null +++ b/watch @@ -0,0 +1,5 @@ +# format version number, currently 3; this line is compulsory! +version=3 + +opts="uversionmangle=s/-?rc/~rc/,pgpsigurlmangle=s/$/.asc/" \ + https://www.mercurial-scm.org/release/mercurial-(.*)\.tar\.gz -- 2.30.2