subversion管理しているプロジェクトのサブディレクトリをgithubに引っ越す

巡り巡って自分の目の前にある subversion 管理されたプロジェクトの一部を git 変換して github に引っ越す方法をメモ。

作業の流れ

  1.  履歴を subversion から git に変換
  2. 属性を subversion から git に変換
  3. github に push

履歴を subversion から git に変換

$ git svn clone http://hostname/svn/path/ato/sub/subdirectory subdirectory
$ cd subdirectory

branch/tag も引っ越すには、パスの切り方が subversion の推奨通りであれば --stdlayout をつけるだけでOK。
推奨から外れる場合、明示的に --trunk, --branches, --tagsで指定する。
see : http://stackoverflow.com/a/5361588

git svn clonegit svn init & git svn fetch のショートカット

属性を subversion から git に変換

subversion でディレクトリに対してプロパティとして設定されている属性情報のうち、除外設定(svn:ignore)を .gitignore 形式に変換する。

$ git svn create-ignore
$ git status .
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   .gitignore
#       new file:   path/to/.gitignore
#

これらを add & commit

subversion の除外設定は $ git svn show-ignore とすると確認できる。

github に push

事前に github で push 先レポジトリを用意。
以下はユーザー account-name の下に repository-name というレポジトリを用意したことを前提とする。

$ git branch -a
* master
  remotes/git-svn
$ git remote add origin git@github.com:account-name/repository-name.git
$ git branch -a
* master
  remotes/git-svn
  remotes/origin/master
$ git push origin master
...
To git@github.com:account-name/repository-name.git
   e514e49..040c52c  master -> master

References

Advertisements
Tagged with: , , ,
Posted in project

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: