Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 10:48:10 -0400] rev 43062
contrib: black manages whitespace after Python keywords now
Differential Revision: https://phab.mercurial-scm.org/D6978
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 10:47:28 -0400] rev 43061
contrib: allow trailing commas in lists
black manages this for us, so we don't need to worry about this anymore.
Differential Revision: https://phab.mercurial-scm.org/D6977
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 10:46:46 -0400] rev 43060
contrib: remove check-code line length limit
Both Python and C code are managed by formatters now, so relax this.
Differential Revision: https://phab.mercurial-scm.org/D6976
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 30 Sep 2019 14:21:05 -0400] rev 43059
changegroup: use positive logic for treemanifest changegroup3 logic
We are about to add more cases, in that context, it is simpler to avoid double
negative.
En addition, We document the situation for the next soul.
Differential Revision: https://phab.mercurial-scm.org/D6938
Danny Hooper <hooper@google.com> [Sat, 05 Oct 2019 07:10:34 -0700] rev 43058
fix: add :enabled sub-config for fixer tools
This allows distributing opt-in fixer tool configurations in .hgrc
files. This may be useful for adding default configs in core, or for
orgranizations that want to provide configs to their users.
Tools are still enabled by default because it would be confusing to add a
config and find that it has no effect until you add enabled=true.
Differential Revision: https://phab.mercurial-scm.org/D6975
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Oct 2019 11:21:39 -0400] rev 43057
automation: add a command to submit to a Try server
The CI code for running the Try Server requires more thorough review.
Let's add just the client-side bits for submitting to Try so others
can start using it.
Differential Revision: https://phab.mercurial-scm.org/D6983
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Oct 2019 11:58:17 -0400] rev 43056
automation: improve documentation for credentials management
Differential Revision: https://phab.mercurial-scm.org/D6982
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Oct 2019 11:23:14 -0400] rev 43055
automation: switch to us-west-2 by default
This is where the AWS account I'm running lives.
Differential Revision: https://phab.mercurial-scm.org/D6981
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Oct 2019 11:03:05 -0400] rev 43054
automation: upgrade various packages
Ran `pip-compile -U` to upgrade to latest versions.
Differential Revision: https://phab.mercurial-scm.org/D6980
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 13:28:48 -0400] rev 43053
statprof: drop python #! and exec bit we don't use
For some reason this wasn't flagged until I ran a reformatter on this file.
I'm deeply confused by this, but since we don't execute this drop the support
for it.
Differential Revision: https://phab.mercurial-scm.org/D6985
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 11:56:35 -0400] rev 43052
cvsps: switch a file open to a with statement
For some reason this only showed up in check-code after running
black. Puzzling.
Differential Revision: https://phab.mercurial-scm.org/D6984
Denis Laxalde <denis@laxalde.org> [Sat, 05 Oct 2019 12:03:19 +0200] rev 43051
templatefuncs: account for user's diffopts in diff() (BC)
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 09:57:00 -0400] rev 43050
transaction: re-wrap line to avoid a black bug
Differential Revision: https://phab.mercurial-scm.org/D6970
Augie Fackler <augie@google.com> [Sat, 05 Oct 2019 09:55:56 -0400] rev 43049
discovery: re-wrap expression to avoid a black bug
Differential Revision: https://phab.mercurial-scm.org/D6969
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 04 Oct 2019 17:07:00 -0400] rev 43048
sidedata: adjust string for python3
This was pointed out by Gregory Szorc: Python 3 will require a r'' because of
source transformation.
Differential Revision: https://phab.mercurial-scm.org/D6968
Ian Moody <moz-ian@perix.co.uk> [Fri, 04 Oct 2019 18:33:54 +0100] rev 43047
py3: fix phabricator's use of json.loads() for py3.5
Missed this in c340a8ac7ef3 since `loads()` takes bytes from 3.6 onwards.
Differential Revision: https://phab.mercurial-scm.org/D6961
Ian Moody <moz-ian@perix.co.uk> [Fri, 04 Oct 2019 18:18:38 +0100] rev 43046
run-tests: make coverage work out of tree
Currently coverage fails when run on an out-of-tree extension since
run-tests.py tries to load sitecustomize.py from self._testdir, which is the
dir for the extension's tests.
Differential Revision: https://phab.mercurial-scm.org/D6960
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 Oct 2019 13:18:15 -0700] rev 43045
unfinishedstate: suggested `hg update .` (including `.`) to complete update
`hg update` can update to a different and undesired commit. For users
who have commands.update.requiredest=yes, it's even an error to run
just `hg update.
Differential Revision: https://phab.mercurial-scm.org/D6956
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 30 Sep 2019 17:26:41 -0700] rev 43044
setup: build extensions in parallel by default
The build_ext distutils command in Python 3.5+ has a "parallel"
option that controls whether to build extensions in parallel. It
is disabled by default (None) and can be set to an integer value
for number of cores or True to indicate use all available CPU
cores.
This commit changes our build_ext command override to set
"parallel" to True unless a value has been provided by the caller.
On my machine, this makes `python setup.py build_ext` 1-4s faster.
It is worth noting that at this time, each individual source file
constituting the extension is still built serially. For Mercurial,
this means that we can't build faster than the slowest-to-build
extension, which is the zstd extension by a long shot. This means
that setup.py is still not very efficient at utilizing multiple
cores. But we're better than before.
Differential Revision: https://phab.mercurial-scm.org/D6923
# no-check-commit because of foo_bar naming
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Oct 2019 23:39:29 -0400] rev 43043
merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Sep 2019 00:30:53 +0200] rev 43042
sidedata: check that the sidedata safely roundtrip
We actually use the data we stored during the test. It is a way to make sure
their content is not corrupted.
Differential Revision: https://phab.mercurial-scm.org/D6898
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Sep 2019 00:15:47 +0200] rev 43041
sidedata: add a debugsidedata command
The command provide basic capabilities to inspect revision side data.
Differential Revision: https://phab.mercurial-scm.org/D6897
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Sep 2019 21:38:29 +0200] rev 43040
sidedata: test we can successfully write sidedata
For now we just write them and rejoice on the lack of crashes.
Differential Revision: https://phab.mercurial-scm.org/D6896
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 16:40:07 +0200] rev 43039
sidedata: make sure we don't use the flag if there are not sidedata
Ensuring this at this level seems safer than relying on caller doing the right
thing.
G: changed mercurial/revlog.py
Differential Revision: https://phab.mercurial-scm.org/D6895
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 23:45:38 +0200] rev 43038
revlog: add the appropriate flag is sidedata are passed to `addrevision`
If we need to store sidedata, we need the flag to be set and the associated
processing to be called.
Differential Revision: https://phab.mercurial-scm.org/D6894
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 03:20:55 +0200] rev 43037
sidedata: register the flag processors if the repository allows for it
Differential Revision: https://phab.mercurial-scm.org/D6893
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 03:19:58 +0200] rev 43036
sidedata: add a function for _processflagsraw usage
Entry with side data cannot directly validate their rawtext
Differential Revision: https://phab.mercurial-scm.org/D6892
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 01:20:54 +0200] rev 43035
sidedata: add a function to write sidedata into a raw text
Differential Revision: https://phab.mercurial-scm.org/D6891
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:59:15 +0200] rev 43034
sidedata: add a function to read sidedata from revlog raw text
This implement the "reading" part of a `sidedata` flag processor.
Differential Revision: https://phab.mercurial-scm.org/D6890
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Sep 2019 14:03:12 +0200] rev 43033
sidedata: add a new module with basic documentation
For now the storage strategy is very simple. We can augment it in the future if
needed.
Code to actually support what is described will be introduced in later
changesets.
Differential Revision: https://phab.mercurial-scm.org/D6889
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Aug 2019 17:55:44 +0200] rev 43032
sidedata: add a new revision flag constant for side data
Small step first.
Differential Revision: https://phab.mercurial-scm.org/D6888
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 02:43:17 +0200] rev 43031
upgrade: detect the side-data format variants
Note that for now we cannot upgrade/downgrade to it.
Differential Revision: https://phab.mercurial-scm.org/D6887
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Sep 2019 22:42:55 +0200] rev 43030
sidedata: introduce a new requirement to protect the feature
The feature will be usable only within repository supported by version of
Mercurial with the support.
Since the support is not fully implemented yet, the requirement has a temporary,
experimental name.
Differential Revision: https://phab.mercurial-scm.org/D6886
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:58:46 +0200] rev 43029
copies: move file input processsing early
If we are to store the same kind of data outside of extra, we need to explicitly
prepare them before that.
On the long run, other storage (eg: sidedata) might use a different encoding to store this
information, since the constraint from extra does not apply to it.
Differential Revision: https://phab.mercurial-scm.org/D6937
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:48:41 +0200] rev 43028
copies: prepare changelog for more copies storage mode
We want to store copies information in sidedata, the logic will be quite similar
to the one used for extra, but sightly different (not in extra, no hash impact).
We start with small refactoring to make our work easier and the coming changesets
cleaners.
Differential Revision: https://phab.mercurial-scm.org/D6936
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 05:17:30 +0200] rev 43027
vfs: give all vfs an options attribute by default
Multiple code path assume vfs have an options attribute, including the vfs module
itself. So for consistency we explicitly add one to all vfs.
This will prevent various crash in the next changesets.
Differential Revision: https://phab.mercurial-scm.org/D6935
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 06:24:42 +0200] rev 43026
revlog: explicitly set revlogv0 in vfs options
Relying on having an attribute or not for something so fundamental seems too
fragile to me. (And indeed I had issue with that later in this series). So we
explicitly record the fact the repository use revlog-v0.
Differential Revision: https://phab.mercurial-scm.org/D6934
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:11:03 +0200] rev 43025
context: clarify the various mode in the _copies property cache
The previous code was compact but a bit dense. The new proposed code deal with
each mode separately, there are some duplicated lines, but the meaning of each
mode stand out.
One of the benefit it to make it simpler to add further mode in the future.
Differential Revision: https://phab.mercurial-scm.org/D6933
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:09:43 +0200] rev 43024
context: clarify the various mode in the filesremoved method
The previous code was compact but a bit dense. The new proposed code deal with
each mode separately, there are some duplicated lines, but the meaning of each
mode stand out.
One of the benefit it to make it simpler to add further mode in the future.
Differential Revision: https://phab.mercurial-scm.org/D6932
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:06:02 +0200] rev 43023
context: clarify the various mode in the filesadded method
The previous code was compact but a bit dense. The new proposed code deal with
each mode separately, there are some duplicated lines, but the meaning of each
mode stand out.
One of the benefit it to make it simpler to add further mode in the future.
Differential Revision: https://phab.mercurial-scm.org/D6931
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Sep 2019 23:43:32 +0200] rev 43022
copies: expand the logic of usechangesetcentricalgo
Using intermediate variable is clearer and will make is simple to expand the
logic.
Differential Revision: https://phab.mercurial-scm.org/D6930
Floris Bruynooghe <flub@google.com> [Mon, 30 Sep 2019 00:01:58 +0200] rev 43021
patchbomb: protect email addresses from shell
When patchbomb sends email via a sendmail-like program it invokes this
using procutil.popen which passes the string to a shell to be parsed.
To protect any special characters in the email addresses on the
command line from being interpretered by the shell they must be
quoted.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:29:25 -0700] rev 43020
automation: support and use Debian Buster by default
While Debian Buster (Debian 10) was released in July, the
AWS AMIs were not published until mid September.
This commit teaches the automation system to create AMIs for
Debian Buster. Since Debian Buster is the new stable Debian
release, we make it the default distribution for automation.
Differential Revision: https://phab.mercurial-scm.org/D6917
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:24:14 -0700] rev 43019
automation: use latest AMIs
This cuts down on the overhead to create a new AMI, as we don't
have to install as many package upgrades.
Differential Revision: https://phab.mercurial-scm.org/D6916
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 11:06:45 -0700] rev 43018
automation: increase size of Linux AMI build volume
I ran out of space attempting to build a few AMIs. Let's give
the environment an extra 2 GB to utilize.
Differential Revision: https://phab.mercurial-scm.org/D6915
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:37:38 -0700] rev 43017
automation: install awscli and python3-boto3 packages
This provides the `aws` command-line utility as well as a Python
library for interacting with AWS. It is useful to have these packages
installed in AMIs so you can easily interact with other AWS services.
Differential Revision: https://phab.mercurial-scm.org/D6914
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:28:01 -0700] rev 43016
automation: upgrade packages in Linux environment
Let's stay modern.
Differential Revision: https://phab.mercurial-scm.org/D6913
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:21:18 -0700] rev 43015
automation: remove Ubuntu 18.10
It reached end of life on July 18, 2019. I don't think we
should care about supporting it.
Differential Revision: https://phab.mercurial-scm.org/D6912
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:19:02 -0700] rev 43014
automation: always install docker-ce
Docker has published packages for Ubuntu Disco and we no longer
need this one-off.
Differential Revision: https://phab.mercurial-scm.org/D6911
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 10:17:20 -0700] rev 43013
automation: use LSB_RELEASE instead of DEBIAN_VERSION
This should be more robust since I believe the minor version can
change mid release.
Differential Revision: https://phab.mercurial-scm.org/D6910
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:34:52 -0700] rev 43012
tests: use silenttestrunner in test-simplemerge.py
The time monkeypatching doesn't appear to work reliably in
Python 3, possibly due to unittest using a different time
function. This makes the test intermittent due to the
execution time not always being `0.00s`.
We have our own wrapper around unittest for more deterministic
test output. So let's use it.
As a bonus, all test output disappeared, so we can remove the
.out file!
Differential Revision: https://phab.mercurial-scm.org/D6921
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:25:29 -0700] rev 43011
contrib: use pycompat.xrange in bdiff-torture.py
For Python 3 compatibility.
Differential Revision: https://phab.mercurial-scm.org/D6920
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:22:21 -0700] rev 43010
interfaces: use triple quotes for Attribute value
Otherwise the source transformer converts it to bytes and
test-check-interfaces.py complains on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D6919
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:19:45 -0700] rev 43009
tests: suppress output from write()
Otherwise it is printed and the test fails with tons of output on
Python 3.
Differential Revision: https://phab.mercurial-scm.org/D6918
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:04:43 -0700] rev 43008
tests: look for additional pip warning variant
The wording has been tweaked in new versions of pip.
Differential Revision: https://phab.mercurial-scm.org/D6909
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 29 Sep 2019 12:00:18 -0700] rev 43007
tests: use test harness `hg` in test-hghave.t
This prevents the sub test harness from rebuilding Mercurial.
It shaves ~30s from the test wall time on my machine.
Differential Revision: https://phab.mercurial-scm.org/D6908
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 28 Sep 2019 21:13:27 -0700] rev 43006
synthrepo: use pycompat.xrange
This silences some test-check-pyflakes.t warnings on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D6907
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 00:40:52 +0200] rev 43005
perf: fix perfhelper-pathcopies without --stats
Some conditional were missing.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 19:59:53 +0200] rev 43004
upgrade: also register copied `.d` files to fncache
Oops, we forgot to register data file when blanky copying revlog. Now that we
are actually copying these `.d` files, we should also register them.
Differential Revision: https://phab.mercurial-scm.org/D6905
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:32:56 +0200] rev 43003
upgrade: fix handling of `.d` data file
The test did not used any `.d` file. So of course, their handling was broken
(for vfs encoding reason again). We fix the issue and update the test.
Note that some fncache issue remains with `.d` file. It will be taken care of
in the next changesets.
Differential Revision: https://phab.mercurial-scm.org/D6904
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:14:23 +0200] rev 43002
upgrade: also copy data file
Differential Revision: https://phab.mercurial-scm.org/D6903
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 21:14:03 +0200] rev 43001
upgrade: create the correct destination directory for copies revlogs
The encoding in vfs mess up with the directory we are trying to create manually.
We could duplicate the advanced logic some more, but that seems ill fated.
Instead, we let the vfs deal with directory creation.
We update the test to contains a name affected by encoding.
Differential Revision: https://phab.mercurial-scm.org/D6902
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:16:37 +0200] rev 43000
upgrade: fix DELTAREUSEFULLADD implementation in revlog.clone
If we do a full addition, we need to start from the full text.
Differential Revision: https://phab.mercurial-scm.org/D6901
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:10:47 +0200] rev 42999
upgrade: document DELTAREUSEFULLADD in revlog.clone
The documentation of the `debugupgraderepo` command was updated when
`re-delta-fulladd` was introduced. However, the docstring of the `revlog.clone`
method was not.
Differential Revision: https://phab.mercurial-scm.org/D6900
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:41:20 +0200] rev 42998
upgrade: move most of revlog.clone method into a _clone method
The content of the clone method now focus on parameters validation and
processing. The `_clone` method focus on the actual cloning logic.
Splitting the method out save some indentation and clarify each method code
since it a focussed on one goal.
Differential Revision: https://phab.mercurial-scm.org/D6899
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:34:20 +0200] rev 42997
flagprocessors: remove flagprocessorsmixin
It became an empty shell.
Differential Revision: https://phab.mercurial-scm.org/D6823
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:26:15 +0200] rev 42996
flagprocessors: move _flagserrorclass attribute on revlog & co
This is a small duplication, and the last bit we need to get rid of the mixin.
Honestly, I am not fan of that class attribute and it mostly exist to accomodate
The simple-storage whose usage of flag processors is dumbious and that is
currently dead code anyway. However I don't want to be pulled into futher
unrelated cleaning so it is a small price to pay.
Differential Revision: https://phab.mercurial-scm.org/D6822
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:22:38 +0200] rev 42995
flagprocessors: directly duplicate the deprecated layer back into revlog
The code duplication benign and will get removed in a couple of month anyway.
Differential Revision: https://phab.mercurial-scm.org/D6821
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:16:32 +0200] rev 42994
flagprocessors: make `processflagsraw` a module level function
One more steps toward removing the mixin.
Differential Revision: https://phab.mercurial-scm.org/D6820
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 00:11:58 +0200] rev 42993
flagprocessors: make `processflagsread` a module level function
One more steps toward removing the mixin.
Differential Revision: https://phab.mercurial-scm.org/D6819
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Sep 2019 23:50:32 +0200] rev 42992
flagprocessors: make `processflagswrite` a module level function
One more step towards removing the mixin.
Differential Revision: https://phab.mercurial-scm.org/D6818
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Sep 2019 23:43:06 +0200] rev 42991
flagprocessors: make `_processflagsfunc` a module level function
This is the first step toward removing the flag processing mixin.
Differential Revision: https://phab.mercurial-scm.org/D6817
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:53:27 +0200] rev 42990
flagprocessors: writetransform function take side data as parameter (API)
If we want some flag processors to be able to store sidedata it needs to be
actually fed that data.
Differential Revision: https://phab.mercurial-scm.org/D6816
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 23:51:17 +0200] rev 42989
flagprocessors: add a `sidedata` parameters to _processflagswrite
To read sidedata using flagprocessors, we need flag processors to store them. So
we pass this information to the flag processing layer.
Differential Revision: https://phab.mercurial-scm.org/D6815
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 23:51:34 +0200] rev 42988
revlog: add a `sidedata` parameters to addrevision
If we want to eventually store sidedata we need to be able to pass them along.
Differential Revision: https://phab.mercurial-scm.org/D6814
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:34:03 +0200] rev 42987
flagprocessors: have the read transform function return side data (API)
This makes it possible for flag processors to -read- flag data.
Differential Revision: https://phab.mercurial-scm.org/D6813
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Sep 2019 00:13:45 +0200] rev 42986
flagprocessors: return flagdata in the main processing function
This function input and return are becoming stranger and stranger bnut I don't
have a good plan to make is saner without problematic code duplication, so it
will be this way to now.
Differential Revision: https://phab.mercurial-scm.org/D6812
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:55:04 +0200] rev 42985
flagprocessors: return sidedata map in `_processflagsread`
Right now, flag processors does not return sidedata, by they will. So, we
prepare the caller to receive it.
Differential Revision: https://phab.mercurial-scm.org/D6811
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:36:41 +0200] rev 42984
revlog: use the new sidedata map return in the sidedata method
So far things, seems logical.
Differential Revision: https://phab.mercurial-scm.org/D6810
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:54:04 +0200] rev 42983
revlog: return sidedata map from `_revisiondata`
Nothing extra any side data yet. However, it will happens in the future. So we
better prepare the callers of the `_revisiondata` to deal with it.
Differential Revision: https://phab.mercurial-scm.org/D6809
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 22:36:27 +0200] rev 42982
revlog: introduce a `sidedata` method
The method give access to extra information related to the revision. Such data
will not be part of the hash be strongly related to the revision. Having them
stored at the revlog level helps the storage consistency story and simplify
various things.
Example of data we could store there:
- copy tracing related informations
- graph structure related information (useful for discovery)
- unresolved conflict data
The full implementation will be introduced gradually in the coming changesets.
Differential Revision: https://phab.mercurial-scm.org/D6808
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Sep 2019 14:35:08 -0700] rev 42981
update: clarify calculateupdate() call sites by specifying argument names
merge.calculateupdate() takes a lot of parameters and I get confused
all the time which is which.
See also b14fdf1fb615 (update: clarify update() call sites by
specifying argument names, 2017-02-09).
Differential Revision: https://phab.mercurial-scm.org/D6883
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 17:57:16 -0400] rev 42980
bookmarks: remove changectx() method from bmstore (API)
All the callsites of this method have access to the repo, and I'd
rather not have to duplicate this across alternative bmstore
implementations. Besides, it feels like a bit of a layering violation.
.. api::
`mercurial.bookmarks.bmstore` no longer has a convenience method
for looking up changectx instances from a bookmark name. Use
`repo[repo.bookmarks[name]]` intead of
`repo.bookmarks.changectx(name)`.
Differential Revision: https://phab.mercurial-scm.org/D6884
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 13:50:48 -0400] rev 42979
histedit: sniff-test for untracked file conflicts before prompting for rules
This bug is as old as histedit, which is more than 10 years! I'm a
little sad about the extra calculations here that we're just going to
throw out, but I don't see any better way to look for untracked file
conflicts and I want the bug fixed.
Differential Revision: https://phab.mercurial-scm.org/D6882
Augie Fackler <augie@google.com> [Mon, 23 Sep 2019 16:29:16 -0400] rev 42978
histedit: demonstrate breakage when `update` to a revision breaks
I'm honestly impressed that nobody has hit this in the over a decade
that histedit has existed, but here we are.
Differential Revision: https://phab.mercurial-scm.org/D6881
Paul Gossman <pgossman@janestreet.com> [Wed, 25 Sep 2019 10:59:29 -0400] rev 42977
rebase: track new nodes when --keep is set
When --keep is passed with rebase, the new nodes created are not
accessible from templates.
This change enables accessing the newly-created nodes from nodechanges,
just as if --keep was not set.
Differential Revision: https://phab.mercurial-scm.org/D6880
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Sep 2019 13:42:23 -0400] rev 42976
uncommit: fix typo in help text
Differential Revision: https://phab.mercurial-scm.org/D6874
Matt Harbison <matt_harbison@yahoo.com> [Tue, 24 Sep 2019 22:41:07 -0400] rev 42975
phabricator: use exthelper to register commands, config, and templates
Differential Revision: https://phab.mercurial-scm.org/D6875
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 11:04:08 -0400] rev 42974
merge: check argument value with if/raise instead of an assert
This shouldn't make any difference for legal code, but it'll prevent
the assertion from being optimized out if someone decides to do -O on
our code.
Differential Revision: https://phab.mercurial-scm.org/D6879
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 11:02:32 -0400] rev 42973
hg: have `updatetotally` more thoroughly check updatecheck argument (API)
.. api::
`mercurial.hg.updatetotally` is now more thorough about checking
its `updatecheck` keyword argument. Previously invalid values
would have used the configured default updatecheck method, but now
will raise ValueError.
Differential Revision: https://phab.mercurial-scm.org/D6878
Augie Fackler <augie@google.com> [Wed, 25 Sep 2019 10:53:10 -0400] rev 42972
merge: replace magic strings with NAMED_CONSTANTS (API)
.. api::
`mercurial.hg.update*` and `mercurial.merge.update` now expect a value
from a set of NAMED_CONSTANTS (`merge.UPDATECHECK_*` constants)
rather than a collection of magic strings. As of now, the values
are the same, but code should be prepared for these values to
change in the future.
Differential Revision: https://phab.mercurial-scm.org/D6877
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 12:59:26 +0200] rev 42971
singlehead: introduce special handling of closed heads
Until now, the experimental option `single-head-per-branch` was also refusing
closed heads. The logic is now ignoring them by default and a suboption have
been added to refuse them too `single-head-per-branch:account-closed-heads`.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 12:57:11 +0200] rev 42970
testlib: allow more argument to mkcommit
This is simple and handy. See next changesets for usage.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 12:35:34 +0200] rev 42969
singlehead: fix a small typo in a test comment
The sentence is now correct.
Augie Fackler <augie@google.com> [Mon, 20 May 2019 14:37:38 -0400] rev 42968
examples: add sample fix integration for `rustfmt`
Differential Revision: https://phab.mercurial-scm.org/D6873
Augie Fackler <augie@google.com> [Mon, 20 May 2019 14:33:46 -0400] rev 42967
contrib: add new examples area and start it out with a config for `hg fix`
This is the configuration contributors should use for our C/C++
code. I expect to expand this file as we get more automated formatter
oversight.
Differential Revision: https://phab.mercurial-scm.org/D6872