The Dataverse Network Project ( http://thedata.org ) is planning on migrating from svn on SourceForge to git on GitHub.
This repo will capture the migration process.
When we're done, we'll update http://guides.thedata.org/book/3-check-out-new-copy-dvn-source
The gh-pages branch of this repo contains the source for guide for DVN developers to transition to GitHub: http://dvn.github.com/dvn-sourceforge2github
See also https://rvm.io/rvm/install/
murphy:~ pdurbin$ \curl -L https://get.rvm.io | bash -s stable --ruby
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 185 100 185 0 0 313 0 --:--:-- --:--:-- --:--:-- 488
100 10242 100 10242 0 0 8137 0 0:00:01 0:00:01 --:--:-- 36841
Please read and follow further instructions.
Press ENTER to continue.
Downloading RVM from wayneeseguin branch stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 131 100 131 0 0 939 0 --:--:-- --:--:-- --:--:-- 1056
100 1243k 100 1243k 0 0 846k 0 0:00:01 0:00:01 --:--:-- 1786k
Installing RVM to /Users/pdurbin/.rvm/
Adding rvm PATH line to /Users/pdurbin/.bashrc /Users/pdurbin/.zshrc.
RVM sourcing line found in /Users/pdurbin/.bashrc.
# RVM: Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm
# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'
Installation of RVM in /Users/pdurbin/.rvm/ is almost complete:
* To start using RVM you need to run `source /Users/pdurbin/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
# Philip Durbin,
#
# Thank you for using RVM!
# I sincerely hope that RVM helps to make your life easier and
# more enjoyable!!!
#
# ~Wayne
rvm 1.17.3 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
https://rvm.io/binaries/osx/10.8/x86_64/ruby-1.9.3-p327.tar.bz2 - #configure
ruby-1.9.3-p327 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5693k 100 5693k 0 0 1350k 0 0:00:04 0:00:04 --:--:-- 1377k
ruby-1.9.3-p327 - #extract
ruby-1.9.3-p327 - #validate
ruby-1.9.3-p327 - #setup
Saving wrappers to '/Users/pdurbin/.rvm/bin'.
ruby-1.9.3-p327 - #importing default gemsets (/Users/pdurbin/.rvm/gemsets/), this may take time ...
Creating alias default for ruby-1.9.3-p327.
Recording alias default for ruby-1.9.3-p327.
Creating default links/files
Saving wrappers to '/Users/pdurbin/.rvm/bin'.
* To start using RVM you need to run `source /Users/pdurbin/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
murphy:~ pdurbin$
See also https://github.com/nirvdrum/svn2git
murphy:~ pdurbin$ gem install svn2git
Fetching: svn2git-2.2.2.gem (100%)
Successfully installed svn2git-2.2.2
1 gem installed
Installing ri documentation for svn2git-2.2.2...
Installing RDoc documentation for svn2git-2.2.2...
murphy:~ pdurbin$
Note that we clone this repo to a new directory and remove all of .git because a new .git directory will be created. The conversion files remain (seen by git status
) but we simply won't commit them as we don't want them to be part of the source tree.
murphy:dvn pdurbin$ git clone https://github.com/dvn/dvn-sourceforge2github.git dvn-svn-import-test4
Cloning into 'dvn-svn-import-test4'...
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 43 (delta 20), reused 30 (delta 7)
Unpacking objects: 100% (43/43), done.
murphy:dvn pdurbin$
murphy:dvn pdurbin$ cd dvn-svn-import-test4
murphy:dvn-svn-import-test4 pdurbin$ rm -rf .git
murphy:dvn-svn-import-test4 pdurbin$ ./author-file-setup
murphy:dvn-svn-import-test4 pdurbin$ ./convert
Running `rsync -av dvn.svn.sourceforge.net::svn/dvn/* /Users/pdurbin/github/dvn/dvn-sf-rsync`
rsync command completed successfully
Time elapsed: 48.10 seconds (0.80 minutes)
Running `svn2git file:///Users/pdurbin/github/dvn/dvn-sf-rsync --authors authors.txt --rootistrunk`
svn2git command completed successfully
Time elapsed: 1159.98 seconds (19.33 minutes)
murphy:dvn-svn-import-test4 pdurbin$
murphy:dvn-svn-import-test4 pdurbin$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# author-file-setup
# authors.tsv
# authors.txt
# convert
# readme.md
nothing added to commit but untracked files present (use "git add" to track)
murphy:dvn-svn-import-test4 pdurbin$
At this point we create a new repo on GitHub. The test import repos are going under https://github.com/dvn but the final repo will go under https://github.com/IQSS
Finally, we push the local repo to GitHub:
murphy:dvn-svn-import-test4 pdurbin$ git remote add origin [email protected]:dvn/dvn-svn-import-test4.git
murphy:dvn-svn-import-test4 pdurbin$ git push -u origin master
Counting objects: 103398, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (28494/28494), done.
Writing objects: 100% (103398/103398), 244.81 MiB | 780 KiB/s, done.
Total 103398 (delta 56068), reused 103398 (delta 56068)
To [email protected]:dvn/dvn-svn-import-test4.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
murphy:dvn-svn-import-test4 pdurbin$