Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 13:08:59 +0900] rev 42890
rust-cpython: remove Option<_> from interface of py_shared_iterator
It's the implementation detail of the py_shared_iterator that the leaked
reference is kept in Option<_> so that it can be dropped early.
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 12:26:12 +0900] rev 42889
rust-cpython: rename py_shared_iterator_impl to py_shared_iterator
It's a public interface now.
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 12:23:18 +0900] rev 42888
rust-cpython: replace dyn Iterator<..> of mapping with concrete type
See the previous commit for why. The docstring is moved accordingly.
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 12:07:19 +0900] rev 42887
rust-cpython: replace dyn Iterator<..> of sequence with concrete type
We wouldn't care the cost of the dynamic dispatch, but I feel a concrete
type helps understanding error messages.
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 12:00:26 +0900] rev 42886
rust-dirstate: provide CopyMapIter and StateMapIter types
They will be used in the declaration of Python iterator types.
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Sep 2019 11:55:29 +0900] rev 42885
rust-dirstate: specify concrete return type of DirsMultiset::iter()
This allows us to put a returned iterator in a struct. We could implement
DirsMultisetIter(hash_map::Keys<..>) struct to hide the implementation
detail, but I think type alias is good enough for us.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 27 Apr 2019 02:04:05 +0200] rev 42884
discovery: replace "heads" by "changesets" in a output note (BC)
When using `hg push --rev X`, the subset considered by discovery is only `::X`.
In addition, `X` can be any local revisions not just local heads. As a result
the message "all local heads known locally" can be misleading. We replace it
with the more accurate "all local changesets known remotely".
The message appears when in verbose not, so this is stricly speaking a BC
breakage. I am not sure this would be a real issue in practice...
Martin von Zweigbergk <martinvonz@google.com> [Thu, 05 Sep 2019 16:32:33 -0700] rev 42883
py3: drop incorrect fsencode(findexe(...)) in procutil
I recently added the bad call, thinking that findexe() was a standard
library function returning a string result, but it's actually our own
function returning bytes. Thanks to Yuya for noticing.
Differential Revision: https://phab.mercurial-scm.org/D6826
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 10:08:47 -0700] rev 42882
flagprocessors: small code update to clarify parameters
'raw' is really a third mode, not a small variant.
Differential Revision: https://phab.mercurial-scm.org/D6807
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 10:06:32 -0700] rev 42881
flagprocessors: deprecate _processflags
People should use the specialized version instead now.
Differential Revision: https://phab.mercurial-scm.org/D6806
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Sep 2019 17:06:15 +0200] rev 42880
simplestorerepo: stop using `_processflags` directly
We now use the specialized versions.
Differential Revision: https://phab.mercurial-scm.org/D6805
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Sep 2019 17:05:52 +0200] rev 42879
revlog: stop using `_processflags` directly
We now use the specialized versions.
Differential Revision: https://phab.mercurial-scm.org/D6804
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 19:13:12 +0200] rev 42878
flagprocessors: use _processflagsraw in easy cases
When there are no ambiguity regarding the `raw` value, we can simply use the new
method.
Differential Revision: https://phab.mercurial-scm.org/D6803
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 19:10:15 +0200] rev 42877
flagprocessors: use _processflagsread in simple cases
When there are no ambiguity regarding the `raw` value, we can simply use the new
method.
Differential Revision: https://phab.mercurial-scm.org/D6802
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 19:07:49 +0200] rev 42876
flagprocessors: use _processflagswrite for write operation
There are no ambiguity for 'write' operation so it is simple to replace.
Differential Revision: https://phab.mercurial-scm.org/D6801
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 18:54:36 +0200] rev 42875
flagprocessors: introduce specialized functions
This make the call site clearer and the open the way to more diverse return
types.
For now, the same old code is still in use under the hood.
Differential Revision: https://phab.mercurial-scm.org/D6800
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Aug 2019 02:10:18 +0200] rev 42874
flagutil: use it in simplestorerepo
This remove the other code duplication of the `_processflags` code.
To be honest, this code looks very dead since it is not run by either developer
nor buildbot. However, we update the code to make the task of reviving this less
daunting.
Differential Revision: https://phab.mercurial-scm.org/D6799
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Aug 2019 01:15:44 +0200] rev 42873
flagutil: make the error class used by the mixin configurable
One of the code duplication use a different error class. So let's make it
possible to do so.
Differential Revision: https://phab.mercurial-scm.org/D6798
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 09:56:45 -0700] rev 42872
flagutil: use the new mixin use in remotefilelog
This remove one of the code duplication. Hooray \o/.
Differential Revision: https://phab.mercurial-scm.org/D6797
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Aug 2019 01:12:48 +0200] rev 42871
flagutil: introduce a flagprocessorsmixin class
To avoid code duplication, we will provide a simple "ready to use" mixin that
carry the appropriate logic. First we use it in standard revlog, we'll remove
code duplication in later changesets.
Differential Revision: https://phab.mercurial-scm.org/D6796
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Sep 2019 23:26:30 -0700] rev 42870
check-code: allow command substitution with $(command)
Both `command` and $(command) are specified by POSIX. The latter nests
better. I don't see why we shouldn't allow both (or only the latter).
Differential Revision: https://phab.mercurial-scm.org/D6789
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jun 2019 16:26:11 +0100] rev 42869
run-tests: rename `lcmd` variable to `line_cmd`
This is clearer and more in line with some other variable names.
(This is a gratuitous cleanup that I made while investigating a bug).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jun 2019 16:24:34 +0100] rev 42868
run-tests: rename `lout` variable to `out_line`
This is clearer and more in line with some other variable names.
(This is a gratuitous cleanup that I made while investigating a bug).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jun 2019 14:14:17 +0100] rev 42867
run-tests: clarify "l" variable as "out_rawline"
More explicit variable name never hurt.
(This is a gratuitous cleanup that I made while investigating a bug).
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jun 2019 13:59:47 +0100] rev 42866
run-tests: use symbolic constant instead of arbitrary number line matching
(This is a gratuitous cleanup that I made while investigating a bug).
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 25 Aug 2019 23:40:22 -0400] rev 42865
rustfilepatterns: shorter code for concatenating slices
Differential Revision: https://phab.mercurial-scm.org/D6765
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 25 Aug 2019 22:53:42 -0400] rev 42864
match: simplify the regexps created for glob patterns
For legibility of the resulting regexes, although it may help with
performance as well.
Differential Revision: https://phab.mercurial-scm.org/D6764
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 26 Aug 2019 08:25:01 -0400] rev 42863
rustfilepatterns: refactor the pattern of removing a prefix from a &[u8]
Differential Revision: https://phab.mercurial-scm.org/D6766
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 25 Aug 2019 22:52:36 -0400] rev 42862
tests: show the pattern generated for a relative glob
Differential Revision: https://phab.mercurial-scm.org/D6763
Martin von Zweigbergk <martinvonz@google.com> [Tue, 16 Jul 2019 21:15:39 -0700] rev 42861
copies: remove existing copy info from the changeset on amend (BC)
When amending a changeset with copy information in the changeset and
the new changeset doesn't have any copy information (or similar for
"filesadded" and "filesremoved"), we shouldn't keep it.
A drawback of this is that we now unconditionally remove these four
entries from the extras, breaking any extensions that happened to
write entries with the same names (which seems very unlikely).
I think I'd heard that there was list of blacklisted keys that would
be removed from the extras when a commit is rewritten, but I couldn't
find that. It would make sense to add the keys mentioned above there
instead of the custom filtering I've added in this patch.
Differential Revision: https://phab.mercurial-scm.org/D6752