spring-projects / spring-integration

Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)
http://projects.spring.io/spring-integration/
Apache License 2.0
1.54k stars 1.11k forks source link

Migrate from SVN to Git [INT-1348] #5331

Closed spring-operator closed 13 years ago

spring-operator commented 14 years ago

Mark Fisher opened INT-1348 and commented

Spring Integration will move from Subversion to Git, and this switch is planned to occur immediately following the 2.0 RC1 release.


Attachments:

Sub-tasks:

Issue Links:

spring-operator commented 14 years ago

Chris Beams commented

Notes on how the migration has been performed thus far, and how it will be completed on the day of switchover:

Set up the svn2git authors file.

See attached. Place this file in its conventional location at ~/.svn2git/authors, or reference it explicitly with svn2git --authors option. All commands below omit --authors in favor of the default location. In any case, it's important to set this file up in order to have a clean commit history in the new repository (i.e. all committers have proper names and email addresses)

Install svn2git from latest sources

There is a recent fix to svn2git --rebase that is critical for our purposes. In order to take advantage of it, do the following:

install ruby dependencies for svn2git

First, ensure you have gem installed, if not, macports or google can help.

sudo gem install git
sudo gem install rubyforge
sudo gem install technicalpickles-jeweler -s http://gems.github.com
sudo gem install rake

check out, build and install svn2git

git clone http://github.com/jsnyder/svn2git.git
cd svn2git

Perform the migration (took me approx 1hr on a marginal connection; YMMV):

mkdir spring-integration
cd spring-integration
svn2git --verbose https://src.springframework.org/svn/spring-integration
svn2git --rebase # pick up any changes since original svn2git above
git remote add origin git@git.springsource.org:spring-integration/spring-integration.git
git push --dry-run --all --set-upstream origin
git push --dry-run --tags origin
git push --all --set-upstream origin
git push --tags origin

At this point, the new git repository has been populated, and any interim commits between now and the actual day of switching can be updated with svn2git --rebase

Process on the actual day of switchover:

cd /path/to/spring-integration
svn2git --rebase
git push --tags origin

Note the above assumes there are no new branches. If so, do an additional git push --all --set-upstream origin

spring-operator commented 14 years ago

Grzegorz Grzybek commented

I think that's good news to migrate from SVN to Git - but with SVN it's easier to quickly look at repository by browsing https://src.springframework.org/svn/spring-integration/ - are you planning to add some HTTP interface to Git? Are you going to prepare some instructions about how to find Spring products' sources in git.springsource.org?

spring-operator commented 14 years ago

Chris Beams commented

@Grzegorz - yes, there will be an http interface and announcements to this effect soon. Thanks for the feedback.

spring-operator commented 14 years ago

Grzegorz Grzybek commented

Thanks :) I hope this will be somehow similar to GitHub - this will surely open a new chapter for Spring's community support! Are all of Spring portfolio products going to be moved to Git? For SVN I guessed some URLs (e.g. for Spring Integration adapters), but I haven't figured out where Spring-Social sources come from...

best regards!

spring-operator commented 14 years ago

Chris Beams commented

authors file as mentioned in migration instructions

spring-operator commented 13 years ago

Chris Beams commented

Reopening to update the authors file attachment with a more accurate one

spring-operator commented 13 years ago

Chris Beams commented

Re-resolved