5

任意のサイズのサーバースペースを取得し、それにsshアクセスしてSubversionリポジトリをセットアップします。

しかし、どれだけのスペースを求めるべきかわかりません。今のところ、同僚がコードに貢献できるように、cmsプロジェクトをホストします。しかし、それがどこにでもあるのであれば、システムを拡張して、おそらく多くのプロジェクトをレポに入れることを望んでいます。

これには、phpやその他のWebベースのコード、およびいくつかの画像が含まれます。無理せずに十分なスペースはどれくらいですか?20mb?200mb?

4

4 に答える 4

5

ダウンロードする画像とPDFが2つある典型的なWebプロジェクトは、それ自体で20MBのサイズになる可能性があることを考えると、SVN履歴を保存する場合は、それ以上のサイズが必要になります。

たとえば、私の個人的なSVNサーバーでは、Webプロジェクト(私のブログ、それほど大きくはありません)の場合、SVNリポジトリのサイズは181 MBで、リビジョンは150程度しかありません(私はそのプロジェクトでのSVNの使用を停止しました)

別の(小さい:画像のようなバイナリファイルはほとんどなく、フレームワークは経由でリンクされていますsvn:externals約100のリビジョンを持つpet-projectのリポジトリサイズは49MBです。

さらに別のプロジェクト(小さなWebサイト、2、3の改訂のみ、これはもう保守していないWebサイトであり、バックアップメカニズムとしてSVNサーバーをSVNするだけです)のリポジトリサイズは22Mです。プロジェクトを考えると、それよりも小さいものは奇妙に思えます...

したがって、まともなプロジェクトの場合、特に2人の異なる開発者がいる場合は、おそらくいつか数百MBが必要になります。

于 2009-12-11T22:19:36.730 に答える
4

プロジェクトのサイズによって異なります。明らかに、少なくともプロジェクトのサイズと同じくらいのスペースが必要です。その場合、SVNが追跡する変更を保存するためのより多くのスペースが必要になります。

最近のスペースのコストで、なぜあなたはそれをやりすぎることを心配していますか?それにいくつかのギグを投げるだけです。

于 2009-12-11T22:20:48.000 に答える
2

1つの完全なリビジョンのサイズを取得し、次の式にこれを入力します。

TotalSize = OneRevisionSize * (n * 1.09)

ここで、nは予想される改訂量です。(わからない場合は、nとして1000を使用してください)すべてのブランチは、同じ式で個別に再計算する必要があります。すべてのタグについて、同じサイズを1つのリビジョンとして予約する必要があります。

于 2015-03-03T16:07:09.250 に答える
1

リポジトリにあるのがテキストだけであれば、それほど大きくなることはありません。Subversionは、テキストを使用したデルタ圧縮に非常に優れており、適切に実行された場合、ブランチ、タグ、およびマージを使用してオブジェクトを複製しません。

ただし、時間の経過とともに変化する大きなバイナリ、特に画像やビデオなどの事前に圧縮されたファイルを保存している場合、リポジトリは急速に大きくなります。また、コンパイルされた実行可能ファイル、Javaクラス、.NETアセンブリをチェックインすると、ソースコードを少し変更しただけでも実際にはかなり異なります。Subversionは、これらのファイルに対してもデルタ圧縮を実行しようとしますが、リビジョンごとにバイトレベルで大きく変化するため、ほとんど実行できません。

大規模なプロジェクトには2つのリポジトリがあります...「ソース」リポジトリは、40000を超えるファイルと、多くのブランチとマージを伴う20000のリビジョンにもかかわらず、わずか数百MBです。ほとんどの場合、テキストファイル、または変更されていない画像のみが含まれています。この同じプロジェクトの「ビルドされた」リポジトリのサイズは約10GBです。これは、ビルドされたJava .classファイル(場合によってはJARファイルとEARファイル全体)をチェックインするためです。迅速なデプロイとロールバックのために「ビルドされた」リポジトリを維持します(緊急時に適切なバージョンにロールバックするためにソースからビルドを実行する必要はありません)。

于 2009-12-11T23:00:11.173 に答える