-
Georges Racinet authored
Upstream switched to Ruby 2.7, and we're taking the opportunity to upgrade the standard PostgreSQL version to 12, meaning this will be the one used in CI. Points of interest: - upstream went further in decoupling repositories from projects, with a unique `repository_path` internal reference, instead of the previous pair of namespace path and repository file name and various special cases and conventions. Notably, this occurred in `GitAccess`. This had by far the greatest impact on our code base, and can lead to further adaptations or simplifications: + perhaps we can let go of our `namespace_fs_path` arguments in `HgGitRepository.create_repository` and similar + perhaps it's time to refactor `HgAccess` to introduce a class hierarchy with the analogs of `GitAccessProject`, `GitAccessWiki` etc. - 2FA for SSH: new feature to be tested and adapted if needed, two-factor authentication for SSH repository operations. It works with a stateful Redis session and a separate call: `ssh heptapod.example 2fa_verify` - `user_{block,deactivation}_effects.html.haml` was removed upstream in favor of direct methods in `UsersHelpers`, where our changes (VCS neutral wording) had to be ported. - `projects/issues/show.html.haml` was split upstream, leading to a big conflict. Our change being in gating the rendering of the new branch proposal, we included it into `IssuesHelper#show_new_branch_button?` - Page for empty projects now resynced with upstream changes, without the conditionals based on permission to push on default branch in the case of Mercurial (can be improved later) - `_how_to_merge.html.haml` (Merge instructions modal dialog) has been ported upstream to VueJS. Ported our changes there. - New project page: choice between "blank", "import" and "template" is now a mandatory first screen instead of three tabs with "blank" selected by default. Our functional tests must be adapted to this new page flow.
efa00a757f7c