0

やあ、CVS と SVN の単純な比較を探しています。主に、SVN が使用するディスク容量が少ないか、CVS より多いか疑問に思っていますか?

4

2 に答える 2

3

サーバー上の Subversion リポジトリは、CVS と同程度のディスク容量を使用します。もう少し多いかもしれません。ただし、クライアントでは、Subversion (少なくとも古いバージョンでは) がかなり多くのディスク領域を使用していました。これは、Subversion クライアントがダウンロードした各ソース ファイルの元のコピーを保持していたためです。したがって、50 メガバイトのソース コードがある場合、Subversion の作業ディレクトリのサイズは約 100 メガバイトになります。

ただし、これは、Subversion が作成された時代と CVS のようなプログラムが作成された時代の違いを実際に反映しています。

昔は、開発者のデスクには 20 メガバイトのドライブしかなく、空き容量のすべてのバイトが貴重でした。CVS はソース ファイルのチェックサムを使用して、ソース ファイルが変更されたかどうかを判断していました。作業ディレクトリ内のファイルが変更された場合、チェックサムが異なります。ただし、ファイルに対して diff のようなことを行うと、CVS はサーバーと通信して元のソース ファイルのコピーを取得する必要があることを意味していました。

Subversion が登場する頃には、ディスク容量はギガバイト単位で測定され、安価でした。したがって、元のソース ファイルの 2 番目のコピーをディスクに保存する十分なスペースがありました。を実行したとき、svn diffネットワーク トラフィックは生成されず、サーバーの応答を待つ必要もありませんでした。これにより開発が大幅にスピードアップし、Subversion を設計した人々はトレードオフに見合うだけの価値があると考えました。

Subversion の最新バージョン (バージョン 1.7.x) では、クライアントの作業ディレクトリを処理する方法が異なります。それがどのように機能するかを知るには、私はそれについて十分に知りません。しかし、私にとって、ディスク容量は小さな問題です。さらに必要な場合は、安価で入手できます。安くはないのは、開発にかかる時間と労力です。開発をより簡単かつ迅速に行うことができれば、より良い結果が得られます。

CVS は長い間更新されていません。Subversion は、RCS が CVS に置き換えられたのとほぼ同じように、その置き換えとして設計されました。CVS よりも Subversion を選ぶべき理由はたくさんあります。CVS に取り組んだ人々が悪い開発者だったからではありません。Subversion に取り組んだ人々は、CVS で 10 年以上の経験を積んで、CVS が抱えていた問題を解決できたということです。

  • Subversion にはアトミック チェックインがありますが、CVS にはありません。これ自体が決め手となるはずです。継続的改善継続的統合、および変更セットを実践する時代では、チェックインがアトミックであることが重要です。ある問題を修正するために 13 個のプログラムを修正し、CVS がそれらのうち 12 個しかチェックインしなかった場合、結果として得られるビルドは悪いものになります。特定の問題に必要なすべての変更は含まれていません。
  • Subversion は、ファイル名の変更と移動を追跡します。CVS はそうではありません。
  • Subversion では、変更を取り消すのが簡単です。Subversion では、私が知る必要があるのはリビジョン番号だけであり、1 つのコマンドでそれを実行できます。CVS では、情報を収集し、それを理解しようとする必要があります。さらに、Subversion は変更を元に戻すのがはるかに高速です。
  • Subversion の分岐とタグ付けはより高速です。多くの CVS サイトでは、分岐やタグ付けから逃れるためだけに、非常に悪いプログラム プラクティスを実行しています。CVS では 40 分以上かかることが、Subversion では 1 ミリ秒かかります。
  • Subversion は、継続的インテグレーション システムでより適切に機能します。CVS では、CI システムは CVS ディレクトリ構造全体を調べて変更を探す必要があります。Subversion では、CI システムはプロジェクトのルート ディレクトリに最後のリビジョンを問い合わせるだけです。
  • Subversion の分岐とタグ付けには完全な歴史があります。誰が、いつ、なぜそれをしたかがわかります。変更があったかどうか、誰が、なぜ変更したかを確認できます。CVS では、この情報に簡単にアクセスできません。

Subversion 対 Git 対 Mercurial 対 Bazaar 対 Perforce について話し、どちらが優れているかを尋ねることができます。それぞれが最新のバージョン管理システムであり、それぞれ独自の名声を誇っています。

ただし、Subversion と CVS の比較は簡単です。CVS はバージョン管理システムであり、もはや保守されておらず、最新のバージョン管理システムの重要な機能が欠落しています。CVS と Subversion のどちらかを選択する場合は、Subversion に投資します。

于 2012-06-12T14:38:46.420 に答える
0

この場合、cvs を svn に変換し、ハード ドライブ上のファイル サイズを見つけました (当時は自分のラップトップにありました)。しかし、cvs よりも svn の方がはるかに小さかったのですが、圧縮が適用されていた可能性があります。わかりませんが、ウェブ上のすべてが、svn は実際には cvs よりも大きいと述べています。

だから私はその2がどのように設定されているかについて少しオープンだと思います.

于 2012-08-09T08:24:58.137 に答える