- 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 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 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 27, 2020
-
-
Georges Racinet authored
-
- Mar 16, 2020
-
-
Georges Racinet authored
also mentioned in the comment that we'll switch later on to a shared secret token.
-
- Mar 26, 2020
-
-
Georges Racinet authored
always feels a bit artificial, but here we go.
-
Georges Racinet authored
Necessary for PyPI, since that's Markdown (requires setuptools>=36.4.0 to add the correct field in PKG-INFO)
-
Georges Racinet authored
-
Georges Racinet authored
and also versioning. The point is to avoid people to believe this is to be used standalone
-
- Mar 25, 2020
-
-
Georges Racinet authored
dev.heptapod.net has become foss.heptapod.net
-
Georges Racinet authored
Included a copy of GPLv2 (although users may choose a later version), added SPDX metadata and missing per-file copyright notices and preambles.
-
Georges Racinet authored
-
- Mar 18, 2020
-
-
Georges Racinet authored
we're indeed doing identical releases in Heptapod components for clarity (at least avoid people thinking there's a typo when just one version would change)
-
Georges Racinet authored
-
- Mar 17, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
-
- Mar 16, 2020
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
- Mar 15, 2020
-
-
Georges Racinet authored
This `git.gitlab_mirror()` has become unnecessary. In `test_integration.py`, it's actually cleaner to to import from the test and use the class that we already have on hand.
-
Georges Racinet authored
it just makes more sense that way, we're already subclassing `__init__()` anyway.
-
Georges Racinet authored
We need the mirrorring to find the path to the Git repo of the shared repo. Shares will be useful to avoid concurrency problems in operations occurring on the server, such as merges from the Rails app.
-
Georges Racinet authored
The classmethod works from a path, wheread the instance method takes an existing wrapper, a common use-case in such tests.
-
- Mar 14, 2020
-
-
Georges Racinet authored
It will notably be useful for all cases where the server needs to use a working directory, so that concurrency can be supported.
-
Georges Racinet authored
From now on, Heptapod will write directly into GitLab's Git repository.
-
Georges Racinet authored
The new hg-git rewrapping (that works directly on GitLab's Git repository) is available yet not in use in the heptapod-0-8 branch. We will activate it in the default branch, targetting GitLab 12
-
Georges Racinet authored
As already indicated in the former Heptapod fork of hg-git, at this point the changes are already visible, but the locks aren't released. This is enough to be relevant to whatever GitLab needs to do, while preventing another push to change things before our post-receive is queued. Nowadays this latter protection is rather theoretical: GitLab treatment is highly asynchronous anyway.
-
Georges Racinet authored
Renamed `topic_new_hg_sha()` into `analyze_vanished_topic`, which underlines that it works on a topic that is no more visible. Split out `analyze_vanished_refs()` from `compare_exportable`, to make the general articulation more visible. Gave more explicit namings to many variables.
-