- Jul 01, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
This is a merge of change done on the stable branch, where it was restricted to Merge Request creations by pushvars to limit the risks. In all cases, it makes sense to send the post-receive only after new writes are permitted, because there's no telling what writes the Rails app would need to perform directly. As far as I understand, Git locking is weaker than Mercurial's, as it happens on a file-per-file basis. That's why the Rails app could easily grow new problematic writes that wouldn't be rejected by locks in the Git case.
-
Georges Racinet authored
…and it will match Heptapod 0.23, while Heptapod 0.22 has 2.7
-
- Jun 25, 2021
-
-
Georges Racinet authored
Because the Rails application can perform Mercurial writes synchronously during treatment of the post-receive API call, we need the latter to happen only after full locks release. The only currently know case happens during Merge Request, creation, hence we change the behaviour on this stable branch only in that case. It would probably be better to make this inconditionally for the default branch (after all PostReceive should mean the reception is fully done). Closes heptapod#505
-
- Jun 24, 2021
-
-
Sushil Khanchi authored
Adding newly added cmd `hpd-ensure-gitlab-default-branch` to `hpd-ensure-all-gitlab-specific-state-files` as later one is responsible for existence of all state files specific to gitlab.
-
Sushil Khanchi authored
New alias `hpd-ensure-all-gitlab-specific-state-files` which will make more sense after we add a new command call in next patch. `hpd-ensure-all-gitlab-refs` name will be removed once we start calling new name at Rails side.
-
- Jun 23, 2021
-
-
Sushil Khanchi authored
-
- Jun 16, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
In many articulation places, we make sure not to transmit an empty dict, in order not to update all existing tests. Because pushvars have to be a a mapping (as environment variables in the CLI, already parsed as a dict in the internal API) and Git options are arbitrary strings (which GitLab can interpret as mapping if they have the `=` token), we decided arbitrarily to translate as follows: value is empty string -> send just the key otherwise, send `key=value` Later on we can have the CLI parser of Mercurial also accept just `KEY` to be synonymous of `KEY=`.
-
- Jun 11, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
Part of heptapod#496
-
- May 27, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
- May 26, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Closes heptapod#482
-
- May 25, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Apparently, it is possible for the ImportError to be raised immediately, and not at first attribute access, making thus the latter uncovered
-
- May 22, 2021
-
-
Georges Racinet authored
The move to `hgext3rd.hggit` is about to happen and will be released first with version 0.11.0
-
- May 20, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
- May 14, 2021
-
-
Georges Racinet authored
-
Georges Racinet authored
-
Georges Racinet authored
Closes heptapod#479 This assertion reproduces the issue, but the fix is provided by our earlier switch to our own `util.format_shas`, the problem being due to `scmutil.nodesummaries` expecting binary node ids (with no way to tell from the type)
-
Georges Racinet authored
`scmutil.nodesummaries` accepts binary nodes only (not a type error because everything is bytes in Mercurial) and does not fully work with sets. Closes heptapod#441
-
- May 13, 2021
-
-
Georges Racinet authored
It wouldn't run on the specified hg-git revision anyway. Also, HGitaly is not supposed to depend directly on hg-git, but at most on rewrapped py-heptapod functions, which are supposed to be fully tested (enough to be confident about clear API breakage).
-
Georges Racinet authored
The whole system seems mature enough to do this, and it can provide some early protections if we break the API. If we have serious reasons to regret it, we can still disable it temporarily. (done on the stablest branch so that it will propagate nicely up to default)
-
- Apr 25, 2021
-
-
Georges Racinet authored
The signature of the `pull` command changed from ``` def pull(ui, repo, source, **opts) ``` to ``` def pull(ui, repo, *sources, **opts) ``` As a result, it's not possible to use the named argument style for the source any more, but we can still pass it as an anonymous positional argument. It's a bit less explicit, but it works for all versions. (same thing with `push`)
-