0

ミラーやローカルなどでいっぱいのsvnレポがあります。それを取り除こうとしているので、段階的にクリーンアップし、何を残す必要があるかを評価しました。作業を続けたいプロジェクトが 1 つだけあります。そのために、svk を永久に使用できるように、それを git に移行したいと考えています。

にあり//local/foo、svn リポジトリはありません。

だから、私がやりたいと思うのは、ローカルの空のsvnリポジトリを作成し、svnから変更をプッシュしてから、それgit svnを複製することです。

しかし、最後に使用してからかなり時間が経ち、svkどうすればいいのかわかりません。

もし 1 人の svn ユーザーが親切にも私に道を教えてくれたら…</p>

これはほとんど役に立ちますが、履歴を svn にコミットするのではなく、単一のコミットを行うだけです。

4

1 に答える 1

1

わかりました、私はそれを理解しました:

# create a local svn repo
cd $HOME/src/svk
svnadmin create foosvn

# mirror that in svk
svk mirror file://$HOME/src/svk/foosvn //mirror/foosvn
svk sync //mirror/foosvn

# finally, merge your local svk path into the new svn repo
svk smerge --incremental --baseless //local/foo //mirror/foosvn

# Just to be sure things migrated properly:
svn log file://$HOME/src/svk/foosvn

# Now, from svn to git
git svn clone file://$HOME/src/svk/foosvn foogit

# Again, just to be sure things migrated properly:
cd foogit
git log --pretty=oneline --abbrev-commit

それでおしまい。次に、少しクリーンアップを行いました。

mv $HOME/src/svk/foogit $HOME/src/foo.git
rm -rf mv $HOME/src/svk
# This gets rid of your entire svk existence. 
# Be very sure you really want to do this.
rm -rf $HOME/.svk
于 2009-08-19T20:15:53.250 に答える