- Apr 30, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
- Apr 29, 2020
-
-
Georges Racinet authored
This will be useful for rebase and fold operations from the Rails app. As explained in the docstring, the same result can be obtained with two successive calls to hg log, together with parsing of results to refuse ambiguities. While such a upstream Mercurial or Evolve should provide a template for this, we'll have a much better robustness with this fully tested command. Making the call from Rails the simplest possible has the biggest value for us.
-
Georges Racinet authored
It will also be useful elsewhere
-
- Apr 25, 2020
-
-
Georges Racinet authored
The API JSON payload for the post-receive endpoint has changed: messages categorization is simpler (`basic` or `alert`) and they are preformatted. We still support the GitLab 12.2 style
-
- Apr 26, 2020
-
-
Georges Racinet authored
It's been introduced in a9f1a24b9679, with the post-receive hook as a direct API call implementation (not in a any relased version)
-
- Apr 24, 2020
-
-
Georges Racinet authored
-
- Apr 20, 2020
-
-
Georges Racinet authored
The returned message is very generic, but the exact cause will be ovious in the logs. Most immediate case is misconfiguration.
-
Georges Racinet authored
Some libraries have to be excluded from the `demandimport` mechanism, because the requests library has conditional imports and checks and them. There wasn't any problem with these in early tests, all conducted in HTTP context: probably gunicorn did an earlier, regular import. But through SSH, which spawns a `hg` subprocess directly, the problem is immediate.
-
- Apr 19, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
Some existing Heptapod instances will benefit from their configuration being compatible with 0.13
-
Georges Racinet authored
Up to now, we didn't have Python requirements instead of those that are precisely provided by the build. This series introduces a dependency onto request.
-
- Mar 10, 2020
-
-
Georges Racinet authored
This implements the `post-receive` hook by a direct HTTP call to the internal API endpoint. For this, two new config parameters in the `heptapod` section are introduced: - gitlab-internal-api-secret-file - gitlab-internal-api-url We're keeping the previous structure, with a `name` that's now almost useless and leads us to the complication of the `_hook_methods` dict. This keeps compatibility for the caller (also part of this package since Heptapod 0.12), allowing us to refactor in a separate step.
-
- Apr 23, 2020
-
-
Georges Racinet authored
In this branch, we won't care about Mercurial 5.4, for which our tests are broken. The tests broken on the hg stable and default branches have already been fixed in the default branch of this project.
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
- Feb 17, 2020
-
-
Georges Racinet authored
The easiest part of heptapod#189: since the extension is inert if there is no manifest file, activating it inconditionally won't be a problem.
-
- Apr 20, 2020
-
-
Georges Racinet authored
The structure of the `phases` transaction attribute has changed. It's now a list of (key, value) pairs instead of a dict, and keys are lazy ranges (`xrange` in Python2) of revision numbers. The new unit test doesn't prove it really works for a given Mercurial version, only a separate run will do that, but it'll help developers work on both versions at once if they need to change the logic.
-
- Mar 27, 2020
-
-
Georges Racinet authored
In Mercurial 5.3, `source` and `base` are single valued, hence just a string, whereas in current default branch, future 5.4, they become lists. We could fix that by version introspection, but in that case, we're rebasing a topic with a single changeset, so that switching to the implicit form, or `rev`, which is already expected to be a list should work for both versions.
-
- Apr 20, 2020
-
-
Georges Racinet authored
-
- Apr 18, 2020
-
-
Georges Racinet authored
-
- Apr 05, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
The content is intended to be identical to 0.12.0, but this will allow us to test scenarios with installation from PyPI and correct specific problems with that.
-
Georges Racinet authored
It'd been simply forgotten. In order to avoid that in case of future changes, we switch to the standard `find_packages()`. This has the side effect of including the various tests packages, but that isn't a problem for so small a project, and it might even be a good thing for repackagers (Linux distributions…) that need to launch the tests.
-
- Mar 30, 2020
-
-
Georges Racinet authored
We've just had a GitLab branch named `topic/something` (with no named branch) on foss.heptapod.net, and it blocked all pushes to the affected project. We should probably just prune it, but I feel like not adding any risk we can avoid these days.
-
- Mar 27, 2020
-
-
Georges Racinet authored
This is a new feature in `hg-evolve` 9.3.0. To clients that don't have the topic extension, topics look like multiple draft heads, and create much confusion.
-
- Apr 05, 2020
-
-
Georges Racinet authored
As reported in heptapod#226, repeatedly importing the same changeset rewrites it several time, which is the very definition of content divergence. With these changes, we avoid re-pulling a changeset that's already present, yet obsolete. In the stacked PR use-case, the end result is that the second topic is orphan, but that's a much more frequent and easier to solve condition. We actually already had something for a similar case in the form of `non_obsolete_revs()`, but at the time the scenario of stacked PRs had been thought of only a posteriori, at the time of writing the docstring for the corresponding `test_already_obsolete()`. We could have thinked a bit more here. In truth `non_obsolete_revs()` is probably useless with our solution which is to take obsolete changesets into account in the initial assessment of the pull to be made, and that reflects with it not filtering anything in our existing tests. Since we are on the eve of a major release, we still keep it out of caution, only adding a direct test to restore coverage
-
- Mar 30, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
This is identical to rc4 for this component, more in phase with package metadata (some of these had been added after the rc4 tag, yet are part of rc4 on PyPI)
-
- Mar 29, 2020
-
-
Georges Racinet authored
See the long description for heptapod-0.8.4, explaining why we decided it to be identical to 0.8.3
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Although at this time we have most of the work done to rewrap hg-git in the heptapod-0-8 branch, it's too risky for release as 0.8.4. We'll just release 0.8.4 as identical to 0.8.3, only including this in a 0.8.5 if 0.12.0 is too much delayed.
-
- Mar 27, 2020
-
-
Georges Racinet authored
-