2017-12-11 12 views
0

私はsvndumpファイルをどのように取得し、ビットバケットクラウドを使用してGITに移行できるかを調べようとしています。すべてのチュートリアルでは、svn repoが現在Apacheで設定されていることを前提としています。しかし、それは実際に私がMacサーバを再構築した後にmod_dav_svnを再インストールするのに失敗したため、私の移行の理由です(10.13)。HTTPアクセスのないSVN - > GIT

移行したいsvn repoのダンプファイルを作成できました。コミットの履歴を保持して、きれいなインポートを行う必要はありません。

答えて

1

私はこれを試していないので、成功するとは言いません。しかし、あなたの問題に固有のツールがいくつかあります。このうち

チェック:個人的にhttps://bitbucket.org/atlassian/svn-migration-scripts/src

は、私はmod_dav_svnのルートを行って、それが設定を取得するための挑戦の少しでしたが、私がした後、私はsvn2gitは本当に仕事の大部分をやったことがわかりました。

あなたが興味を持っている場合、あなたもこれをチェックすることができます:ここでhttps://github.com/nirvdrum/svn2git

が私のApacheの設定です:

# apache_svn_dav.conf 
# Not safe to use in production. 
<Location /repos> 
    DAV svn 
    SVNPath /opt/svnroot 

    Deny from All 
    Allow from localhost 
</Location> 

私はそのようにように、私は移行するために必要な各SVNのレポをチェックアウトすることができました:

# svn co http://localhost/repos/reponame 

私はsvn2gitメソッドを使用して、私のsvnレポのほとんどのために私の歴史のすべてを保持することができました、私のsvnレポのいくつかは、標準を持っていませんでしたディレクトリ構造(例えば、):

/trunk 
/branches 
/tags 

あなたがここにこのルートを行くことに決定した場合、私は使用されるコマンドは以下のとおりです。

はgitのための著者のファイルを作成します(注:電子メールアドレス)

# svn log -q http://servername/repos/reponame | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2"@email.address>"}' | sort -u > authors.txt 
# svn2git http://servername/repos/reponame --authors authors.txt 

変換プロセスは、その後、あなたはあなたがしてアップロードすることができ.gitリポジトリを提供する必要があります。

私は自分のselfhosted GitLabで行くことにしましたが、コマンドは類似しているはず:

# git remote add origin [email protected]:gitlab-group/project.git 
# git add . 
# git push --all origin 

関連する問題