>> * Opens Ruby development to a wider range of contributors. Ruby- and
>> non-Ruby-based projects alike have shown a dramatic upswing in contributions
>> after moving to Git.
>
> This is scientifically proven?
Heh, I confess not to have orchestrated a wide-scale statistical study
on the matter, no. The anecdotal evidence, however, is very much in
keeping with my claim. The experience of Rails
(http://www.igvita.com/2009/01/27/ruby-swarms-visualizing-rails-git/)
and the Linux kernel
(http://www.linuxfoundation.org/publications/whowriteslinux.pdf)
mirror those of other major projects which made the transition. If you
require numerical arguments to be convinced, I will endeavor to
assemble the requisite data.
>> * Allows tickets to be handled by de facto topic branch maintainers. A
>> contributor interested in improving documentation, for example, could review
>> the documentation tickets, apply the relevant patches to his 'doc' branch,
>> then propose it be merged periodically. The core team could, and should,
>> still monitor this branch's progress, and intercede where necessary.
>> Ultimately, development would suffer less from the current bottleneck
>> effect, allowing contributers to play a larger role.
>
> This sounds like more work than what happens now. How is more work supposed
> to make ruby development faster?
It is indeed more work than happens now. Now being the time of severe
ticket backlogs on Redmine (the statistics for which I cannot provide
as Redmine is, again, unresponsive), and more requests than I have the
decency to reference languishing without so much as an acknowledgment.
I am but an insignificant player, yet can vouch that I have a
multitude of tickets in my buffer which remain locally because
similar, submitted requests have been left to perish. The workflow we
propose will alleviate this situation by distributing this work to
extra and eager pairs of hands. It will require slightly more work to
the benefit of significantly more progress.
>> * Complicated feature proposals would take the form of branches. This
>> solves the current problem of patches rotting in Redmine because `rebase`
>> and Git's superior merging capability allow the patch to be kept in step
>> with the trunk. Further, this allows parties interested in the feature to
>> collaborate on the branch; only submitting a pull request when they deemt
>> mature.
>
> Can't this be done now with git-svn?
Such an approach can be poorly approximated by an intermediate user of
said gateway. But as the MBARI patches, the recent interest in the
win32-unicode branch, my trifling work on Onigurma, and many more
cases in recent memory serve to illustrate, this process is clumsy and
inelegant.
Put simply, while git-svn may flawlessly translate SVN to Git; the
converse can never be true: Git users must degrade their work, casting
aside the rich metadata Git supplies, so SVN can stomach it. Your
argument may be more properly put if reversed: Can the few who prefer
to retain the SVN toolset be accommodated by git-svn in conjunction
with a Git repository? Why yes, they can.
>> * Working with the trunk becomes more pleasurable due to Git's advanced
>> toolset and significant performance benefits.
>
>
> I've found git less pleasurable and it's "advanced" toolset cumbersome and
> unfriendly. It's largely been a performance detriment to me.
Perhaps if you could explain your difficulties, we may assist you in
overcoming them? If you desire to use Git as SVN, the interface is so
similar, that if one establishes compatiability aliases, the key
remaining difference is Git's superior speed. By "performance
benefits", I was referring to these magnificent speed benefits, which
are especially noticeable with large repositories such as Ruby's. :-)