2011-09-16 13 views
0

2つのsvn reposを統合しようとしています。 1つは、もう一方のフォークの一種です。しかし、それはまさにフォークではないので、私は共通点を見つけることができません。git-svnローカルリポジトリを既に存在する別のsvnリモートリポジトリにプッシュ

私は1つのローカルgit-svnリポジトリに1つのブランチにそれぞれのリポジトリをクローンしました。私はすでに両方のreposを統合しましたが、元のreposのいずれかに変更をプッシュする必要があることを知っています。私は、履歴を維持する変更をアップロードするための最良のワークフローを理解しようとしています。 、プッシュするURLである把握するためにコミット私はbetter explanationを見つけることができません

# Move the trunk of the remote repo to a branch 
$ svn move svn+ssh://host.example.com/repos/project/trunk svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH -m "Creating a branch of project" 

# Make a commit that explains the change that is going to happen 

# Change to the branch that tracks the remote repo, and fetch the changes 
$ git checkout myBranch 
$ git svn rebase 

# The folder should be empty at this point 

# Upload the local changes to the trunk of the remote repo 
$ git merge integrationBranch 

# ¿rewrite the history? 

# Upload it 
$ git svn dcommit 

しかし、私はGitのSVNのdcommitは、最後ののgit - svnの-IDを使用していることを考える:私はそれがこのようなものでなければならないことだと思いますだから私はいくつかの点で私は歴史を書き直す必要がありますが、私はどのように分かっていないと思います。

また、誰かが実際にアップロードする前にテストを行う方法を提供できる場合は、変更が素晴らしいでしょう。

答えて

0

いくつかの調査の後、私は履歴を書き直す方法を見つけましたbased on this post。 git-svn-idを変更するには:

git filter-branch --msg-filter 'sed "s/git-svn-id:.*//g"' myBranch 
関連する問題