Re: [sage-devel] Enabling Merge Requests from GitLab
On 2018-08-22 21:18, Erik Bray wrote: But at the same time pull requests are cheap, and there's no harm in making them. The harm is that discussion is hard to follow because it's on multiple pages. Something that regularly happens on the Sage Trac: 1. Somebody creates an issue 2. Somebody (the same or other person) adds a branch 3. Somebody else forks that branch and adds a reviewer patch In the GitHub model, you now have 1 issue and 2 pull requests for exactly the same issue. Even if cross-links are added, you still end up with spaghetti discussions. -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Wed, Aug 22, 2018 at 8:58 PM Jeroen Demeyer wrote: > > For me, the number 1 thing that our Trac server does better than GitHub > (again, I don't know about GitLab) is that the "branch" field is > mutable: an issue is just a pull request without a branch and I can > change the branch on a pull request to add a reviewer patch (sometimes > it's easier to add a patch myself instead of explaining to the author > what he should do). I agree--this is one of my biggest complaints. I'm not sure why this isn't possible. It might have something to do with tracking comments but even that can't be the case. On GitHub it's already perfectly possible to force a push that completely replaces the original branch. Any source comments that can no longer be associated with a line in the patch are still visible on the issue's timeline, but just marked being a comment on outdated code. So if they already do this I'm not sure why the branch itself isn't mutable. Interestingly, GitLab allows you to modify the *target* branch of a merge request, but not the source branch. The opposite would seem more useful to me. Anyways, while I also like this aspect of Sage's Trac, it's something I could live without. If we can express a good use case for it, we might even be able to get such a feature into GitLab--we'd have a better chance there than with GitHub at least. Really the workflow is meant to be you create an issue first, and then you create one or more pull requests to resolve that issue. I am also a fan of being able to "elevate" an issue to a pull request. This is possible to do on GitHub through the web API and I have a script I use for it, but they're trying to discourage that, and I think even deprecate the ability to do so. I'm mystified as to why. But at the same time pull requests are cheap, and there's no harm in making them. > And I agree that custom fields are also very useful: I always find using > GitHub labels quite messy. And things like "dependencies" simply cannot > be handled using labels. GitLab has the ability to add "related issues" to an issue. I haven't used that feature so I don't know how useful it is by comparison.\ Anyways, I would prefer to leave the rest of this discussion for another time, and keep this focused just on enabling merge requests / pull requests. I think that is undeniably a more accessible way for new contributors to make their first contributions. -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
For me, the number 1 thing that our Trac server does better than GitHub (again, I don't know about GitLab) is that the "branch" field is mutable: an issue is just a pull request without a branch and I can change the branch on a pull request to add a reviewer patch (sometimes it's easier to add a patch myself instead of explaining to the author what he should do). And I agree that custom fields are also very useful: I always find using GitHub labels quite messy. And things like "dependencies" simply cannot be handled using labels. Jeroen. -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Wed, Aug 22, 2018 at 5:38 PM Jeroen Demeyer wrote: > > On 2018-08-21 10:43, Erik Bray wrote: > > A second clarification to make is that we are not currently proposing > > to do away with Trac for Sage's ticket database > > I find this quite important. I really really really like the Sage Trac > workflow (much more than I like GitHub; I haven't used GitLab so I > cannot comment on that). > > My only fear is that this semi-move to GitLab will be an excuse to > gradually make Trac less important. I don't want this to be a first step > on the slippery slope to move completely to GitLab. I like Trac too. In particular there are two things I like about Trac that most popular modern code hosting sites lack (though there are probably other things I like too, but these are the two that stand out): 1. Customizable ticket fields: Once can add any number of fields to tickets and those fields can be different data types (usually either a text box or select menu of some kind). Built-in examples include component, type, etc. This is common in most commercial bug tracking systems, but GitLab and GitHub basically just offer "labels"--just a single enumeration of tag strings you can attach to an issue (much like tags on a blog post, say). You can certainly emulate custom fields by namespacing labels, and this is common. E.g. "type: defect", "type: enhancement", etc. But this is not as good as having dedicated fields. Many projects make up for this by having bots which enforce a selection of labels from various categories (much like how Volker manually sets a ticket to "needs work" if the reviewer field is not set, a bot can mark a ticket as "needs work" if someone hasn't applied a "type" label to an issue. 2. Customized ticket workflows. E.g. new->assigned->needs_review->needs_work->needs_review->positive_review->fixed Many Sage developers whose only experience with Trac may not realize this, but that is *not* the standard default workflow for Trac. It has been customized specifically to meet the preferred workflow of Sage's maintainers (it could use a little more tweaking, but I think it's mostly pretty good). On GitHub and GitLab, most workflow enforcement is done by bots. And you can do a *lot* with bots, and this is successful for many projects. There are also many open source bots for this kind of purpose that can be used by any project, or easily tweaked to fit one's one workflow. I do prefer that workflow be more deeply built into the system, but at least there are workarounds. Again, if you want a good example, just look at CPython. It's pretty amazing actually--they have 3 or 4 different bots (all Monty Python and the Holy Grail themed) running all over the repository doing most of the repetitive tasks up to the point where all that's left is for a human to do code review: https://github.com/python/cpython GitLab in the meantime has added a few nice features that I think in part make up for the deficiencies in other areas. For example, there is a dedicated Milestone field on issues, which I think is important for Sage's workflow; there is also an assignee field (one that gets used less than it should on Trac as it is). There is also a due date (nice to have if you are aiming for a particular milestone) and fairly recently time tracking (less important on the whole for open source projects, but still nice if you want to know how much time you've spent on something). Search is also much, much better. It's very quick and easy to search for issues, and you can also search the code. So while I share your wariness, I can go either way. Introducing *some* GitLab into the workflow, if it takes off at all, will give people an opportunity to make up their own minds from personal experience, rather than FUD and speculation :) Best, E -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On 2018-08-21 10:43, Erik Bray wrote: A second clarification to make is that we are not currently proposing to do away with Trac for Sage's ticket database I find this quite important. I really really really like the Sage Trac workflow (much more than I like GitHub; I haven't used GitLab so I cannot comment on that). My only fear is that this semi-move to GitLab will be an excuse to gradually make Trac less important. I don't want this to be a first step on the slippery slope to move completely to GitLab. Jeroen. -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Tue, Aug 21, 2018 at 5:05 PM William Stein wrote: > > On Tue, Aug 21, 2018 at 1:43 AM, Erik Bray wrote: > > > 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. > > I think Robert Bradshaw set all of that up during a Sage Days, then > went back to his normal fulltime job and > basically didn't look at it again. So it was unmaintained just due to > lack of time/focus, and not some deeper > issue. That was my impression as well, but I still wondered if anyone had any particular experiences from that that they remembered. In particular I'm of course interested in Volker's opinion, as release manager. My "bot" has gone through a few iterations, and the current version is in fact actually just a Trac plugin, so it integrates closely with our existing Trac server and git repository. I've tried to make it explicitly compatible with his current process and to not get in the way of anything. Of course, if adjustments are needed in practice, they will be easy for me to make. > > What does everyone think? Is there anyone opposed to going ahead and > > opening up merge requests? > > > > +1. Thanks!!! > > -- > William (http://wstein.org) -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Tuesday, August 21, 2018 at 1:36:52 PM UTC+3, Erik Bray wrote: > > On Tue, Aug 21, 2018 at 11:21 AM Daniel Krenn > > wrote: > > > > On 08/21/2018 10:43 AM, Erik Bray wrote: > > > https://gitlab.com/sagemath/sage > > > > How do I become a member of the SageMath group (or the project) in > > Gitlab? (username: dakrenn) > > Just ask, like you just did :) > I'm also interested: I'm dimpase on gitlab > > However, I think until / unless there's been more discussion about > this and how to use it, we will be limiting access for now until there > are processes set up. > > For the most part, the main sagemath/sage repository is still going to > be a read only mirror of the git.sagemath.org repository, and will be > open only to merge requests, which must *not* be merged via GitLab; > rather a ticket on Trac would be opened, and once that ticket receives > positive review Volker would just merge as usual. The GitLab<->Trac > bot synchronizes the merge request branch from GitLab to a branch on > git.sagemath.org under the "u/galois/" namespace ("galois" is the name > of the bot). So, if this works correctly (which I've tested on > development servers) there need not be any process changes for the > release manager currently. Also, when the Trac ticket is closed the > GitLab merge request is also closed automatically. > > I didn't mention this in my original message, but we have also set up > a sub-project under https://gitlab.com/sagemath/dev This is where > team members, once we start adding them, can play around more freely, > and I don't know if we have an exact plan for how it will be used yet > (Julian has thought harder about this than I have). > -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Tue, Aug 21, 2018 at 1:43 AM, Erik Bray wrote: > 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. I think Robert Bradshaw set all of that up during a Sage Days, then went back to his normal fulltime job and basically didn't look at it again. So it was unmaintained just due to lack of time/focus, and not some deeper issue. > What does everyone think? Is there anyone opposed to going ahead and > opening up merge requests? > +1. Thanks!!! -- William (http://wstein.org) -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On Tue, Aug 21, 2018 at 11:21 AM Daniel Krenn wrote: > > On 08/21/2018 10:43 AM, Erik Bray wrote: > > https://gitlab.com/sagemath/sage > > How do I become a member of the SageMath group (or the project) in > Gitlab? (username: dakrenn) Just ask, like you just did :) However, I think until / unless there's been more discussion about this and how to use it, we will be limiting access for now until there are processes set up. For the most part, the main sagemath/sage repository is still going to be a read only mirror of the git.sagemath.org repository, and will be open only to merge requests, which must *not* be merged via GitLab; rather a ticket on Trac would be opened, and once that ticket receives positive review Volker would just merge as usual. The GitLab<->Trac bot synchronizes the merge request branch from GitLab to a branch on git.sagemath.org under the "u/galois/" namespace ("galois" is the name of the bot). So, if this works correctly (which I've tested on development servers) there need not be any process changes for the release manager currently. Also, when the Trac ticket is closed the GitLab merge request is also closed automatically. I didn't mention this in my original message, but we have also set up a sub-project under https://gitlab.com/sagemath/dev This is where team members, once we start adding them, can play around more freely, and I don't know if we have an exact plan for how it will be used yet (Julian has thought harder about this than I have). -- 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.
Re: [sage-devel] Enabling Merge Requests from GitLab
On 08/21/2018 10:43 AM, Erik Bray wrote: > https://gitlab.com/sagemath/sage How do I become a member of the SageMath group (or the project) in Gitlab? (username: dakrenn) Best Daniel -- 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.