Sun, 25 Aug 2019 09:00:26 -0700 python-zstandard: apply big-endian fix (issue6188) stable 5.1.1
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 25 Aug 2019 09:00:26 -0700] rev 42812
python-zstandard: apply big-endian fix (issue6188) This is a port of commit d4baf1f95b811f40773f5df0d8780fb2111ba6f5 from the upstream project to fix python-zstandard on 64-bit big-endian.
Sat, 17 Aug 2019 01:49:28 +0530 exchange: abort on pushing bookmarks pointing to secret changesets (issue6159) stable
Navaneeth Suresh <navaneeths1998@gmail.com> [Sat, 17 Aug 2019 01:49:28 +0530] rev 42811
exchange: abort on pushing bookmarks pointing to secret changesets (issue6159) Until now, if there is a bookmark points to a changeset which is in secret phase, hg will push the bookmark, but not the changeset referenced by that bookmark. This leaves the server bookmarks in a bad state, because that bookmark now points to a revision that does not exist on the server. This patch makes hg to abort on such cases. Differential Revision: https://phab.mercurial-scm.org/D6731
Sun, 18 Aug 2019 02:47:32 +0530 tests: add test to demonstrate issue6159 stable
Navaneeth Suresh <navaneeths1998@gmail.com> [Sun, 18 Aug 2019 02:47:32 +0530] rev 42810
tests: add test to demonstrate issue6159 Differential Revision: https://phab.mercurial-scm.org/D6740
Sun, 25 Aug 2019 19:46:24 +0700 packaging: add Bullseye, remove Jessie stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 25 Aug 2019 19:46:24 +0700] rev 42809
packaging: add Bullseye, remove Jessie Jessie is oldoldstable now, and Bullseye is going to be the next stable (now testing). We're continuing to support the current oldstable, stable and testing releases. Differential Revision: https://phab.mercurial-scm.org/D6762
Sun, 25 Aug 2019 19:38:09 +0700 packaging: add Cosmic and Disco, remove Trusty and Artful stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 25 Aug 2019 19:38:09 +0700] rev 42808
packaging: add Cosmic and Disco, remove Trusty and Artful - Trusty was publicly supported until 2019-04-30 - Artful was publicly supported until 2018-07-19 - Cosmic was publicly supported until 2019-07-18 - Disco will be publicly supported until 2020-01 Cosmic is officially out-of-date, but since it still may be in use, and because we didn't add it when it first came out, I think it would be nice to support it until the next time somebody decides to update this list of Ubuntu releases. Differential Revision: https://phab.mercurial-scm.org/D6761
Thu, 22 Aug 2019 16:47:31 -0700 narrow: fix typo "respositories"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 22 Aug 2019 16:47:31 -0700] rev 42807
narrow: fix typo "respositories" Differential Revision: https://phab.mercurial-scm.org/D6758
Fri, 23 Aug 2019 17:03:42 -0400 merge with stable
Augie Fackler <augie@google.com> [Fri, 23 Aug 2019 17:03:42 -0400] rev 42806
merge with stable
Wed, 21 Aug 2019 17:56:50 +0200 makefile: run Rust tests if cargo is installed stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 21 Aug 2019 17:56:50 +0200] rev 42805
makefile: run Rust tests if cargo is installed While no particular minimum toolchain version is targeted as of yet, this serves as a first step to make more people/machines run the Rust tests.
Wed, 21 Aug 2019 13:14:39 -0700 merge: hint about using `hg resolve` for resolving conflicts
Martin von Zweigbergk <martinvonz@google.com> [Wed, 21 Aug 2019 13:14:39 -0700] rev 42804
merge: hint about using `hg resolve` for resolving conflicts This was suggested by one of our users at Google. Makes sense to me. Differential Revision: https://phab.mercurial-scm.org/D6755
Sat, 17 Aug 2019 18:28:55 +0900 rust-dirstate: remove test case for DirsMultiset::new(Manifest, Some)
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 18:28:55 +0900] rev 42803
rust-dirstate: remove test case for DirsMultiset::new(Manifest, Some) It's no longer possible.
Sat, 17 Aug 2019 18:25:29 +0900 rust-dirstate: split DirsMultiset constructor per input type
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 18:25:29 +0900] rev 42802
rust-dirstate: split DirsMultiset constructor per input type Since skip_state only applies to dirstate, it doesn't make sense to unify these constructors and dispatch by enum.
Sat, 17 Aug 2019 16:33:05 +0900 rust-dirstate: remove excessive clone() of parameter and return value
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 16:33:05 +0900] rev 42801
rust-dirstate: remove excessive clone() of parameter and return value I think pass-by-ref is preferred in general.
Sat, 17 Aug 2019 18:06:08 +0900 rust-dirstate: handle invalid length of p1/p2 parameters
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 18:06:08 +0900] rev 42800
rust-dirstate: handle invalid length of p1/p2 parameters It uses match syntax since map_err() failed to deduce the argument type.
Sat, 17 Aug 2019 11:37:42 +0900 rust: simply use TryInto to convert slice to array
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 11:37:42 +0900] rev 42799
rust: simply use TryInto to convert slice to array Since our rust module depends on TryInto, there's no point to avoid using it. While rewriting copy_into_array(), I noticed CPython interface doesn't check the length of the p1/p2 values, which is marked as TODO.
Sat, 17 Aug 2019 13:55:05 +0900 rust-dirstate: use PARENT_SIZE constant where appropriate
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 13:55:05 +0900] rev 42798
rust-dirstate: use PARENT_SIZE constant where appropriate
Sat, 17 Aug 2019 13:27:11 +0900 rust-dirstate: rename NULL_REVISION to NULL_ID which isn't a revision number
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 13:27:11 +0900] rev 42797
rust-dirstate: rename NULL_REVISION to NULL_ID which isn't a revision number
Sat, 17 Aug 2019 13:26:04 +0900 rust-dirstate: remove repetition in array literal
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 13:26:04 +0900] rev 42796
rust-dirstate: remove repetition in array literal
Sat, 17 Aug 2019 13:42:30 +0900 rust-dirstate: remove too abstracted way of getting &[u8]
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 13:42:30 +0900] rev 42795
rust-dirstate: remove too abstracted way of getting &[u8]
Sat, 17 Aug 2019 11:43:05 +0900 rust-dirstate: remove unneeded "ref"
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 11:43:05 +0900] rev 42794
rust-dirstate: remove unneeded "ref" At 7cae6bc29ff9, .to_owned() was rewritten as .to_owned().to_vec(), which is no longer needed since the filename is a single reference.
Sat, 17 Aug 2019 12:17:46 +0900 rust-parsers: fix unboxing of PyInt on Python 3
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 12:17:46 +0900] rev 42793
rust-parsers: fix unboxing of PyInt on Python 3 Broken at 7cae6bc29ff9.
Tue, 20 Aug 2019 17:12:36 +0200 revlog: split `rawtext` retrieval out of _revisiondata
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Aug 2019 17:12:36 +0200] rev 42792
revlog: split `rawtext` retrieval out of _revisiondata This part is reasonably independent. Having it on its own clarify the code flow and will help code that inherit from revlog to overwrite specific area only.
Mon, 19 Aug 2019 16:29:43 +0200 revlog: avoid caching raw text too early in _revisiondata
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Aug 2019 16:29:43 +0200] rev 42791
revlog: avoid caching raw text too early in _revisiondata Without this change, we could cache the rawtext without considering for it validating the cache or not. If the exception raised by the invalid hash were to be caught and the same revision accessed again, the invalid rawtext would be returned.
Wed, 07 Aug 2019 23:55:01 +0200 revlog: add some documentation to `_revisiondata` code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 23:55:01 +0200] rev 42790
revlog: add some documentation to `_revisiondata` code
Wed, 07 Aug 2019 23:52:55 +0200 revlog: move `nullid` early return sooner in `_revisiondata`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 23:52:55 +0200] rev 42789
revlog: move `nullid` early return sooner in `_revisiondata` Let us deal with the special case before we start dealing with more generic case.
Wed, 07 Aug 2019 23:48:54 +0200 revlog: stop calling `basetext` `rawtext` in _revisiondata
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 23:48:54 +0200] rev 42788
revlog: stop calling `basetext` `rawtext` in _revisiondata If the cache entry is used as a base test for delta, it is not the rawtext we need. We update the variable name to clarify this.
Wed, 07 Aug 2019 23:46:14 +0200 revlog: assign rawtext earlier in `_revisiondata`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 23:46:14 +0200] rev 42787
revlog: assign rawtext earlier in `_revisiondata` Assigning the revision earlier make the code easier to read.
Mon, 19 Aug 2019 16:14:27 +0200 revlog: drop silly `raw` parameter to `rawdata` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Aug 2019 16:14:27 +0200] rev 42786
revlog: drop silly `raw` parameter to `rawdata` function This is a leftover from `revision` and does not make sense for `rawdata`
Mon, 19 Aug 2019 10:34:10 -0700 perf: don't depend on pycompat for older Mercurial versions
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Aug 2019 10:34:10 -0700] rev 42785
perf: don't depend on pycompat for older Mercurial versions We already define local _sysstr() and _xrange() for compatibility, so we should use those. Also create a similar local _bytestr() corresponding to pycompat.bytestr(). Differential Revision: https://phab.mercurial-scm.org/D6745
Mon, 19 Aug 2019 10:39:13 -0700 perf: don't try to call `util.queue` on Mercurial version before it existed
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Aug 2019 10:39:13 -0700] rev 42784
perf: don't try to call `util.queue` on Mercurial version before it existed Differential Revision: https://phab.mercurial-scm.org/D6744
Mon, 19 Aug 2019 10:38:38 -0700 perf: handle NameError for `pycompat.foo` when pycompat wasn't imported
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Aug 2019 10:38:38 -0700] rev 42783
perf: handle NameError for `pycompat.foo` when pycompat wasn't imported On old Mercurial versions, we won't have a pycompat variable defined, and then `pycompat.foo` will raise a NameError. Differential Revision: https://phab.mercurial-scm.org/D6743
Wed, 07 Aug 2019 20:12:07 +0200 rawdata: update callers in shallowbundle
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:12:07 +0200] rev 42782
rawdata: update callers in shallowbundle We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:11:50 +0200 rawdata: update callers in storageutils
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:11:50 +0200] rev 42781
rawdata: update callers in storageutils We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:11:35 +0200 rawdata: update callers in delta utils
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:11:35 +0200] rev 42780
rawdata: update callers in delta utils We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:11:22 +0200 rawdata: update callers in repository
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:11:22 +0200] rev 42779
rawdata: update callers in repository We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:11:12 +0200 rawdata: update callers in testing/storage.py
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:11:12 +0200] rev 42778
rawdata: update callers in testing/storage.py We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 22:41:49 +0200 rawdata: update callers in test-revlog-raw
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 22:41:49 +0200] rev 42777
rawdata: update callers in test-revlog-raw We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:10:43 +0200 rawdata: update callers in lfs' tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:10:43 +0200] rev 42776
rawdata: update callers in lfs' tests We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:10:32 +0200 rawdata: update callers in lfs' wrapper
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:10:32 +0200] rev 42775
rawdata: update callers in lfs' wrapper We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:10:24 +0200 rawdata: update caller in wireprotov2server
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:10:24 +0200] rev 42774
rawdata: update caller in wireprotov2server We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:10:08 +0200 rawdata: update callers in debugcommands
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:10:08 +0200] rev 42773
rawdata: update callers in debugcommands We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:09:53 +0200 rawdata: update callers in sqlitestore
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:09:53 +0200] rev 42772
rawdata: update callers in sqlitestore We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 22:35:12 +0200 rawdata: update caller in remotefilelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 22:35:12 +0200] rev 42771
rawdata: update caller in remotefilelog We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:09:10 +0200 rawdata: update callers in bundlerepo
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:09:10 +0200] rev 42770
rawdata: update callers in bundlerepo We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:08:35 +0200 rawdata: update callers in context
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:08:35 +0200] rev 42769
rawdata: update callers in context We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Wed, 07 Aug 2019 20:08:26 +0200 rawdata: update caller in revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 20:08:26 +0200] rev 42768
rawdata: update caller in revlog We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
Thu, 15 Aug 2019 14:54:39 -0400 setup: fix a sorting issue I noticed in package names
Augie Fackler <augie@google.com> [Thu, 15 Aug 2019 14:54:39 -0400] rev 42767
setup: fix a sorting issue I noticed in package names Differential Revision: https://phab.mercurial-scm.org/D6733
Sat, 17 Aug 2019 10:25:04 +0900 py3: do not convert rust module/attribute names to bytes
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 10:25:04 +0900] rev 42766
py3: do not convert rust module/attribute names to bytes policy.import*() functions expect system strings.
Sat, 17 Aug 2019 15:43:41 +0900 transplant: unnest --stop case
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Aug 2019 15:43:41 +0900] rev 42765
transplant: unnest --stop case It should be aligned with --continue.
Fri, 16 Aug 2019 18:34:05 +0900 rust-discovery: use while loop instead of match + break
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Aug 2019 18:34:05 +0900] rev 42764
rust-discovery: use while loop instead of match + break This looks slightly nicer.
Fri, 16 Aug 2019 18:31:17 +0900 rust-discovery: remove useless extern crate
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Aug 2019 18:31:17 +0900] rev 42763
rust-discovery: remove useless extern crate
Fri, 26 Jul 2019 01:19:43 +0530 transplant: added support for --stop flag
Taapas Agrawal <taapas2897@gmail.com> [Fri, 26 Jul 2019 01:19:43 +0530] rev 42762
transplant: added support for --stop flag This adds fuctionality for `--stop` flag to `transplant`. A new method `stop` is added to `transplanter` class containing logic to abort transplant. Tests are updated as shown. Differential Revision: https://phab.mercurial-scm.org/D6695
Thu, 15 Aug 2019 20:43:25 +0530 unshelve: abort on using --keep and --interactive together
Navaneeth Suresh <navaneeths1998@gmail.com> [Thu, 15 Aug 2019 20:43:25 +0530] rev 42761
unshelve: abort on using --keep and --interactive together I am working on making interactive mode support `--keep` flag. Until we support the usage of `--interactive` and `--keep` together, let us abort on it. Differential Revision: https://phab.mercurial-scm.org/D6699
Tue, 20 Aug 2019 18:35:16 +0300 config: add experimental argument to the config registrar
Navaneeth Suresh <navaneeths1998@gmail.com> [Tue, 20 Aug 2019 18:35:16 +0300] rev 42760
config: add experimental argument to the config registrar Until now, there are almost 28 config items which are considered as `experimental` but, not present in the `experimental` section of the registrar. This patch adds an `experimental` argument to the config registrar to mark such config items. Differential Revision: https://phab.mercurial-scm.org/D6728 Differential Revision: https://phab.mercurial-scm.org/D6746
Wed, 14 Aug 2019 16:11:45 -0400 tests: split joint repo/changelog fake into one for each type
Augie Fackler <augie@google.com> [Wed, 14 Aug 2019 16:11:45 -0400] rev 42759
tests: split joint repo/changelog fake into one for each type I'm just not comfortable with fakes that get overloaded for multiple types: too often it gets out of hand and becomes difficult to trace. Differential Revision: https://phab.mercurial-scm.org/D6725
Tue, 13 Aug 2019 14:28:10 -0700 fix: pass line ranges as value instead of callback
Danny Hooper <hooper@google.com> [Tue, 13 Aug 2019 14:28:10 -0700] rev 42758
fix: pass line ranges as value instead of callback The callback no longer takes any arguments from the inner function, so we might as well call it sooner and pass the value instead. Note the value still needs to be recomputed every iteration to account for the previous iteration's changes to the file content. Differential Revision: https://phab.mercurial-scm.org/D6727
Tue, 13 Aug 2019 14:20:48 -0700 fix: correctly parse the :metadata subconfig
Danny Hooper <hooper@google.com> [Tue, 13 Aug 2019 14:20:48 -0700] rev 42757
fix: correctly parse the :metadata subconfig It's being handled as a string instead of a bool, though the thruthiness of the string makes the feature still essentially work. Added a regression test. Differential Revision: https://phab.mercurial-scm.org/D6726
Mon, 12 Aug 2019 16:39:39 -0700 fix: allow tools to use :linerange, but also run if a file is unchanged
Danny Hooper <hooper@google.com> [Mon, 12 Aug 2019 16:39:39 -0700] rev 42756
fix: allow tools to use :linerange, but also run if a file is unchanged The definition of "unchanged" here is subtle, because pure deletion diff hunks are ignored. That means this is different from using the --whole flag. This change allows you to configure, for example, a code formatter that: 1. Formats specific line ranges if specified via flags 2. Does not format the entire file when there are no line ranges provided 3. Performs some other kind of formatting regardless of provided line ranges This sounds a little far fetched, but it is meant to address a specific corner case encountered in Google's use of the fix extension. The default behavior is kept because it exists to prevent mistakes that could erase uncommitted changes. Differential Revision: https://phab.mercurial-scm.org/D6723
Wed, 10 Jul 2019 09:57:28 +0200 rust-dirstate: call rust dirstatemap from Python
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Jul 2019 09:57:28 +0200] rev 42755
rust-dirstate: call rust dirstatemap from Python Since Rust-backed Python classes cannot be used as baseclasses (for rust-cpython anyway), we use composition rather than inheritance. This also allows us to keep the IO operations in the Python side, removing (for now) the need to rewrite VFS in Rust, which would be a heavy undertaking. Differential Revision: https://phab.mercurial-scm.org/D6634
Wed, 10 Jul 2019 09:56:53 +0200 rust-dirstate: rust-cpython bridge for dirstatemap
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Jul 2019 09:56:53 +0200] rev 42754
rust-dirstate: rust-cpython bridge for dirstatemap This change also showcases the limitations of the `py_shared_ref!` macro. See the previous commit 'rust-dirstate: rust implementation of dirstatemap` for an explanation for the TODOs in the code. Differential Revision: https://phab.mercurial-scm.org/D6633
Wed, 10 Jul 2019 09:56:23 +0200 rust-dirstate: rust implementation of dirstatemap
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Jul 2019 09:56:23 +0200] rev 42753
rust-dirstate: rust implementation of dirstatemap The `dirstatemap` is one of the last building blocks needed to get to a `dirstate.walk` Rust implementation. Disclaimer: This change is part of a big (10) series of patches, all of which started as one big changeset that took a long time to write. This `dirstatemap` implementation is a compromise in terms of complexity both for me and for the reviewers. I chose to submit this patch right now because while it is not perfect, it works and is simple enough (IMHO) to be reviewed. The Python implementation uses a lot of lazy propertycaches, breaks encapsulation and is used as an iterator in a lot of places, all of which dictated the somewhat unidiomatic patterns in this change. Like written in the comments, rewriting this struct to use the typestate pattern might be a good idea, but this is a good first step. Differential Revision: https://phab.mercurial-scm.org/D6632
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip