- Aug 13, 2020
-
-
Antoine Cezar authored
Read the content of a `revlog` at a given revision. Differential Revision: https://phab.mercurial-scm.org/D8959
-
- Sep 04, 2020
-
-
Antoine Cezar authored
Only covers the needs of the upcoming `rhg debugdata` command. Differential Revision: https://phab.mercurial-scm.org/D8958
-
- Sep 16, 2020
-
-
Pulkit Goyal authored
This makes sure it isn't intended to be overridden by subclasses. Thanks to Yuya for the nice suggestion. Differential Revision: https://phab.mercurial-scm.org/D9025
-
- Sep 09, 2020
-
-
Pulkit Goyal authored
`ACTION_KEEP` is overloaded and it's hard to figure out how we end up with this KEEP, what was the state of things. In a previous patch, we introduced `ACTION_KEEP_ABSENT` which represents files which are kept absent in the working directory. There is another special case where we keep the file when it's not present on both ancestor and remote side. We introduce a dedicated action for that. The goal is to use these information to make bid merge smarter. Differential Revision: https://phab.mercurial-scm.org/D9002
-
- Sep 21, 2020
-
-
Augie Fackler authored
Credit to moshez for testing this in the wild. Differential Revision: https://phab.mercurial-scm.org/D9062
-
- Sep 18, 2020
-
-
Jun Wu authored
If stdio fds are missing (ex. fd 0 is not present), chg might open fds that take the numbers 0, and attachio would send the wrong fds to the client, which might cause unwanted behaviors. Avoid that by detecting the missing fds and falling back to the original hg. Differential Revision: https://phab.mercurial-scm.org/D9058
-
Martin von Zweigbergk authored
This seems to have been added for merge driver, and since merge driver is now gone... Differential Revision: https://phab.mercurial-scm.org/D9053
-
Martin von Zweigbergk authored
The merge driver code was added in late 2015. I think '406a654b41cb::6f045b563fa5 & user("sid0")' is a reasonable revset for finding the relevant commits, including preparation for it. The code is very poorly tested, which makes it very hard to maintain. It seems it's only used by FB and they don't use this code base anymore, so let's remove the code to make it easier for us to maintain our product. Differential Revision: https://phab.mercurial-scm.org/D9041
-
- Sep 06, 2020
-
-
Raphaël Gomès authored
`simple_logger` is just too simple. `env_logger` supports logging to `stderr`, and logging filtering, for example, which are becoming necessary now. The project is nicely active. Differential Revision: https://phab.mercurial-scm.org/D8990
-
- Sep 22, 2020
-
-
Connor Sheehan authored
`pygit2`'s Repository object expects an instance of `Oid` to return the corresponding object, instead of the object itself. After this change and D9062, `hg commit -i` seems to work, unless it hits a case folding assertion (ie trying to add a file like `README.md`). Differential Revision: https://phab.mercurial-scm.org/D9068
-
- Sep 16, 2020
-
-
Kyle Lippincott authored
In a pathological `hg log` case, we end up executing the branchmap validity checking twice per commit displayed. Or maybe we always do, and I just noticed because it's really slow in this repo for some reason. Before: ``` Time (mean ± σ): 9.816 s ± 0.071 s [User: 9.435 s, System: 0.392 s] Range (min … max): 9.709 s … 9.920 s ``` After: ``` Time (mean ± σ): 8.671 s ± 0.078 s [User: 8.309 s, System: 0.392 s] Range (min … max): 8.594 s … 8.816 s ``` Differential Revision: https://phab.mercurial-scm.org/D9023
-
- Sep 21, 2020
-
-
Augie Fackler authored
-
- Sep 16, 2020
-
-
Antoine cezar authored
When specifying a test with `--blacklist` or `--whitelist` with path relatives to the repository root (eg: `tests/test-check-commit.t`) the file is not taken into account. It only works when the name of the test is given. It would be better if `--blacklist` and `--whitelist` behaviors where compatible with `--test-list`. This patch allows to use relative path with `--blacklist` and `--whitelist` while staying compatible with the old behavior by checking the test relative path in addition to its name. Differential Revision: https://phab.mercurial-scm.org/D9024
-
- Sep 18, 2020
-
-
Pierre-Yves David authored
The current code was blink to change from other branches when stripping merges that are ancestors of the working copy parents.
-
Pierre-Yves David authored
When using `hg strip --keep` on a set of changeset that contains a merge, the set of file considered when rebuilding the dirstate is missing files updated by changeset that are not directly inside the `new-parent::old-parent` range. We start with updating the test with new output highlighting the issue. This issue was spotted because that dirstate inconsistency made the test flaky. The new command make the test less flaky (but still wrong).
-
Martin von Zweigbergk authored
In-memory merge no longer uses on-disk mergestate since 19590b126764 (merge: use in-memory mergestate when using in-memory context, 2020-09-15). This patch removes the clearing from two places in the in-memory rebase code. I've verified that the one with a TODO was indeed fixed by the aforementioned commit. The other instance doesn't seem to have any test coverage, but I'm pretty confident it's also safe to remove. Differential Revision: https://phab.mercurial-scm.org/D9057
-
Martin von Zweigbergk authored
Unused since a0192a03216d (rebase: remove now unnecessary logic to allow empty commit when branch changes, 2020-07-09). Differential Revision: https://phab.mercurial-scm.org/D9055
-
Martin von Zweigbergk authored
We used "rebasing on disk" but "rebasing in-memory". I believe the former is correct, so I used that. Differential Revision: https://phab.mercurial-scm.org/D9054
-
- Sep 15, 2020
-
-
Pierre-Yves David authored
This makes debugging simpler.
-
- Sep 17, 2020
-
-
Pierre-Yves David authored
The content of some sets (eg: added, removed) is not always obvious so we document them.
-
- Sep 18, 2020
-
-
Augie Fackler authored
-
Yuya Nishihara authored
Follows up d252f51ab032. Maybe it is a copy-paste error.
-
- Sep 13, 2020
-
-
Yuya Nishihara authored
Spotted while writing broken tests for "hg grep -fr'wdir()'". basectx._fileinfo() raises ManifestLookupError(self._node, ..), but _node of the workingctx is None for historical reasons.
-
- Sep 18, 2020
-
-
Martin von Zweigbergk authored
This fixes some failing `test-check*` tests (at least `test-check-code.t` was broken). Differential Revision: https://phab.mercurial-scm.org/D9044
-
Martin von Zweigbergk authored
The commit message doesn't do anything in the in-memory case, and it's `_makerecords()` is also not needed in that case, so let's move it down to the on-disk subclass (i.e. the `mergestate` class). Sorry I missed this earlier. Differential Revision: https://phab.mercurial-scm.org/D9043
-
Martin von Zweigbergk authored
Oops, I thought I had remove the `rmtree()` call earlier. Maybe I accidentally got it back in a histedit or something. Differential Revision: https://phab.mercurial-scm.org/D9042
-
- Sep 15, 2020
-
-
Martin von Zweigbergk authored
This is my version of Augie's D8568. It makes it so we don't touch the mergestate on disk when using an in-memory context. The reason that I want this is not the same as the reason that Augie write his patch (though I agree with that reason too). My hope is to make in-memory rebase not fall back to on-disk rebase when there are conflict. I plan to do that by adding a `overlayworkingctx.reflect_in_workingcopy()`. The idea is that that will update the working copy, the dirstate and the mergestate as necessary. Differential Revision: https://phab.mercurial-scm.org/D9040
-
Martin von Zweigbergk authored
This extracts a new base class from `mergestate` and leaves all the vfs-touching code in `mergestate`. Differential Revision: https://phab.mercurial-scm.org/D9039
-
Martin von Zweigbergk authored
In-memory merge currently still uses on-disk mergestate. That's mostly harmless (I don't think I've seen any problem it's actually caused). It's still a little weird. I'm planning to add an in-memory mergestate, which will be used with `overlayworkingctx`. This patch prepares for that by extracting that logic, so it's easier to change per subclass. Differential Revision: https://phab.mercurial-scm.org/D9038
-
- Sep 16, 2020
-
-
Martin von Zweigbergk authored
This is hopefully not very controverial. I found the initialization before this patch unorthodox. It wasn't clear which properties the object was supposed to have. Differential Revision: https://phab.mercurial-scm.org/D9037
-
- Sep 18, 2020
-
-
Martin von Zweigbergk authored
As noted in the previous commit, there are no callers that (re-)use the instance after calling `reset()`. There are also no callers that call `_read()` after doing anything with the instance (it's only called right after an instance is created). If reviewers feel that this is too risky, I can extract and reuse the poisoning code that indygreg once added for poisining repo instances. Differential Revision: https://phab.mercurial-scm.org/D9036
-
- Sep 16, 2020
-
-
Martin von Zweigbergk authored
`ms.reset()` has somehow become a combination of two different things: 1. A constructor-like function creating an empty instance 2. A call to `shutil.rmtree()` to clear the mergestate. It seems that all callers now care only about the latter (since we changed one caller to use the new `ms.start()` method instead). Let's move the code for the former into `start()`, since that's the only place it's needed. Differential Revision: https://phab.mercurial-scm.org/D9035
-
- Sep 17, 2020
-
-
Martin von Zweigbergk authored
This is similar to the previous patch, but moves the separation one step further out, to `merge.py`. Differential Revision: https://phab.mercurial-scm.org/D9034
-
- Sep 16, 2020
-
-
Martin von Zweigbergk authored
We only have one place that calls `ms.reset()` with any arguments. That place is `mergestate.clean()`. The callers that call the function with no arguments seem to all just want delete the mergestate -- none of them look at the instance after calling `reset()`. Let's separate out the two different use cases to make the code clearer. I'll clean up further soon. Differential Revision: https://phab.mercurial-scm.org/D9033
-
Martin von Zweigbergk authored
There's only one caller of `reset()` that passes any arguments at all, and that originates from `merge.py:1371`. That code always passes values for both `node` and `other`. Differential Revision: https://phab.mercurial-scm.org/D9032
-
Martin von Zweigbergk authored
The node argument is set on the created `mergestate` instance, but these callers don't even look at that instance. Differential Revision: https://phab.mercurial-scm.org/D9031
-
- Sep 17, 2020
-
-
Martin von Zweigbergk authored
This makes the test case added in 20dd2a259b0f (test-grep: add tests for --follow with/without --diff and/or paths, 2020-09-11) pass on Python 3. Differential Revision: https://phab.mercurial-scm.org/D9030
-
- Sep 03, 2020
-
-
Pulkit Goyal authored
We build `mergeactions` in the beginning and use it in end. Let's build it just before where it will be used. Helps making code much easier to understand. Differential Revision: https://phab.mercurial-scm.org/D8983
-
- Jun 25, 2020
-
-
Pulkit Goyal authored
This helps us in testing changing requirements of source repository and checking that the shared repository works. Differential Revision: https://phab.mercurial-scm.org/D8660
-
- Sep 18, 2020
-
-
Pulkit Goyal authored
With `format.exp-share-safe` enabled, we now read the `.hg/hgrc` of the shared source also. This patch adds `--shared` flag to `hg config` command which can be used to edit that shared source config file. It only works if the repository is shared one and is shared using the safe method. Differential Revision: https://phab.mercurial-scm.org/D8659
-