On Mon, Sep 3, 2018 at 3:53 PM Erik Bray <erik.m.b...@gmail.com> wrote: > > On Tue, Aug 21, 2018 at 10:43 AM Erik Bray <erik.m.b...@gmail.com> wrote: > > > > Hi all, > > > > Earlier this spring Julian RĂ¼th and I sat down and created a mirror of > > Sage's repository over at GitLab: > > > > https://gitlab.com/sagemath/sage > > > > This is in addition to the existing mirror at GitHub, for which we > > have no immediate plans except to have it link to the GitLab mirror. > > > > The reasons for this are several--in particular, Julian has put > > considerable work into a new advisory continuous integration system > > for Sage built on top of GitLab's CI pipeline system. It's quite > > nice, as the result of each built is a Docker image which can be run > > and tested in mybinder.org. With the exception of testing on unusual > > platforms, this means that proposed changes in tickets--if they indeed > > build successfully--will be easy to manually try out and play with > > without having to build them one's self. > > > > I will let Julian say more about that when he's ready to. I am > > bringing up the GitLab mirror for a different, but related reason, > > which is that I would like to start allowing submissions to Sage to be > > made via "merge requests" on GitLab (a.k.a. pull requests in GitHub > > parlance). > > > > Why GitLab? In short, we felt it would likely be more acceptable to > > most members of the Sage community; this was a feeling we had even > > before the Microsoft's acquisition of GitHub was announced. First of > > all, GitLab is open-core, meaning that the majority of their software > > is open source, but for paying customers there are additional features > > that are not made open source. This, in addition to providing higher > > level of support to paying customers, is the basis of their business > > model. But IMO it is more inherently open source-friendly than, say, > > GitHub. > > > > Second of all, while we are currently using the free hosting providing > > by gitlab.com, which frees us from both the cost in money and time of > > having to maintain our own GitLab server, GitLab makes it quite easy > > (I have done it myself) to self-host a GitLab server. So should > > anything ever go awry with gitlab.com, we can always export the > > project to a self-hosted server as we do currently with Trac. > > > > A second clarification to make is that we are not currently proposing > > to do away with Trac for Sage's ticket database, and we do not intend > > to open up the full issue tracker on GitLab. Instead, we only want to > > be able to accept merge requests, as we believe that enabling the > > popular "GitHub-style workflow" will make it easier and friendlier for > > new contributors to submit changes to Sage. For an immediate use case > > of this that I have in mind, I would like to make it easier for users > > to submit documentation fixes: https://trac.sagemath.org/ticket/25914 > > > > In order that this does not overly disrupt the existing workflow, I > > have created a bot that automatically syncs GitLab merge requests to a > > Trac ticket, including synchronization of the branch being proposed > > for merging. This would allow Volker to continue merging positively > > reviewed tickets as usual, and (in theory) never even have to touch > > GitLab. You can see an example of any auto-generated ticket attached. > > If there are suggestions as to how exactly the auto-generated tickets > > are formatted I'm open to them--I know it's not exactly perfect as-is. > > But those are details. > > > > The only major downside I see is fragmentation of the discussion of a > > merge request: Comments can be made either on GitLab itself, or in the > > auto-generated Trac ticket. I do not yet have a specific > > recommendation for that in mind, and we may need to experiment. I > > considered having the bot synchronize comments as well, but that could > > get even more confusing. One thing I will say though, is that GitLab > > merge requests will give us superior code-review tools, such as the > > ability to leave comments inline with the diff. I'd like to just try > > it and see how it goes, but I'm also open to suggestions. > > > > There is also precedent for this model in other projects with legacy > > issue trackers. Most notably, of late, CPython itself, which started > > accepting pull requests through GitHub. I haven't seen too much > > complaint about the discussion being fragemented. For the most part > > discussions about the details of issues and what to do about them stay > > on the issue tracker, while discussions about code details (i.e. code > > review) stay on GitHub, though this is not cut-and-dry. A recent > > informal poll of the CPython developers as to how this workflow is > > going was almost entirely positive: > > https://mail.python.org/pipermail/python-dev/2018-February/152200.html > > > > Some of you may remember this is not a first for Sage either: some > > time ago there was a similar experiment done with GitHub, but it fell > > unmaintained. If anyone has any lessons learned from that time, > > please add them. > > > > What does everyone think? Is there anyone opposed to going ahead and > > opening up merge requests? > > Now that the OpenDreamKit reporting period is over (at least to the > extent that I'm responsible for anything), I would like to re-raise > this issue one more time. > > To take a straw poll based on the responses so far, there are: > > 4x +1 (not including myself, which is an additional +1) > 1x +0 (how I am interpreting Dima's response, which did not include > an explicit +1 but seems positive; he can correct me) > 2x -0 (how I am interpreting Jeroen and Simon's responses, pending > some explicit correction from them) > > To answer again some of the concerns that have been raised, if I am to > be honest I am in favor, long term, of moving away from Trac entirely. > However, that is *not* what is being proposed here, and I have no > concrete plan for a full move off of Trac. If this does lead to a > "slippery slope" of more people wanting to move to GitLab from Trac I > see that as a positive thing: For all the advantages of Trac, if > enough people see a net positive to using a new tool, then so be it. > However, it will be hard for the community to even get a feel for > other tools if we don't (optionally) incorporate them into our exiting > workflow at some level. > > I'll leave this open for more comments until the end of this week > before making any moves.
I've been trying to get back to this for a few weeks now. Based on the latest straw poll that's +8 in favor and -2 against (I am counting Simon and Jeroen now as -1 each). Given the general overall favorability of the plan I've gone ahead and enabled it. But I won't advertise it much yet--not until we've tried it out a bit and worked out the kinks. I will try making a few merge requests next time I have some branches to push to Sage. And others are certainly welcome to try it as well. To do so you would fork https://gitlab.com/sagemath/sage and then submit your branch as a merge request back to that repository. If you don't want to make a personal fork, you can also request to be added to the https://gitlab.com/sagemath/dev/sage. There you can also make as many branches as you like, and also submit merge requests to the main repo (sagemath/sage) from there. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.