- Mar 28, 2024
-
-
Raphaël Gomès authored
-
Pierre-Yves David authored
This bundle2 part is about helping the client to warms its cache. There is no reason for it to be mandatory. So we mark it advisory.
-
- Mar 25, 2024
-
-
Pierre-Yves David authored
Apparently iterating over the `changed_revs` dictionary is very expensive. On mozilla-try-2019-02-18, a perf::unbundle call with a 10 000 changesets bundle gives give use the following timing. e57d4b868a3e: 4.6 seconds ac1c75188440: 102.5 seconds prev-changeset: 30.0 seconds this-changeset: 4.6 seconds So, the performance regression is gone. Once again: thanks to marvelous Python!
-
Pierre-Yves David authored
If we retract for the draft phase, there is not non-public item to be retracted and we can skip this part. This part is was apparently super costly thanks to Python. On mozilla-try-2019-02-18, a perf::unbundle call with a 10 000 changesets bundle gives give use the following timing. e57d4b868a3e: 4.6 seconds ac1c75188440: 102.5 seconds this-changeset: 30.0 seconds So we recovered about ⅔ of the regression, the next changeset will give us the rest back.
-
- Mar 21, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
- Mar 17, 2024
-
-
Felipe Resende authored
After revision 0afe96e374a7, subrepo paths were normalized using posixpath.normpath and that resulted in ssh paths being wrongly converted from ssh://host/path to ssh:/host/path This fix applies the same logic used in urlutil.url to split the path scheme from the rest and only use posixpath.normpath to the string after scheme://
-
- Mar 16, 2024
-
-
Felipe Resende authored
In 73ed1d13c0bf the code was refactored but the error handling seems to have been missed (or maybe the object shoud have implemented __bytes__)
-
- Mar 18, 2024
-
-
Raphaël Gomès authored
This code path was apparently not tested. This fixes a crash when cloning the Tryton repo.
-
- Mar 15, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Pierre-Yves David authored
We allowed duplicated entries in the deque, which each entry could potentially insert all its ancestors. So advancing boundary for the full repository would mean each revision would walk all its ancestors, resulting in O(N²) iteration. For repository of any decent size, N² is quickly insane. We introduce a simple set to avoid this and get back to reasonable performance.
-
- Mar 14, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
Activating an extension is always a little bit of a chore and the long name, options and "chainsaw" bits are deterrent enough. This also allows us to help the discoverability for people looking for repo "administration" tools, with the widest semantic of "administration".
-
- Mar 13, 2024
-
-
Anton Shestakov authored
This is probably less important now that we dropped Python 2. We do still support Python 3.6 though, and the dictionaries aren't ordered there either (that was a big change that came with 3.7). Still, maybe it's a good idea to sort metadata explicitly.
-
- Mar 11, 2024
-
-
Pierre-Yves David authored
The revlog compression makes a lot of numbers unstable. Since checking revlog compression is not the goal of this test, we disable the compression to get stable numbers. This should avoid wasting more time on this kind of changes in the future.
-
Pierre-Yves David authored
Since the configuration was not explicit, the case stopped testing what it intended to test when the default value changed.
-
Pierre-Yves David authored
The "worker process exited" line have been making the CI flaky for a long time. Lets sort this out.
-
Pierre-Yves David authored
The flakiness on chg is caused by a client that exit faster than the server output log. So actively wait for the server to issue the expected output (with a small timeout)
-
Pierre-Yves David authored
This will prevent the test to be flaky on load.
-
Georges Racinet authored
Extracting this `re_builder()` from `re_matcher()` makes it reusable in more general cases than matching `HgPath` instances and would help reducing code duplication in RHGitaly.
-
Georges Racinet authored
Making this function public should not risk freezing the internal API, and it can be useful for all downstream code that needs to perform glob matching against byte strings, such as RHGitaly where it will be useful to match on branches and tags.
-
- Mar 05, 2024
-
-
Pierre-Yves David authored
This does not need to mutate the index. This is the prime suspect for some RuntimeError raised during some pushes.
-
Pierre-Yves David authored
It does not needs to mutate the index. This is one of the two suspects of RuntimeError being thrown during push.
-
- Feb 29, 2024
-
-
Martin von Zweigbergk authored
We got a bug report where `curses.endwin()` failed with `_curses.error: endwin() returned ERR`. Looking at e306d552dfb1, it seems like we should be able to just remove these calls.
-
- Mar 04, 2024
-
-
Pierre-Yves David authored
See previous commit for rational.
-
Pierre-Yves David authored
This should help people to put configuration in the right section.
-
- Feb 23, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Pierre-Yves David authored
This turned out to make a quite significant difference.
-
Pierre-Yves David authored
That will prevent the user to be presented with a start that pretend to be consistent with the request, but is not.
-
Pierre-Yves David authored
This should prevent and catch some misusage where something else try to touch the repository.
-
Georges Racinet authored
Perhaps we should go just a bit lower level than this `instance()`, since the main added value in our use-case is full path resolution, that we need to do anyway for the rmtree cleanup.
-
Pierre-Yves David authored
This will be relevant for the next improvement of `chainsaw-update`.
-
- Jan 17, 2024
-
-
Georges Racinet authored
Previously, the command would simply state that it was about to break locks, not if there was actually some to break. This version is race-free. It would be also possible to display the content of the lock before hand (not race-free but informative in almost all cases).
-