- Feb 05, 2022
-
-
Georges Racinet authored
With the Mercurial 6.1 (core see heptapod#633) taking obsolescence into account while updating branchmap, it is no longer necessary to perform the (very slow) post-processing provided by the evolve extension. Because of the big jump in minimum required Mercurial version, we make it a major version change. Fixing heptapod#632 will thus boil down to requiring py-heptapod>=4.0.0dev0 This post-processing was the standard if evolve is activated (through the single heads enforcement logic), but the heptapod extension was (and still is) disabling it because it needs to call it itself anyway. See 834eb9379d73 for details.
-
- Jan 25, 2022
-
-
Georges Racinet authored
[skip ci]
-
- Jan 03, 2022
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Nothing interesting, but will prevent some conflicts later on.
-
Georges Racinet authored
The setting used is the same as the one introduced by de2e04fe4897 in Mercurial core. The logging will help adjust values in production. Part of heptapod#601
-
- Jan 02, 2022
-
-
Georges Racinet authored
Useful if Git mirrorring was suspended for experimentation of fully native Mercurial without Git, but resuming is needed. Part of heptapod#580 (perhaps call it `hpd-resume-git-mirrorring`?)
-
- Nov 26, 2021
-
-
Georges Racinet authored
This is a bit formal, as it produces actually an empty diff (py-heptapod hasn't changed between 0.26 and 0.27)
-
- Nov 15, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
- Nov 13, 2021
-
-
Georges Racinet authored
The original wording was appropriate when the pre-receive call was done actually after the transaction. It was then useful to warn the user of a possible decrepancy. But an error in pre-receive has long since become a trigger for transaction abort. On the other hand, the original message was still appropriate for the post-receive call, expanding it a bit to include "actions" not triggered.
-
- Nov 11, 2021
-
-
Georges Racinet authored
-
- Nov 10, 2021
-
-
Georges Racinet authored
See heptapod#573
-
- Nov 03, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
This is a mitigation for the remaining cases of heptapod#452, of course hoping the exception occurs in `prune_closed_branch()`.
-
- Oct 25, 2021
-
-
Georges Racinet authored
The `%d` in the revset used to analyse new changesets produces a hard error if the revno does not exist, instead of an empty result. We could later on try and introduce a logic similar to MR detection, but the topic is not always visible to GitLab anyway, for instance if the closing changeset is the only one, so that would require more changes. Meanwhile, we have a solution for one of the cases of heptapod#452
-
- Nov 03, 2021
-
-
Georges Racinet authored
(adapted graft of 4728e33a7d5c) Here we consider straight Abort errors to be user errors, hence not warranting a server-side traceback in the logs. On the other hand, all other uncatched errors will be logged at error level. This makes use of `hg-loggingmod` 0.3.0 ability to log tracebacks in the logs. This can certainly be improved further, as it doesn't prevent server-side tracebacks to be displayed to SSH clients, for instance.
-
- Oct 28, 2021
-
-
Georges Racinet authored
This solves this problem in tests of testhelpers: # actual error is FilteredRepoLookupError up to 5.9 and will # be InputError in 6.0 (current default head of Mercurial, does not # bear the version yet) > with pytest.raises(error.Hint) as exc_info: E TypeError: expected exception must be a BaseException type, not Hint heptapod/testhelpers/tests/test_repo_wrapper.py:54: TypeError The queston would be whether it'd be reasonable to make `error.Hint` subclass `Exception` (or `BaseException`). Also pytest<6 works for me, but that doesn't mean pytest 6.0.0 was the one to start demanding exceptions to be subclass `BaseException`.
-
- Oct 25, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Here we consider straight Abort errors to be user errors, hence not warranting a server-side traceback in the logs. This can certainly be improved further, as it doesn't prevent server-side tracebacks to be displayed to SSH clients, for instance. This makes use of `hg-loggingmod` 0.3.0 ability to log tracebacks in the logs.
-
- Oct 17, 2021
-
-
Georges Racinet authored
This is not upstream in mercurial_testhelpers because it depends on the `prune` command.
-
Georges Racinet authored
This long-running named branch was to carry intrusive changes necessary for operation without any auxiliary Git repository. As of !65, we've reached the point were everything is neatly separated and fully optional, depending on choices made by the other Heptapod components. I have checked as thoroughly as possible that using the `hgitaly2` branch of py-heptapod didn't break anything (unit/integration tests, functional tests).
-
Georges Racinet authored
This is to make sure everything is alright before we merge the hgitaly2 branch into default. (to be ignored in the final merge)
-
- Oct 12, 2021
-
-
Georges Racinet authored
This allows the Rails application to switch to the mode without any conversion to Git.
-
Georges Racinet authored
This introduces the new `NoGitStateMaintainer` class, whose usage is triggered by the new `heptapod.no-git` boolean parameter, which is false by default. The new `no_git.test_integration` test module is an adapted copy of `git.test_integration`, written in such a way that `diff -u` between the two source files is readable, to help with maintainability. This may result in some weird line breakings and the like.
-
- Oct 17, 2021
-
-
Georges Racinet authored
These should be only spelling and type changes, meant so that the diff with the future tests of a native state maintainer without a Git repository are easier to compare with these. This explains some weird line breaks, such as: ``` wrapper.commit_file( 'foo', message='some msg') ``` because it will become in the tests for the future class something like ``` ctx = wrapper.commit_file( ``` with the second line unchanged. We also take the opportunity to modernize the calls to the deprecated `write_commit()`.
-