One thing at a time: let's move to Git

Many people wish for Boost to move from svn to git. Other people are fine with svn, but are not opposed to a change to git. So how about we just make it happen? Clearly Ryppl is trying to do too many things at once (modularize Boost, change the build system, the testing system, etc.). I offer we take one step at a time: let's simply move from svn to git, and not do anything else. I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done? Do we just need to set up a scheme to transfer over all accounts and that's it?

Am Montag, den 31.01.2011, 10:26 +0100 schrieb Mathias Gaunard:
I offer we take one step at a time: let's simply move from svn to git, and not do anything else.
Doing one step at a time is a good idea. I think everybody agrees. Moving to git is a good idea too, in my opinion, but I don't think that everybody agrees! Further, the move to git is a rather big step. I think we first have to agree on a process. Then we need an approach that allows us to move one project at time. So that those comfortable with git may already make the move while the others may continue with svn. You are proposing three steps: 1. Move a bulk of 80 projects to git. 2. Migrate 80 projects to another build tool. 3. Modularize 80 projects. I propose 80 steps: 1. Migrate the first project. 2. Migrate the second project. 3. ... cheers, Daniel

On Mon, Jan 31, 2011 at 5:14 AM, Daniel Pfeifer <daniel@pfeifer-mail.de> wrote:
Am Montag, den 31.01.2011, 10:26 +0100 schrieb Mathias Gaunard:
I offer we take one step at a time: let's simply move from svn to git, and not do anything else.
Doing one step at a time is a good idea. I think everybody agrees. Moving to git is a good idea too, in my opinion, but I don't think that everybody agrees! Further, the move to git is a rather big step.
I think we first have to agree on a process. Then we need an approach that allows us to move one project at time. So that those comfortable with git may already make the move while the others may continue with svn.
You are proposing three steps: 1. Move a bulk of 80 projects to git.
IIUC, Mathias was proposing moving all of Boost to git.
2. Migrate 80 projects to another build tool. 3. Modularize 80 projects.
Again IIUC, Mathias was proposing that we "not do anything else" at this time. I've had the same thoughts recently. I've used Git enough to be comfortable with the idea that Git is worth moving to regardless of whether or not we make other changes. --Beman

On 31 Jan 2011, at 09:26, Mathias Gaunard wrote:
Many people wish for Boost to move from svn to git. Other people are fine with svn, but are not opposed to a change to git.
So how about we just make it happen?
Clearly Ryppl is trying to do too many things at once (modularize Boost, change the build system, the testing system, etc.).
I offer we take one step at a time: let's simply move from svn to git, and not do anything else.
I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done?
Do we just need to set up a scheme to transfer over all accounts and that's it?
The most obvious other thing that needs doing is updating the automated testing scripts. Chris

Mathias Gaunard wrote:
Many people wish for Boost to move from svn to git.
I thought some of you might be interested in this article from lwn.net about PostgreSQL's transition to git: http://lwn.net/Articles/409635/ Quoting: The PostgreSQL Project finally switched from CVS to Git in September 2010, and did its first release based on the new Git repository on October 5. Making the switch happen took years and resulted in at least one near-disaster. Other projects that are contemplating, or working on, a transition in their version control system may find useful lessons in how PostgreSQL fared. I don't draw any particular conclusions from it w.r.t. Boost, but it might be worth a look - that is, if you have any spare reading-time left, after catching up with the recent unprecedented verbosity on this list... Regards, Phil.

Mathias Gaunard <mathias.gaunard@ens-lyon.org> writes:
I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done?
Mathias, I'm currently working on a conversion to Git that faithfully preserves *all* past history. The current boost-svn.git mirror out there on the Net does not do this, and so is not sufficient for us to move to in my opinion. I'll post here when I get closer; I'm about 95% complete with the process, which directly rewrites Subversion dump files into their corresponding Git objects, paying especial care that no change is lost from any revision's set of transactions. John

On Mon, Jan 31, 2011 at 2:53 PM, John Wiegley <johnw@boostpro.com> wrote:
Mathias Gaunard <mathias.gaunard@ens-lyon.org> writes:
I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done?
Mathias, I'm currently working on a conversion to Git that faithfully preserves *all* past history. The current boost-svn.git mirror out there on the Net does not do this, and so is not sufficient for us to move to in my opinion.
I'll post here when I get closer; I'm about 95% complete with the process, which directly rewrites Subversion dump files into their corresponding Git objects, paying especial care that no change is lost from any revision's set of transactions.
This work John is doing is important. It might well mean a higher quality conversion to Git. --Beman

On 31/01/2011 20:53, John Wiegley wrote:
Mathias Gaunard<mathias.gaunard@ens-lyon.org> writes:
I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done?
Mathias, I'm currently working on a conversion to Git that faithfully preserves *all* past history. The current boost-svn.git mirror out there on the Net does not do this, and so is not sufficient for us to move to in my opinion.
I'll post here when I get closer; I'm about 95% complete with the process, which directly rewrites Subversion dump files into their corresponding Git objects, paying especial care that no change is lost from any revision's set of transactions.
Aren't there tools that already do this automatic conversion?

On Tue, Feb 1, 2011 at 00:03, Mathias Gaunard <mathias.gaunard@ens-lyon.org>wrote:
Aren't there tools that already do this automatic conversion?
Yes they exist but they aren't perfect for big projects, often require hacking to get all the history for very long history project. In fact people having done big libraries conversions often advice to not try to get ALL the history of a very big project, only last few years that are useful. It makes conversion fare easier. Joël Lamotte.

At Tue, 01 Feb 2011 00:03:16 +0100, Mathias Gaunard wrote:
On 31/01/2011 20:53, John Wiegley wrote:
Mathias Gaunard<mathias.gaunard@ens-lyon.org> writes:
I think there is already a non-modularized version of Boost on git somewhere. What else needs to be done?
Mathias, I'm currently working on a conversion to Git that faithfully preserves *all* past history. The current boost-svn.git mirror out there on the Net does not do this, and so is not sufficient for us to move to in my opinion.
I'll post here when I get closer; I'm about 95% complete with the process, which directly rewrites Subversion dump files into their corresponding Git objects, paying especial care that no change is lost from any revision's set of transactions.
Aren't there tools that already do this automatic conversion?
Yes. The best known tools are being used by the boost-svn.git mirror. John's doing better than that. -- Dave Abrahams BoostPro Computing http://www.boostpro.com
participants (8)
-
Beman Dawes
-
Christopher Jefferson
-
Daniel Pfeifer
-
Dave Abrahams
-
John Wiegley
-
Klaim - Joël Lamotte
-
Mathias Gaunard
-
Phil Endecott