- Sep 18, 2020
-
-
Martin von Zweigbergk authored
When in-memory rebase runs into conflicts, it redoes the whole rebase operation. This patch teaches it to instead discard just the current `overlayworkingctx` and redo that node on disk. I've tested this by enabling in-memory rebase by default and checking that there are no unexpected differences after this patch. The next step is to make it so that `hg rebase --continue` can use in-memory merge. Differential Revision: https://phab.mercurial-scm.org/D9076
-
- Sep 24, 2020
-
-
Raphaël Gomès authored
Differential Revision: https://phab.mercurial-scm.org/D9080
-
Raphaël Gomès authored
An out-of-date `Cargo.lock` is the source of rebase conflicts, prevents a reproductible build, introduces desync between the series that introduces a change in dependencies and the one that eventually commits the `Cargo.lock`, and is just a general annoyance. This commit demonstrates that the test works, the next one fixes the currently out-of-date `Cargo.lock`. Differential Revision: https://phab.mercurial-scm.org/D9079
-
- Sep 01, 2020
-
-
Pulkit Goyal authored
In an upcoming patch, I wanted to check whether current repo uses treemanifest or not. I looked for a function and found that at all places we manually check for the requirement in repo requirements. I guess having a dedicated function for that is much better. Differential Revision: https://phab.mercurial-scm.org/D8981
-
- Sep 03, 2020
-
-
Valentin Gatien-Baron authored
When a single version of hg is in use and it's in the PATH, using chg is just a matter of calling chg. But when there are multiple installations of hg+chg around, and hg is referred to with an absolute path, using chg is more annoying because it requires both changing the invocation to hg to use chg, but also setting CHGHG. Currently, we set HGPATH when we build chg to remove the need to set CHGHG in the previous paragraph. But that means chg now hardcodes its installation path, which makes the installation not relocatable. Hence this proposal to make chg find ./hg relative to itself (as opposed to CHGHG=./hg which find hg relative to cwd). This only works on linux as written, but since it's opt-in, it sounds fine. Tested by hand, as I'm not sure how else to test this. Differential Revision: https://phab.mercurial-scm.org/D9006
-
- Sep 23, 2020
-
-
Jörg Sonnenberger authored
Unlike Python 3, xrange doesn't support efficient "in" and uses a linear time scan instead. Expand the condition to handle it fast. Differential Revision: https://phab.mercurial-scm.org/D9072
-
Martin von Zweigbergk authored
I want to add another call to `rebasenode()` and it's better to not have to duplicate the check. Differential Revision: https://phab.mercurial-scm.org/D9075
-
- Sep 18, 2020
-
-
Martin von Zweigbergk authored
I want to be able to check the property in `rebaseruntime._rebasenode()`. Passing the value via the runtime is a convenient way. Differential Revision: https://phab.mercurial-scm.org/D9074
-
- Sep 23, 2020
-
-
Martin von Zweigbergk authored
`dest` is the destination we're rebasing onto, which is always the same as `p1` when using `--collapse`. This lets us simplify a bit. Differential Revision: https://phab.mercurial-scm.org/D9073
-
- Sep 18, 2020
-
-
Martin von Zweigbergk authored
The argument is redundant with `rbst.inmemory`, which makes it unclear what to do if they were somehow different. Differential Revision: https://phab.mercurial-scm.org/D9070
-
- Sep 23, 2020
-
-
Martin von Zweigbergk authored
I enabled in-memory merge by default while testing some changes. I spent quite some time troubleshooting why largefiles was still creating an on-disk mergestate. Then I found out that it ignores the callers `wc` argument to `mergemod._update()` and always uses on-disk merge. This patch changes that so we raise an error if largefiles is used with in-memory merge. That way we'll notice if in-memory merge is used with largefiles instead of silently replacing ignoring the `overlayworkingctx` instance and updating the working copy instead. I felt a little bad that this would break things more for users with both largefiles and in-memory rebase enabled. So I also added a higher-level override to make sure that largefiles disables in-memory rebase. It turns out that that fixes `run-tests.py -k largefiles --extra-config-opt rebase.experimental.inmemory=1`. Differential Revision: https://phab.mercurial-scm.org/D9069
-
- Sep 21, 2020
-
-
Martin von Zweigbergk authored
I've sent several earlier patches adding `merge.clean_update()`, `merge.merge()` etc, one function for each use case. This patch continues that work. I plan to hide the complex `update()` eventually. Differential Revision: https://phab.mercurial-scm.org/D9064
-
- Sep 18, 2020
-
-
Pulkit Goyal authored
zstd is not available always like pure py versions. Hence we wrap that part around `#if zstd`. To make sure the functionality is tested on pure version as well, I have added another requirement addition test. Differential Revision: https://phab.mercurial-scm.org/D9045
-
- Sep 15, 2020
-
-
Antoine Cezar authored
It only supports revision specification (rev or full hash) and the list of files to cat. Differential Revision: https://phab.mercurial-scm.org/D9052
-
- Sep 11, 2020
-
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D9051
-
- Sep 15, 2020
-
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D9050
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D9049
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D9048
-
- Sep 09, 2020
-
-
Antoine Cezar authored
Add the option to list the tracked files of a revision given its number or full node id. Benched on a clone of moz-central where tip is 1671467:81deaa1a68ebb28db0490954034ab38ab269409d files -r 81deaa1a68ebb28db0490954034ab38ab269409d > out.txt hg 0m1.633s rhg 0m0.157s files -r 81deaa1a68ebb28db0490954034ab38ab269409d > /dev/null hg 0m0.415s rhg 0m0.143s Differential Revision: https://phab.mercurial-scm.org/D9015
-
- Sep 18, 2020
-
-
Antoine Cezar authored
List files tracked at a given revision. Differential Revision: https://phab.mercurial-scm.org/D9014
-
- Sep 09, 2020
-
-
Antoine Cezar authored
Use directly `ListDirstateTrackedFiles` rather than having an operation builder. Differential Revision: https://phab.mercurial-scm.org/D9013
-
- Sep 18, 2020
-
-
Antoine Cezar authored
Find the revision of a node given its full hash. Differential Revision: https://phab.mercurial-scm.org/D9012
-
- Sep 09, 2020
-
-
Antoine Cezar authored
A facade to `Revlog` to provide a `manifest` specific interface. Differential Revision: https://phab.mercurial-scm.org/D9011
-
Antoine Cezar authored
A facade to `Revlog` to provide a `changelog` specific interface. Differential Revision: https://phab.mercurial-scm.org/D9010
-
- Sep 02, 2020
-
-
Antoine Cezar authored
Check that the hash of the data reconstructed from deltas matches the hash stored in the revision. Differential Revision: https://phab.mercurial-scm.org/D9005
-
- Sep 23, 2020
-
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D8962
-
- Aug 17, 2020
-
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D8961
-
- Sep 09, 2020
-
-
Antoine Cezar authored
Differential Revision: https://phab.mercurial-scm.org/D8960
-
- 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
-