問題GitとSVN Reposの間のブリッジとしてGitを使用していますか?
私のチームは、私たちのクライアントは、家の中でSubversionを使用して、ビットバケット上のソースコントロールのためにgitを使用しています。コードをSubversionにチェックインしている間、私たちのチームはどのようにgitを使い続けますか?そして、いいえ、私はgit-svnが動作するとは思わない。
私のチームは、純粋なgitのソリューション、ないのgit - SVNを使用したい
要件。これは、私たちのクライアントがオフィスLAN内でのみsvn環境へのアクセスを許可しているからです。私たちはオフィス外で働くときにsvnにコミットすることはできません。
私のアプローチ
私は、同じのgit-包まれたSVNリポジトリへのリモートとして私達のビットバケットのgitのインスタンスを追加し、私はのgit - SVNを使用してSubversionリポジトリをチェックアウトできると思いました。 cronジョブは、bitbucketリポジトリからgit pull
を実行し、次にgit svn dcommit
を実行して、bitbucketの変更をクライアントのSubversionリポジトリにプッシュします。
これはgitがプル後にgit bitbucketリポジトリより先にリビジョンのx個の数字を表示していたために問題だったので、svn dcommitプロセスは終了しました。
私のクライアントがSubversionリポジトリにチェックインを開始し、最終的に私たちのbitbucketインスタンスにプッシュする必要があると確信しています。
技術的な詳細
ここで私はこの作業を取得しようとするために使用してきた段階のラフなシリーズだ:後
git svn clone -s http://svn.my-client.us/my-proj/
cd my-proj
git remote add origin path-to-bitbucket-repo
git fetch origin
git checkout -b develop remotes/develop
git branch --set-upstream develop origin/develop
git pull
#add merge comment here
git svn rebase
git svn dcommit #takes a while to transfer all the individual commits
は、上記のすべて、git status
実行:
[[email protected] myDir]$ git st
# On branch develop
# Your branch is ahead of 'origin/develop' by 59 commits.
#
nothing to commit (working directory clean)
私はオフィスにいる間だけでなく、どこからでもチェックインできるようにする必要がありますこれを行うための橋としてそれを使用するためのお礼ですか?
ありがとうございます!