New candidate JEP: 369: Migrate to GitHub
Joe Darcy
joe.darcy at oracle.com
Thu Nov 14 07:20:47 UTC 2019
Hello,
Thanks all for the thoughtful responses thus far.
On 11/13/2019 5:24 AM, Mario Torre wrote:
> Il giorno mer 13 nov 2019 alle ore 12:42 Erik Helin
> <erik.helin at oracle.com> ha scritto:
>
>> This does not paint the whole picture. You are probably thinking of the
>> "Conversation" tab in a GitHub pull request which is meant for *general*
>> discussion of the patch that is not attached to any particular change in
>> the patch. GitHub's own help documentation [0] states that the
>> "Conversation" tab is meant to be used for:
>>
>> You can comment on a pull request's Conversation tab to leave
>> general comments, questions, or props.
>>
>> You are right that comments in the "Conversation" tab are linearized and
>> does not support a "tree style" view of comments.
>>
>> The good news are that the _other_ form of comments available on a
>> GitHub pull request, a so-called "review comment" or "file comment" [1],
>> does support replies in the form of a tree. These comments are filed
>> under the "Files changed" tab in a pull request.
>>
>> Personally I think of the comments in the "Conversation" tab as replies
>> to the "00" email in a classic patch series email and the "review
>> comments" in the "Files changed" tab as replies to the "0X" emails
>> actually containing patches. Do you follow?
> Hi Erik,
>
> Your reply to me highlight the most important issue of all, we will
> have to re-learn all the workflow, adjust to new tools (which are not
> inherently integrated in Git but will have to be somehow configured
> and used) and get used to GitHub before we can be good citizens again.
It is certainly true that changing the JDK's SCM from Mercurial to Git
would be at least a transitory hassle.
Despite its technical merits and ease of use, Mercurial's usage is
plummeting, as further evidenced by losing support from BitBucket in the
near future [1]. I don't think using an increasing niche technology for
a cornerstone of OpenJDK infrastructure is a prudent long-term choice in
terms of keeping Java vibrant.
The Skara project has used a diligent and careful approach to revisiting
the JDK's SCM usage. Live mirrors of active Mercurial repos have been
available for many months, not just jdk/jdk and the update releases but
also amber, loom, shenandoah, tsan, etc. [2] Interested parties can
today clone those repos and start becoming familiar with Git tooling;
see the Skara wiki for details on getting started. [3] The Skara project
has also verified various boundary systems can work using the Git
mirrors; inside Oracle for over a year we've run a CI job against the
Git mirrors alongside the CI jobs run against the Mercurial masters. JBS
integration is in progress. These intermediate states purposefully allow
exploration of using Git as an SCM and avoid concentrating all potential
migration activities into only a narrow time window. As previously
stated at OCW, the Skara team is willing to host a "Git for JDK
Developers" talk to help ease a transition to the different SCM.
The OpenJFX project's workflows are broadly similar to those of the JDK.
As Kevin Rushforth has shared elsewhere on this thread, OpenJFX has
successfully moved to having their master repo on GitHub using Skara
tooling. There is no project larger than OpenJFX with a history of
similar workflows that can be migrated to Skara other than the JDK
mainline or update releases.
While the JDK workflows are familiar and comfortable to many of us, IMO
some of the details of those workflows stem from the particular tooling
available for use by OpenJDK circa 2006 and 2007. For example, mailing
lists were available while an externally usable bug tracker was not (for
some time), so many discussions that might otherwise be centered on the
bug tracker have historically occurred on OpenJDK mailing lists instead.
In contrast, the CSR (Compatibility & Specification Review) group [4]
was created after JBS was available and CSR reviews primarily occur
within the facilities of the bug system rather than primarily on a
dedicated mailing list. It would be possible to conduct CSR review on a
mailing list, but I don't think it would be beneficial to do so.
A rephrasing and expansion of the listed goal
"Ensure that workflows structurally similar to the existing e-mail
and webrev based workflows are supported."
is
"Provide conceptual continuity between existing workflows and new
ones on different tooling."
I would expected continued usage of mailing lists and webrevs to occur
alongside native usage of new capabilities of a hosted Git provider. As
one small example, there are certain kinds of review actions "Make
*this* edit right *here*" that are considerably streamlined with GitHub
tooling compared to the current mailing list centered interactions. The
possibility for improvements should be considered together with the
possibilities of regressions. I fully expect the Skara tooling to
continue evolving and improving as well as its user base grows.
Cheers,
-Joe
[1] https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket
[2]
http://cr.openjdk.java.net/~darcy/Presentations/OCW/ocw-2019-08-skara.pdf
[3] https://wiki.openjdk.java.net/display/SKARA
[4] https://wiki.openjdk.java.net/display/csr/Main
More information about the discuss
mailing list