From: Eric Wong Date: 2014-11-26T21:34:49+00:00 Subject: [ruby-core:66495] Re: [ruby-trunk - misc #10547] [Open] How to move the ruby project to git 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: > 1. 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. > 2. 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: 1) 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. 2) 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