On Wed, Aug 22, 2018 at 5:38 PM Jeroen Demeyer <j.deme...@ugent.be> 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.