ホームページ > よくある問題 > svnとcvsの違いは何ですか

svnとcvsの違いは何ですか

青灯夜游
リリース: 2022-06-21 11:40:41
オリジナル
3530 人が閲覧しました

違い: 1. CVS のバージョン番号はファイルの自動増加シリアル番号に基づいていますが、SVN はファイルだけでなく、ファイルの自動増加シリアル番号にも基づいています。ディレクトリ; 2. CVS は RCS ファイルに基づいていますが、SVN はリレーショナル データベースまたは一連のバイナリ ファイルに基づいています; 3. CVS は任意のロールバックを許可しますが、SVN は送信後のロールバックを許可しません; 4. SVN は「ゼロまたは1 つのトランザクション原則ですが、CVS はサポートしません。 5. CVS はローカル ファイル名の変更送信をサポートしませんが、SVN はサポートします。 6. CVS には 4 つの権限がありますが、SVN には 3 つの権限しかありません。

svnとcvsの違いは何ですか

このチュートリアルの動作環境: Windows 7 システム、Subversion バージョン 1.14、Dell G3 コンピューター。

CVS (同時バージョン システム):

は、ソース コードを開発するための同時バージョン システムです。 Linux、Unix、Windows NT/2000/XP など、さまざまなプラットフォームで利用できます。 CVS は無料のオープンソースであり、プロジェクトのバージョン管理を提供します。

機能紹介:

1. コードを一元管理し、すべてのコード ファイルの変更履歴を保存します。コードの一元的かつ統合管理により、新しく追加または削除されたファイルを簡単に表示し、コード変更のすべての痕跡を追跡できます。以前の履歴バージョンに自由に復元できます。また、バージョンの違いによって発生する深刻なバグを回避します。

2. 完全な競合解決ソリューションにより、他のファイル比較ツールを使用したり、手動で貼り付けたりコピーしたりする必要がなく、ファイルの競合の問題を簡単に解決できます。

3. コードの権限の管理。ユーザーごとに異なる権限を設定できます。アクセスユーザーのパスワード、読み取り専用、変更などの権限を設定でき、CVS ROOT ディレクトリ内のスクリプトを通じて、対応する機能拡張のためのインターフェイスが提供され、きめ細かい権限制御を完了できるだけでなく、より詳細な権限制御も完了できます。パーソナライズされた機能。

4. 便利なバージョンリリースとブランチ機能をサポートします。

SVN (Subversion):

  • ## SVN の正式名は Subversion で、バージョン管理システムです。 SVN は Subversion の略で、オープンソースのバージョン管理システムであり、RCS や CVS と比較してブランチ管理システムを採用しており、CVS を置き換えることを設計目標としています。インターネット上の多くのバージョン管理サービスは、CVS から Subversion に移行しました。

  • SVN は、ファイルのバージョンを集中管理するシステムです。

  • 集中コード管理の中核はサーバーです。すべての開発者は、新しい日の作業を開始する前にサーバーからコードを取得し、開発し、最後に競合を解決して送信する必要があります。すべてのバージョン情報はサーバー上に配置されます。サーバーから切断されると、開発者は基本的に作業できなくなります。

(SVN) 集中管理ワークフロー:

集中コード管理の中核はサーバーです。すべての開発者は新しい一日を始めます。これは、サーバーからコードを取得して開発し、最後に競合を解決して送信する前に行う必要があります。すべてのバージョン情報はサーバー上に配置されます。サーバーから切断されると、開発者は基本的に作業できなくなります。

管理プロセスは次のとおりです:

svnとcvsの違いは何ですか

svn と cvs の違い

#CVSSVNバージョン番号についてファイルベースの自動増加シリアル番号。 ファイルだけでなくディレクトリなどもグローバルに自己増加するシリアル番号に基づきます。 ストレージ タイプの形式CVS は、RCS ファイルに基づくバージョン管理システムです。すべての CVS ファイルは、いくつかの追加情報を備えた通常のファイルです。これらのファイルは、ローカル ファイル ツリー構造を繰り返すだけです。したがって、データ損失を心配する必要はなく、必要に応じて RCS ファイルを手動で変更できます。 SVN は、リレーショナル データベース (BerkleyDB) または一連のバイナリ ファイル (FS_FS) に基づいています。一方で、これにより多くの問題 (共有ファイルの並列読み取りと書き込みなど) が解決され、多くの新機能 (ランタイムのトランザクション機能など) が追加されます。その一方で、データストレージは不透明になるか、あまりユーザーフレンドリーではなくなります。そのため、ウェアハウス (データベース) にとってソフトウェア ツールが非常に重要になっています。 アクセス速度は比較的遅いです。これは、一方向 (サーバー -> クライアント) の差別化されたファイル転送に基づいているためです。つまり、SVN は双方向の差別化されたファイル転送を使用するため、アーキテクチャの実装が異なるため、確かに CVS よりもはるかに高速です。 ファイルの保存のみが許可されますファイルが名前付き属性を持つことを許可します。この関数は非常に完成度が高いですが、何に使われるのかわかりません。ファイル タイプ は、もともとテキスト ファイルの保存用に設計されていました。したがって、他のファイル タイプ (バイナリ、Unicode) はほとんどサポートされていないため、必要に応じて追加情報を提供し、クライアントとサーバーの両方を調整する必要があります。 SVN はすべてのファイル タイプを処理し、そのストレージはバイナリに基づいているため、手動操作を行う必要はありません。ロールバック CVS コミットされたバージョンを任意にロールバックできますが、時間がかかります (すべてのファイルを個別に処理する必要があります)。 SVN では、送信後のロールバックは許可されません。リポジトリ内の正常なバージョンを最後に追加し、破損したバージョンを上書きすることをお勧めします。いずれにせよ、破損したバージョンはデータベースに保存されます。 トランザクションCVS の「ゼロまたは 1」トランザクション原則はまったく実装されていません。複数のファイルをチェックインする (サーバーに追加する) 場合、一部のファイルは完了するが、他のファイルは完了しない可能性があります。経験則として、これらを手動で修正し、残りのファイル (すべてのファイルではない) を再度チェックインします。これらのファイルは 2 段階でチェックインされます。しかし、これまでのところ、この機能の欠如によってデータ ウェアハウスに損害が発生した例はありません。 SVN の大きな利点である「ゼロまたは 1」トランザクション原則をサポートアーキテクチャ、コード、スケーラビリティCVS は古いシステム。当初、CVS は RCS を使用した単なるスクリプト ファイルでした。その後、これらのスクリプトは 1 つのアプリケーションにグループ化されましたが、内部構造にはまだ改善が必要でした。今日に至るまで、CVS を最初から書き直そうとする人がいますが、失敗しています。以前、統合を改善するためにクライアント コードを書き直そうとしましたが、失敗しました。現在、CVS が機能の点でそれほど進歩できるとは考えていません。 Subversion 開発者は内部アーキテクチャに多くの時間を費やします。これらの決定がどれほど真実であったかなどはまだわかりません。しかし、1 つ確かなことは、コードには優れたスケーラビリティがあり、拡張作業も進行中であるということです。 名前の変更と削除の操作ローカル ファイルの名前変更の送信はサポートされていません;削除は削除と消去に分かれており、前者はローカル ファイルとライブラリ ファイルの両方を削除します。 、後者はローカル ファイルのみを削除します。 フォルダーは削除できません ファイルの名前変更と送信をサポートします。システムは古いファイルを削除して新しいファイルを作成するように求めるプロンプトを表示します

ネットワーク上で送信する情報はほとんどなく、より多くのオフライン モード機能をサポートします。しかし、それにはコストがかかります。速度の代償として、巨大なストレージ (すべての作業ファイルの完全バックアップ) が必要になります。 メタデータ
ローカル ファイルの削除とライブラリ内のファイルの送信も削除されます。
ユーザー アクセス権限 権限には、読み取り、書き込み、作成、なしの 4 つがあります。フォルダーを削除します (管理者はサーバーにアクセスして、対応するフォルダーを残酷に削除することしかできません。現時点ではこの方法しか知りません...) 権限は読み取り、書き込み、なしの 3 つだけです。 Together
ブランチとベースラインの作成 CVS ブランチを作成するときは、すべてのブランチ ファイルを操作する必要があります。そのため、ブランチを確立するコスト (主にブランチの確立に必要な時間、または消費されるコンピューティング リソース) は、ブランチに参加するファイルの数に比例します。プロジェクトが大きくなるほど、バージョン ライブラリも大きくなり、ファイルの場合、ブランチを確立するコストが高くなります。ベースライン (タグ) の確立も同様です。 SVN のブランチとベースラインは、「コピー」を実行することによって確立されます。バージョン管理ツールが導入される前に、いわゆる「ブランチ」および「ベースライン」管理をどのように実行したかを思い出してください。答えは明らかに「コピー」です。「コピー」または「バックアップ」を通じてベースラインを確立します。同様に、同時に開発する複数の開発者をサポートするために、開発者ごとに「コピー」を作成します。

(学習ビデオ共有: 基本プログラミング ビデオ)

以上がsvnとcvsの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
svn
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート