A couple comments:
1. lib2geom already uses git 2. The biggest problem with git is the lack of human readable sequential revision numbering... but it seems this can be worked around. See, for example:
https://cd34.com/blog/programming/using-git-to-generate-an-automatic- version-number/
On Fri, 2017-01-06 at 00:51 -0800, Bryce Harrington wrote:
"The time has come," the Walrus said, "To talk of many things: Of shoes — and ships — and sealing-wax— Of cabbages — and kings — And why the sea is boiling hot—
And whether Inkscape should switch to gitlab or github or entirely other things."
At Hackfest 2015 we broached the topic of moving to git, and while recognizing it as probably inevitable, decided to take care of a few other things like switching to cmake first, and getting a release out the door, and getting going with Gtk3 and C++-11.
That release is out the door, cmake is done, Gtk3 is landed in trunk, C++-11 work is under way, and so I think it's time we start on tackling git.
When we last visited this discussion, there was a consensus that yes we should move to git, and that rather than self-hosting a plain git repo (ala freedesktop), we would be better to look at an integrated platform like github or gitlab. But there was not a consensus as to which of those two to pick.
So the task at hand is to discuss and deliberate the two and decide which should be our focus. Both have interesting pros and cons, and I don't think the decision is clear cut.
Where should we go?
In github's favor is that it holds the greater mindshare. Where we to go with it we'd potentially tap into a larger community of developers, which potentially could translate into a greater level of new participation in the project. github also seems like it's received a greater amount of polish and has some feature advantages (github's CI was seen as a huge pro last time we looked).
gitlab is an up-and-comer and is actively acquiring analogous features to github. A big pro for us is that gitlab is FOSS whereas gitlab is free but proprietary. With gitlab we'd also hold the option of self-hosting, which might not matter or might be a huge advantage, it's hard to say.
Both services provide broadly similar functionality and user experiences. The differences between them will be small compared with the differences we'll be facing moving from bzr+launchpad. Also, migration from github to gitlab or vice versa if we change our minds doesn't look like it'd be all that difficult.
Those may be the best two options but they're not the only ones we have. There's other services, and of course git can be used serverside all on its own purely as commandline, or with cgit to provide a minimal web service.
-- faqs -----------------------------------------------------------
Why the need to move from bzr? One of the reasons why we switched from svn to bzr rather than git was because it was easier to learn; these days so many people know git and don't know bzr (and probably don't care to learn bzr) that this isn't quite such an advantage any more. git is also more actively maintained than bzr, and has a far bigger ecosystem of tutorials, tools and services. We also liked the integration between bzr and the LP bug tracker -- we'll lose this, although github/gitlab provide different integration opportunities that might compensate a bit.
What services would we move? What we've discussed in the past is to keep the migration limited to VCS, branch management, and code review. The issue tracking in github/gitlab is quite different from what we've grown accustomed to in LP so changing that might be too much disruption. bzr->git is the main thing we're concerned with; transition of other services can be handled on a case by case basis.
How would we undertake the transition? suv made a good point today that migration of smaller codebases first can be helpful so that the learning curve can be digested in pieces rather than in one big go. So perhaps we should begin by moving some of our more peripheral bzr repos, then maybe things like the website and then 2geom, and then do inkscape last.
What about people who don't yet know git? I suspect a lot of us either already know git or have been working on learning it, that this isn't an issue. However, this transition is important enough I'd be willing to propose to the board that we fund book purchases and/or other forms of training for members that might need it.
When would the transition be done? We've done some initial experimentation already. I would propose as soon as we have a strong consensus for github or gitlab that we proceed with moving the board's repository, inkscape-docs, and any other small / lesser-used repositories still relevant to Inkscape. Then second in perhaps a few months migrate inkscape-web and 2geom over. Once those are complete then migrate the inkscape repository itself over, with the goal of having the migration done. I'd like to see the transition completed prior to when we start getting heavily into the 0.93 release.
Let me know your thoughts, and help us drive towards a consensus for github or gitlab.
Thanks, Bryce
Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel