2009-08-20 40 views
1

私は大規模なソフトウェアプロジェクトを研究しています。私はコードを分析するためにSubversionリポジトリにアクセスできますが、私はこのリポジトリのコピーを自分のマシンに持っていたいと思います。 私はこれをやりたいので、私はプロダクションsvnにぶら下がっていません。また、リモートのものよりローカルのレポに対して作業する方が速いと仮定しているためです。自分のマシンにSubversionリポジトリをミラーリングする

ので、二つの質問:

  1. 私が今までのすべての変更とレポの大きさを推定することができる方法は?
  2. リポジトリをコピーして、完全に変更履歴をローカルに取得するにはどうすればよいですか?

答えて

1

ローカルでコミットしないと仮定して、svnsyncを使用して問題のSVNリポジトリのローカルミラーをセットアップすることをお勧めします。 how-to hereがあり、ローカルマシンにSVN構造をミラーリングできるようです。したがって

  1. ローカルマシン上のサイズがリモートリポジトリのディスク上のサイズと同じ大きさであろう。リモートマシン上のファイルシステムにアクセスできるなら、それを見ることができます。
  2. これは、svnsyncが適切に設定されている場合に自動的に表示されます。
+0

私はWindowsマシン上にあるので、この他のチュートリアルも使用しました:http://dirk.net/2007/09/07/replicating-a-subversion-repository-to-a-windows-target-server/ – greye

5

svnsyncトリックを行う必要があります。

+0

svnsyncは読み取り専用アクセスしか許可されていません。これは彼が望むものではないと確信しています –

+2

大規模なソフトウェアプロジェクトがどのように進化したかを調べるために、読み取り専用のコピーが必要です。 – orip

2

git svn cloneを使用して、履歴全体を含むローカルのGitリポジトリを取得できます。

+0

+1、なぜこれが有効な応答であるために下落したのか分かりません。彼はローカルのsvnリポジトリを必要としません。 – orip

+0

git-svnは、実際にはsvn repoをローカルに同期させるのに非常に良い方法です。 – JesperE

+4

なぜこれにgitを持ってきますか? – nickf

1

"svnsync"を使用すると、リモートリポジトリを複製できます。

hereのマニュアルを参照してください。

3

svnsyncを使用して、完全なリポジトリのローカル(読み取り専用)ミラーを作成できます。

必要な手順については、svn-bookで説明しています。基本的な手順は以下のとおりです。

# Create a local mirror repository. 
svnadmin create local_mirror 

# Create pre-revprop-change hook. 
echo > local_mirror\hooks\pre-revprop-change.cmd 

# Associate local mirror with remote repository. 
svnsync init local_mirror repo_url 

# Sync the repositories. 
svnsync sync local_mirror 

あまりにも仕事とgitのような別のVCSを使用している間は、これはあなたがいつものようにあなたのsvnのツールを使用することができます。 さらに、リポジトリのサイズを見積もるには、同じストレージアルゴリズムが必要です。各VCSには、svn以外のものを使用する場合は、ローカルリポジトリのサイズが元のリポジトリのサイズとほとんど一致しない可能性があります。

関連する問題