akkun_choi pedia
mindiaakkun_choi pedia見出し語

git-svn

akkun_choi · 2011-02-03 更新

git-svn

gitからsvnコミットしたりアップデートしたりできる。逆はできない。

これを覚えればなんとかなる

$ sudo port install git-core +svn

# svn checkout のようなもの
$ git svn clone -s http://server:port/repo/project 

# svn commit のようなもの
$ git svn dcommit

# svn up のようなもの
$ git svn rebase

http://d.hatena.ne.jp/idesaku/20090323/1237825080

git svn rebase は git pull とは全然違うようだ。
rebaseするとsvnと同期してなかった部分のコミットIDが書き換わるのに注意

Gitでpatchを作成して適用する手順のメモ

git-svn dcommit できなかったのでコミットID見たら、違うIDになってた...。というわけでpatchを作成。
http://blog.s21g.com/articles/680

dcommit

ローカルに未コミットの変更があるけどgit-svn-dcommitしたい

http://runeleaf.wordpress.com/2009/01/08/git-%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%AB%E6%9C%AA%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%8C%E3%81%82%E3%82%8B%E3%81%91%E3%81%A9git-svn-dcommit%E3%81%97%E3%81%9F/

その他 Subversionからの移行について

svn:externalsのようなこと

svn:externalsの代わりgit submodule。でもイコールではないっぽい。
git submoduleは今のところそこまで面倒と感じたことはない。

移行スクリプト。でもうまくいかなかった…
http://github.com/garbas/garbasgit.svnexternals
(via http://d.hatena.ne.jp/Sixeight/20090210/1234272295 )

空のディレクトリはバージョン管理できない

.gitignoreとか何でもいいから空ファイルを作成すればOK。

部分的なチェックアウトできない

svn checkout はパスを指定すればどの階層でもワーキングコピーを作成できる。
git clone すると今までの履歴含め、全てをコピーしなければならない。

なのでプロジェクト/モジュールごとにリポジトリを作成するのがベストだろう。

あと、ディレクトリ同士のマージができない。これはちょっと何とかしたい。

複数のモジュールを含むSubversionリポジトリをGitへ移行する
http://iteman.jp/blog/2009/02/subversiongit.html

trunk, branches, tags

Subversionはディレクトリ構造として表現
Gitはbranchesとtagsが別のシステムになっている。

関連する見出し語