2011-06-30 9 views
3

私はSubversionリポジトリを使用する必要があり、git-svnを使いたいと思います。私は時々コンピューターを切り替えると、私は自分の変更をコミットし、他のコンピューターを更新する必要があります。ときには変更されたコードがうまくいかないことがあるので、私の考えは2つのgit-svn reposを作成し、プッシュ/プルと同期させ、ときにはsvnリポジトリと同期させることです。それは可能でしょうか? リポジトリをgitに切り替えることはオプションではありません。 (悲しいことに)2つのgit-svn reposを同期するには

答えて

3

あなたのコンピュータから両方ともGitリポジトリと同期する必要がある場合、yes:各repoは "git-svn"になります。
2 reposを作成し、git-svnの上に独自のgitブランチのセットを作成します。

しかし、あなたは/ /プッシュマージバックSVNにdcommit'edされるすべての枝を引っ張ってはいけません:、

簡略化のためにとSubversionと相互運用:あなたはCAVEATS section of git-svnに注意を払う必要がありますそれは、SVNサーバから直接、すべてのユーザーgit svnclonefetchdcommitことをお勧めし、Gitリポジトリと枝の間のすべてのgit clone/pull/merge/push操作を避けるています。 gitブランチとユーザ間でコードを交換するには、git format-patchとgit amを使用するか、SVNリポジトリに「dcommit」するだけです。

実行するまたはgit pullは、dcommitにブランチすることはお勧めしません。Subversionユーザーは、作成したマージを表示できないためです。さらに、mergeまたはpullがSVNブランチのミラーであるgitブランチからある場合、dcommitは間違ったブランチにコミットすることがあります。

+0

だから私はgit-svn repos間のコードをsvn repo経由で交換する必要があると言いますか? –

+0

uhm、他の方法は、他のマシンからプッシュ/プルできる少なくとも1つの非svnブランチを持つgit-svn repoを1つだけ持つことです。しかし、この方法で私はgit-svnからdcommitすることしかできなかったでしょうか? –

+0

@ジョン: 'git svn'ブランチの両方から' dcommit'することができます。 – VonC

2

rsync 2台のマシンにまたがって2つのレポがあります。あなたは同じレポを持っています。

+0

だから私は基本的にマシン間でrsynced 1つのレポを持っていたでしょうか? 2つの異なるOSが問題になるでしょうか? (XP <--> Linux) –

+0

@John Smith - これは問題ではありません.CRLFの設定が問題ないことを確認してください。 – manojlds

関連する問題