From: eregontp@... Date: 2018-03-01T09:40:49+00:00 Subject: [ruby-core:85880] [Ruby trunk Feature#14551] What's missing to switch to Git instead of using Subversion? Issue #14551 has been updated by Eregon (Benoit Daloze). > 1) Revisions become meaningless hashes; it's totally impossible to look at a revision id and know where it fits in relation to other revision ids. Looking at the committer date is enough to know the relation if we rebase (which is similar to what is done with subversion). > 2) Forking, making a change, and sending it back as a pull request is easy. But staying in sync over the long term is not. As an example, https://github.com/duerst/ruby says "This branch is 8734 commits behind ruby:trunk". I have asked people from github (incl. Aaron Paterson) to add a "sync me up" button besides this message, but that hasn't happened yet, even if to me this seems to be a non-brainer. And if I try to fork again, it tells me that I already have a fork. For committers, there is no need to use GitHub. So committers would just push to the official ruby git repository, just like with SVN. For pull requests on GitHub for non-committers which want to use GitHub, it shouldn't matter whether their fork is up to date or not. In a normal setup, there is the official ruby repository as the upstream/origin remote, and their fork as an extra remote. Then new branches should be pushed on their fork for pull requests, but should be rebased on top of the official ruby repository's master branch, not the fork's. ---------------------------------------- Feature #14551: What's missing to switch to Git instead of using Subversion? https://bugs.ruby-lang.org/issues/14551#change-70735 * Author: Eregon (Benoit Daloze) * Status: Rejected * Priority: Normal * Assignee: hsbt (Hiroshi SHIBATA) * Target version: ---------------------------------------- I know migrating to Git get asked at least every year at RubyKaigi, and this should be a motivation to change. #14470 is one example making me wonder why we still use such an ancient technology like Subversion. To be clear, this does NOT mean changing the issue tracker, that is orthogonal. 1) I have heard some scripts might stop working if we switch to Git and nobody knows a list of those scripts. But, can't we just switch and adapt them as needed? As long as this is not close to a release, I expect there will be a couple days where scripts are fixed but after that pretty much everything should work just as well as before. 2) Are there Ruby committers still using Subversion? I would guess the vast majority is using Git. Could they use https://help.github.com/articles/support-for-subversion-clients/ maybe if they want to keep using Subversion? 3) Does Redmine lack Git support? Is there an estimation of how much work it would take to add it? 4) Something else? Advantages include: * External people can contribute more directly with Pull Requests on GitHub, if they want (which is what most external contributors do). There is no need to squash their commits or manually checkout their branch, which delays integration significantly and loses the original author in the process (only mentioned as text while they really deserve to be marked as having contributed to Ruby). * We use a non-obsolete technology and don't look like a language from the past. * The setup for contributing to Ruby becomes much simpler (git clone, not a mix of SVN/git all the time) * Many others advantages but listing them is not the point of this issue. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>