Wed, 12 Feb 2020 10:53:19 +0100 rust-nodemap: add binding to `nodemap_update_data`
Georges Racinet <georges.racinet@octobus.net> [Wed, 12 Feb 2020 10:53:19 +0100] rev 44510
rust-nodemap: add binding to `nodemap_update_data` Differential Revision: https://phab.mercurial-scm.org/D8160
Wed, 12 Feb 2020 10:52:30 +0100 rust-nodemap: add binding for `nodemap_data_incremental`
Georges Racinet <georges.racinet@octobus.net> [Wed, 12 Feb 2020 10:52:30 +0100] rev 44509
rust-nodemap: add binding for `nodemap_data_incremental` Differential Revision: https://phab.mercurial-scm.org/D8159
Wed, 12 Feb 2020 10:51:17 +0100 rust-nodemap: add binding for `nodemap_data_all`
Georges Racinet <georges.racinet@octobus.net> [Wed, 12 Feb 2020 10:51:17 +0100] rev 44508
rust-nodemap: add binding for `nodemap_data_all` Differential Revision: https://phab.mercurial-scm.org/D8158
Wed, 12 Feb 2020 10:33:55 +0100 rust-nodemap: use proper Index API instead of using the C API
Raphaël Gomès <rgomes@octobus.net> [Wed, 12 Feb 2020 10:33:55 +0100] rev 44507
rust-nodemap: use proper Index API instead of using the C API Differential Revision: https://phab.mercurial-scm.org/D8157
Tue, 11 Feb 2020 16:30:28 +0100 rust-nodemap: add utils for propagating errors
Georges Racinet <georges.racinet@octobus.net> [Tue, 11 Feb 2020 16:30:28 +0100] rev 44506
rust-nodemap: add utils for propagating errors This also updates the copyright notice Differential Revision: https://phab.mercurial-scm.org/D8156
Tue, 11 Feb 2020 16:25:45 +0100 rust-nodemap: add utils to create `Node`s from Python objects
Georges Racinet <georges.racinet@octobus.net> [Tue, 11 Feb 2020 16:25:45 +0100] rev 44505
rust-nodemap: add utils to create `Node`s from Python objects Differential Revision: https://phab.mercurial-scm.org/D8155
Tue, 11 Feb 2020 16:23:06 +0100 rust-index: add `append` method to cindex/Index
Georges Racinet <georges.racinet@octobus.net> [Tue, 11 Feb 2020 16:23:06 +0100] rev 44504
rust-index: add `append` method to cindex/Index This will be used by `MixedIndex` in a later patch. Differential Revision: https://phab.mercurial-scm.org/D8154
Mon, 13 Jan 2020 19:56:16 +0100 rust-index: moved constructor in separate impl block
Georges Racinet <georges.racinet@octobus.net> [Mon, 13 Jan 2020 19:56:16 +0100] rev 44503
rust-index: moved constructor in separate impl block with the upcoming addition of the nodemap logic, it's going to become more complicated. Being in the separate impl block has the advantage to be subject to rustfmt, whereas code inside macro calls isn't. Differential Revision: https://phab.mercurial-scm.org/D8153
Mon, 13 Jan 2020 19:31:33 +0100 revlog: using two new functions in C capsule from Rust code
Georges Racinet <georges.racinet@octobus.net> [Mon, 13 Jan 2020 19:31:33 +0100] rev 44502
revlog: using two new functions in C capsule from Rust code We expose `index_length` and `index_node` in the C capsule, so that the Rust representation of the C index can implement the `RevlogIndex` trait. Because our `Node` is actually a one-field struct, we have to decorate it for direct FFI exchange with the C `char*` It would be a good thing to get a length from the C layer, but doing so right now would probably interfere with the upcoming changes that will happen there for the hash length. Differential Revision: https://phab.mercurial-scm.org/D8152
Tue, 18 Feb 2020 19:11:14 +0100 nodemap: refresh the persistent data on nodemap creation
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Feb 2020 19:11:14 +0100] rev 44501
nodemap: refresh the persistent data on nodemap creation The logic to read the data and validate the docket are still in python, so we need to "help" whatever compiled code live in the index to refresh it. Otherwise clearing the cache could lead to an expensive full recomputation and disk update even when the persisted data are still valid. Differential Revision: https://phab.mercurial-scm.org/D8174
Thu, 12 Mar 2020 15:23:47 +0100 cext-index: propagate inline_scan error in `index_deref` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 12 Mar 2020 15:23:47 +0100] rev 44500
cext-index: propagate inline_scan error in `index_deref` Before this change, revlog index corruption could be silently ignored in some situation. Differential Revision: https://phab.mercurial-scm.org/D8276
Thu, 12 Mar 2020 18:53:37 +0100 heptapod-ci: fix test paths in the listing file stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 12 Mar 2020 18:53:37 +0100] rev 44499
heptapod-ci: fix test paths in the listing file Now what we run the test from the root, we need to list test name from the root. Differential Revision: https://phab.mercurial-scm.org/D8275
Wed, 11 Mar 2020 05:41:02 +0100 tests: check availability of pyflakes by trying to import pyflakes module
Manuel Jacob <me@manueljacob.de> [Wed, 11 Mar 2020 05:41:02 +0100] rev 44498
tests: check availability of pyflakes by trying to import pyflakes module Since e397c6d74652, we use the pyflakes module instead of the pyflakes executable. As was pointed out during the review, the hghave check can be rewritten to try to import the pyflakes module instead of spawning a new subprocess.
Thu, 27 Feb 2020 22:34:45 +0100 nodemap: deal with the "debugupdatecache" case using a "fake" transaction
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 27 Feb 2020 22:34:45 +0100] rev 44497
nodemap: deal with the "debugupdatecache" case using a "fake" transaction We are going to need more and more methods of the transaction. So lets change approach. The `hg debugupdatecache` case do not need a transaction, because has the repositories locked, but is not adding any "store" data to it. Differential Revision: https://phab.mercurial-scm.org/D8186
Fri, 28 Feb 2020 01:45:03 +0100 changelog: change the implementation of `_divertopener`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Feb 2020 01:45:03 +0100] rev 44496
changelog: change the implementation of `_divertopener` During a transaction, new data to the changelog index are "diverted". The previous implementat ways pretty basic, we need something better to be able to use the changelog vfs fully during transaction. (eg: accessing the vfs options). Differential Revision: https://phab.mercurial-scm.org/D8185
Thu, 27 Feb 2020 17:08:59 +0100 nodemap: test that an outdated nodemap can catch up
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 27 Feb 2020 17:08:59 +0100] rev 44495
nodemap: test that an outdated nodemap can catch up If the persistent nodemap does not contains all revision that the index contains, this is should be detected and dealt with. We add a test for this case. Differential Revision: https://phab.mercurial-scm.org/D8183
Thu, 27 Feb 2020 16:09:17 +0100 nodemap: document the docket attributes
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 27 Feb 2020 16:09:17 +0100] rev 44494
nodemap: document the docket attributes More documentation rarely hurts. Differential Revision: https://phab.mercurial-scm.org/D8182
Tue, 10 Mar 2020 13:10:53 -0400 git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com> [Tue, 10 Mar 2020 13:10:53 -0400] rev 44493
git: key off `git` in .hg/requires rather than separate file Differential Revision: https://phab.mercurial-scm.org/D8265
Tue, 10 Mar 2020 13:10:45 -0400 git: correctly handle p1() on dirstate when underlying git repo is empty
Augie Fackler <raf@durin42.com> [Tue, 10 Mar 2020 13:10:45 -0400] rev 44492
git: correctly handle p1() on dirstate when underlying git repo is empty This shows up in my next change, which ends up making an empty git repo and then running hg. Differential Revision: https://phab.mercurial-scm.org/D8271
Tue, 10 Mar 2020 14:24:08 +0100 rust: clean remains of direct-ffi code
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 14:24:08 +0100] rev 44491
rust: clean remains of direct-ffi code Since b55bec1ea972, the cext entry poitn have been removed, so we drop the code for consistency.
Fri, 06 Mar 2020 17:02:50 +0100 heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 17:02:50 +0100] rev 44490
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
Fri, 06 Mar 2020 11:16:15 +0100 run-tests: add option for running with and without Rust extensions
Raphaël Gomès <rgomes@octobus.net> [Fri, 06 Mar 2020 11:16:15 +0100] rev 44489
run-tests: add option for running with and without Rust extensions This provide a simple and clear way to run the test with or without rust.
Fri, 06 Mar 2020 16:24:50 +0100 run-tests: rename "pure" variable to setup_opts
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 16:24:50 +0100] rev 44488
run-tests: rename "pure" variable to setup_opts There are more useful flag than just `--pure`. We clarify the variable name before adding more options.
Fri, 06 Mar 2020 16:06:30 +0100 setup-rust: add a --no-rust flag
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 16:06:30 +0100] rev 44487
setup-rust: add a --no-rust flag This new flag will make sure the rust extension will not be build. If neither `--rust` nor `--no-rust` is specified the `HGWITHRUSTEXT` is used.
Mon, 09 Mar 2020 17:26:30 +0100 cext: drop the WITH_RUST block
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Mar 2020 17:26:30 +0100] rev 44486
cext: drop the WITH_RUST block These were used by the `direct-ffi` mode that just got dropped.
Mon, 09 Mar 2020 17:16:44 +0100 setup: use printf instead of print
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Mar 2020 17:16:44 +0100] rev 44485
setup: use printf instead of print Yuya Nishihara pointed `printf` to me, so I will respect the cargo cult.
Mon, 09 Mar 2020 11:18:33 -0700 git: don't fail import when pygit2 is not install
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Mar 2020 11:18:33 -0700] rev 44484
git: don't fail import when pygit2 is not install `test-duplicateoptions.py` was failing on py2 for be because I didn't have pygit2 installed. It failed because we depend on pygit2 at import time. This patch makes it so we successfully load the git extension even if pygit2 doesn't exist -- we just won't be able to use it in that case. Differential Revision: https://phab.mercurial-scm.org/D8268
Mon, 09 Mar 2020 12:53:21 -0700 hghave: add a check for pygit2
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Mar 2020 12:53:21 -0700] rev 44483
hghave: add a check for pygit2 This will make it easy to use availability of pygit2 as in conditions such as `#if pygit2` and `(pygit2 !)`. It also makes it a little clearer why the test case skipped (when that happens). Differential Revision: https://phab.mercurial-scm.org/D8267
Sat, 07 Mar 2020 18:00:53 -0500 localrepo: add git extension to autoextensions list
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 18:00:53 -0500] rev 44482
localrepo: add git extension to autoextensions list Differential Revision: https://phab.mercurial-scm.org/D8266
Sat, 07 Mar 2020 17:44:55 -0500 gitlog: implement __iter__ on changelog
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 17:44:55 -0500] rev 44481
gitlog: implement __iter__ on changelog This allows `hg phase --force --draft -r .` to work, for example. Differential Revision: https://phab.mercurial-scm.org/D8264
Sat, 07 Mar 2020 17:42:40 -0500 gitlog: fix embarassing bug that prevented log from showing correct parents
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 17:42:40 -0500] rev 44480
gitlog: fix embarassing bug that prevented log from showing correct parents We had the correct parents in the database, but the changelog was always returning p1 for all parents. Oops. Differential Revision: https://phab.mercurial-scm.org/D8263
Sat, 07 Mar 2020 16:51:21 -0500 git: add readfast() method to manifest
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 16:51:21 -0500] rev 44479
git: add readfast() method to manifest Mysteriously, on a different system a handful of things don't work without this, including log. This is especially odd to be because log works in the test. In any event, it's legal for readfast() to just return read(), so that's what we do. Differential Revision: https://phab.mercurial-scm.org/D8262
Fri, 06 Mar 2020 14:14:05 -0800 git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Mar 2020 14:14:05 -0800] rev 44478
git: make {shortest()} return shortest *unique* prefix It used to return the prefix of the specified length as long as the full node was unique (i.e. always). Differential Revision: https://phab.mercurial-scm.org/D8256
Tue, 11 Feb 2020 00:44:59 -0500 git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com> [Tue, 11 Feb 2020 00:44:59 -0500] rev 44477
git: skeleton of a new extension to _directly_ operate on git repos This is based in part of work I did years ago in hgit, but it's mostly new code since I'm using pygit2 instead of dulwich and the hg storage interfaces have improved. Some cleanup of old hgit code by Pulkit, which I greatly appreciate. test-git-interop.t does not cover a whole lot of cases, but it passes. It includes status, diff, making a new commit, and `hg annotate` working on the git repository. This is _not_ (yet) production quality code: this is an experiment. Known technical debt lurking in this implementation: * Writing bookmarks just totally ignores transactions. * The way progress is threaded down into the gitstore is awful. * Ideally we'd find a way to incrementally reindex DAGs. I'm not sure how to do that efficiently, so we might need a "known only fast-forwards" mode on the DAG indexer for use on `hg commit` and friends. * We don't even _try_ to do anything reasonable for `hg pull` or `hg push`. * Mercurial need an interface for the changelog type. Tests currently require git 2.24 as far as I'm aware: `git status` has some changed output that I didn't try and handle in a compatible way. This patch has produced some interesting cleanups, most recently on the manifest type. I expect continuing down this road will produce other meritorious cleanups throughout our code. Differential Revision: https://phab.mercurial-scm.org/D6734
Fri, 06 Mar 2020 10:38:37 +0100 hg-core: add a compilation error if trying to compile outside of Linux stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 06 Mar 2020 10:38:37 +0100] rev 44476
hg-core: add a compilation error if trying to compile outside of Linux For now, we can only provide support for Linux in `hg-core`, so we have to be explicit about it in case anyone wonders why their Dirstate is suddenly broken, or why the crate does not compile (on Windows for example). Differential Revision: https://phab.mercurial-scm.org/D8246
Tue, 10 Mar 2020 18:54:44 +0100 gzip: use the stdlib version with python 3 (issue6284) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 18:54:44 +0100] rev 44475
gzip: use the stdlib version with python 3 (issue6284) It turned out that the stdlib gained the feature we missed in python 3.1. We can now use it directly.
Tue, 10 Mar 2020 18:53:19 +0100 gzip: indent the custom Gzip code stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 18:53:19 +0100] rev 44474
gzip: indent the custom Gzip code We need a new conditional in the next changesets (Adding 3.8 support). We do the large code move beforehand for clarity.
Tue, 10 Mar 2020 18:57:49 +0100 gzip: rename the argument to `mtime` to match upstream python stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 18:57:49 +0100] rev 44473
gzip: rename the argument to `mtime` to match upstream python Python gained the feature we missed in 3.1. The argument name is `mtime`. We align our version for consistency.
Tue, 10 Mar 2020 16:49:38 +0100 heptapod-ci: run the test from outside the test directory stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 16:49:38 +0100] rev 44472
heptapod-ci: run the test from outside the test directory This will help detecting case where this is broken.
Tue, 10 Mar 2020 16:47:02 +0100 run-tests: fix conditional when tests are run outside of `tests` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Mar 2020 16:47:02 +0100] rev 44471
run-tests: fix conditional when tests are run outside of `tests` The logic to find `hghave` was using `__file__` but… non absolute path in `__file__` gets wrong as soon as we change directory (thanks python… you are being helpful). The rest of the `run-tests.py` code already deal with this fine. We simply reuse the `RUNTESTDIR` variable to fix it.
Mon, 09 Mar 2020 10:18:40 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Mar 2020 10:18:40 -0700] rev 44470
merge with stable
Mon, 09 Mar 2020 05:19:02 +0100 tests: use native string type for parsed hghave log lines
Manuel Jacob <me@manueljacob.de> [Mon, 09 Mar 2020 05:19:02 +0100] rev 44469
tests: use native string type for parsed hghave log lines Before this change, on Python 2, the parsed messages were decoded to unicode, causing an implicit conversion from unicode to str later.
Fri, 06 Mar 2020 10:27:38 +0100 tests: avoid implicit bytes -> unicode -> bytes roundtrip on Python 2
Manuel Jacob <me@manueljacob.de> [Fri, 06 Mar 2020 10:27:38 +0100] rev 44468
tests: avoid implicit bytes -> unicode -> bytes roundtrip on Python 2 Before the change, there were two implicit conversions: * The format string was converted to unicode because the substituted values were unicode. * When printing the message in log(), the string was converted from unicode to str.
Sun, 08 Mar 2020 16:40:39 +0100 cext: make HgRevlogIndex_GetParents private again
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Mar 2020 16:40:39 +0100] rev 44467
cext: make HgRevlogIndex_GetParents private again The rust's direct-ffi code need to access this function. Now that it `direct-ffi` is no more. We can make this function `static` again. This change was suggested by `Yuya Nishihara`.
Fri, 06 Mar 2020 16:49:46 +0100 setup-rust: remove the legacy 'direct-ffi' variant
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 16:49:46 +0100] rev 44466
setup-rust: remove the legacy 'direct-ffi' variant This variant have been abandoned for a while. Keeping it around just get people confused.
Tue, 18 Feb 2020 18:32:31 +0100 hghave: add a `rust` keyword to detect the use of compiled rust code
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Feb 2020 18:32:31 +0100] rev 44465
hghave: add a `rust` keyword to detect the use of compiled rust code The content of some on disk cache can varies when using rust (because it is faster to do so in the rust variant). So we need to be able to detect this case for some test. Differential Revision: https://phab.mercurial-scm.org/D8162
Fri, 28 Feb 2020 14:34:37 +0100 nodemap: check that a simple lookup works fine
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Feb 2020 14:34:37 +0100] rev 44464
nodemap: check that a simple lookup works fine I realised the code was not exercised much. Differential Revision: https://phab.mercurial-scm.org/D8180
Fri, 06 Mar 2020 12:44:51 +0100 debuginstall: print if Rust extensions are installed
Raphaël Gomès <rgomes@octobus.net> [Fri, 06 Mar 2020 12:44:51 +0100] rev 44463
debuginstall: print if Rust extensions are installed This should make it easier to use the Rust extensions. Another patch on will be exposing a version and more useful information, but it can only be done on top of this very patch, since it is targeting the stable branch and the API has already changed on the default branch. Differential Revision: https://phab.mercurial-scm.org/D8248
Fri, 06 Mar 2020 13:54:35 -0500 nodemap: fix missing r-prefix on regular expression
Augie Fackler <augie@google.com> [Fri, 06 Mar 2020 13:54:35 -0500] rev 44462
nodemap: fix missing r-prefix on regular expression Looking at this regular expression, it's pretty obvious from reading it that it wanted to match literal ., but since the r was missing on the pattern it was matching any character. I guess we're just lucky nothing bad happened as a result. This was automatically fixed by pyupgrade, but I split it out into its own change because it seemed important. Differential Revision: https://phab.mercurial-scm.org/D8254
Fri, 06 Mar 2020 23:04:58 +0100 tests: use pyflakes module instead of pyflakes executable
Manuel Jacob <me@manueljacob.de> [Fri, 06 Mar 2020 23:04:58 +0100] rev 44461
tests: use pyflakes module instead of pyflakes executable This results in that the pyflakes version specific to the configured Python version is used. This way, both the Python 2-specific and the Python 3-specific pyflakes are run by the test suite (depending on the configured Python version). For downstream projects which are using Mercurial’s test infrastructure and are not yet ported to Python 3 (e.g. hg-git) it ensures that the correct pyflakes version is run even when the system’s default pyflakes is the Python 3-specific one.
Tue, 03 Mar 2020 15:56:00 +0100 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Mar 2020 15:56:00 +0100] rev 44460
copies-tests: add a case where with merge with an overwritten files This is similar to the BF/FB case, but in this case, the other branch updated the file. So an actual merge happens and the two "independant" file history has to be merged. Differential Revision: https://phab.mercurial-scm.org/D8242
Tue, 03 Mar 2020 15:46:28 +0100 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Mar 2020 15:46:28 +0100] rev 44459
copies-tests: add a case where a file is deleted/added but with a merge This is a case similar to DB/BD, but in this case the other branch updated the file. So an actual merge happens and the two "independant" file history has to be merged. Differential Revision: https://phab.mercurial-scm.org/D8241
Tue, 03 Mar 2020 12:35:24 +0100 copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Mar 2020 12:35:24 +0100] rev 44458
copies-tests: add a test with a rename overwriting another file This is a variation of the "BD" case, but this time, the file is not "new", it is overwritten by another file being renamed. Differential Revision: https://phab.mercurial-scm.org/D8240
Sat, 29 Feb 2020 19:50:05 +0100 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 29 Feb 2020 19:50:05 +0100] rev 44457
copies-tests: add a `h` to the root commit (for chain merge tests) This will be useful for incoming new test cases. We need a new file to rename around. Differential Revision: https://phab.mercurial-scm.org/D8239
Sat, 07 Mar 2020 00:03:41 +0100 copies-tests: remove the final summary
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Mar 2020 00:03:41 +0100] rev 44456
copies-tests: remove the final summary The more we add tests, the less useful it is. So after discussion with Martin, we decided to drop it. Differential Revision: https://phab.mercurial-scm.org/D8257
Tue, 03 Mar 2020 13:18:31 +0100 copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Mar 2020 13:18:31 +0100] rev 44455
copies-tests: clarify the description of the EA/AE cases The previous description of the merge was just wrong. (It seems the result a non-updated copy-paste) Differential Revision: https://phab.mercurial-scm.org/D8238
Tue, 03 Mar 2020 09:27:31 +0100 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Mar 2020 09:27:31 +0100] rev 44454
copies-tests: update the analysis of the BD/DB cases After thinking more about it, the current change in output between the two merges is not due to an ambiguity, it is introduce by a bug in merge/commit that record a wrong file history. Fixing the bug should fix the output. In the meantime, we have a wrong behavior. In practice the bug is not in the merge code (who does the right things), but in the commit code (who get confused when recording the new file revision). Differential Revision: https://phab.mercurial-scm.org/D8237
Fri, 06 Mar 2020 11:02:02 +0100 copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 11:02:02 +0100] rev 44453
copies-tests: swap two branch description They were swapped and now match their intended block. Differential Revision: https://phab.mercurial-scm.org/D8247
Fri, 06 Mar 2020 13:27:41 -0500 cleanup: run pyupgrade on our source tree to clean up varying things
Augie Fackler <augie@google.com> [Fri, 06 Mar 2020 13:27:41 -0500] rev 44452
cleanup: run pyupgrade on our source tree to clean up varying things Built with: hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**' | xargs pyupgrade --keep-percent-format --keep-extraneous-parens and then blackened. pyupgrade comes from https://github.com/asottile/pyupgrade with a patch to let me preserve extraneous parens (which we use for marking strings that shouldn't be translated), and lets us clean up a bunch of idioms that have cruftily accumulated over the years. # skip-blame no-op automated code cleanups Differential Revision: https://phab.mercurial-scm.org/D8255
Mon, 09 Mar 2020 01:11:59 +0100 tests: fix isinstance test of wrong variable stable
Manuel Jacob <me@manueljacob.de> [Mon, 09 Mar 2020 01:11:59 +0100] rev 44451
tests: fix isinstance test of wrong variable 3086a8627b2970cd7fbf49bc69413c08c68d5514 changed self._case to be a list, but it was forgotten to adjust this line.
Fri, 06 Mar 2020 23:27:28 +0100 discovery: avoid wrong detection of multiple branch heads (issue6256) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Mar 2020 23:27:28 +0100] rev 44450
discovery: avoid wrong detection of multiple branch heads (issue6256) This fix the code using obsolescence markers to remove "to be obsoleted" heads during the detection of new head creation from push. The code turned out to not use the branch information at all. This lead changeset from different branch to be detected as new head on unrelated branch. The code fix is actually quite simple. New tests have been added to covers these cases. Differential Revision: https://phab.mercurial-scm.org/D8259
Fri, 06 Mar 2020 10:52:44 +0100 tests: avoid implicit conversion of str to unicode
Manuel Jacob <me@manueljacob.de> [Fri, 06 Mar 2020 10:52:44 +0100] rev 44449
tests: avoid implicit conversion of str to unicode On Python 2, str.encode('utf-8') implicitly converts the string to unicode and then back to str. Using _sys2bytes() ensures that opt is only encoded on Python 3, where opt is unicode. Although contrived, before this change, a UnicodeDecodeError could be triggered on Python 2 when passing non-ascii values to --extra-config-opt.
Fri, 06 Mar 2020 09:50:57 +0100 tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str()
Manuel Jacob <me@manueljacob.de> [Fri, 06 Mar 2020 09:50:57 +0100] rev 44448
tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str() The names were not general enough because e.g. _strpath() was used for converting IP addresses.
Thu, 05 Mar 2020 18:19:21 +0100 tests: avoid implicit conversion of str to unicode
Manuel Jacob <me@manueljacob.de> [Thu, 05 Mar 2020 18:19:21 +0100] rev 44447
tests: avoid implicit conversion of str to unicode On Python 2, str.encode('ascii') implicitly converts the string to unicode and then back to str. Since the converted value is a path, _bytespath can be used instead.
(0) -30000 -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 tip