GitLab 12.3.5 is a very good version to stop at for consolidation.
- the development cycle from 12.3 to 12.4 was the first to feature a new branching policy, in which the stable version branch
12-3-stableis less estranged from the
master. As a result, 12.3.5 is an ancestor of 12.4.0
- 12.3.5 uses GitLab Shell 10.0.0, which is both the last version featuring the Ruby code for SSH Git access that we adapted for Mercurial, and a version in which the Go implementation of the SSH Git access is fully available. It will therefore let us progress towards heptapod-shell#2 (closed) at our own pace, while working in parallel on other features. It's possible that we'll end up releasing %Heptapod 0.13.0 with the Mercurial SSH support in Go as a technology preview, leaving another big version jump to Heptapod 0.14.0
- the refactoring of the inner methods for repository creation and import in
lib/gitlab/shell.rbis now complete (not much to do any more with GitLab Shell) and now delegated to the inner
Git::Repositoryclass. The corresponding dead code has been removed. In this MR, we reintroduce some helpers that we rely on, but this is a good time to follow up with our own refactoring in
Mercurial::Repository. This will also be a good opportunity for better encapsulation of the Mercurial repository support code, paving the way for HGitaly in %Heptapod 0.14.0 and making subsequent GitLab version bumps smoother.
- coincidentally, Heptapod Runner 0.2.0 is based on GitLab Runner 12.3
Closes #245 (closed)