The outcome of "move the ruby project to git" probably means
different things to the Ruby community at large,
you (as GitLab CEO), or I...
But first, with Matz's concerns:
- Incremental numbering
"git describe" does output a generation number relative to the last tag.
However, I think changing the way we write commit messages to use
descriptive, and (mostly) unique commit titles is better for humans.
- Running scripts
Hooks are a part of base git, I don't think there's anything reliant on
GitLab we'd need...
But there are other issues affecting the Ruby project:
-
Some developers do not like or want to use git. So Ruby should
continue to accept patches against recent tarballs from non-git
users. Even today, some Linux kernel hackers who do not use git,
yet contribute much by mailing patches.
-
Merge conflicts with ChangeLog. gnulib has a git-merge-changelog tool
to help resolve conflicts; but GNU-style ChangeLog seems unhelpful
given the performance of "git log". I suggest dropping the GNU-style
ChangeLog entirely (but keep NEWS for non-hackers).
I have some questions about GitLab:
-
Currently, I am not a huge fan of using Redmine, but I tolerate it
for Ruby development because of:
1) bidirectional messaging to ruby-core ML
2) mostly usable with w3m in a non-graphical environment
Can we keep the above things with GitLab?
-
Finally, it would also be great if we allowed unregistered users to
post on ruby-core and report bugs. In fact, I've been thinking of
how to move towards accepting unregistered contributors for 2015.
Can GitLab accept unregistered contributions?
It would be great if it did. My eventual hope is for Ruby to
officially accept contributions without any sort of registration
or login. But I don't know how to make it happen, yet...
Some background: I am relatively new to ruby-core, but I love git and
have been using and contributing to git since 2005. One thing which
impressed me about the git project was how easy it was to send patches:
no registration or obligations of any sort, just email.
I might be able to say I helped git become adopted via git-svn,
but the current state of git adoption is a Pyrrhic victory for
distributed version control:
Distributed repositories flourish, yet communication (bug reports,
patch submission, code review, etc) is more centralized than ever.
This is not the future I envisioned when I started contributing to
distributed VCS in 2004 (with GNU arch, before git). The world is
even more centralized now in 2014 than it was in 2004.
I am not sure if GitLab helps with making things less centralized...
Fwiw, I prefer the email-based workflow used by git and Linux
developers. Users have more client and personal workflow choice with
email clients; but the plain-text message exchange remains 100%
interopable between users of different setups.
SMTP is also more robust and fault-tolerant than HTTP for exchanging
messages. Hardly anybody notices when vger.kernel.org (the mailing
list server) goes down because:
-
git and Linux hackers mainly email affected/responsible parties
directly and only Cc: the respective mailing list(s) for archival
purposes. The etiquette is reply-to-all, not reply-to-list like
most Ruby-related lists.
-
SMTP servers are designed to handle temporary network outages by
queueing and retrying. The HTTP client-server model is not.
Of course, HTTP services are immune to spam /* sarcasm ;) */
Everything said, I am available to help ruby with git stuff: hosting,
migrations, workflow, etc... I wrote most of git-svn, and have hosted
git repos since 2005. But the way I prefer to use git is alien to
the Ruby world.
Disclaimer: I do not speak for other git or Ruby developers.
However, if anybody hates git, they are welcome to blame me :)
--
alienperson