LinuxのCVSとは何ですか

青灯夜游
青灯夜游オリジナル
2022-07-01 15:50:033217ブラウズ

Linux における cvs の正式名称は「Concurrent Version System」で、中国語で「コード バージョン管理ソフトウェア」を意味し、主に複数人開発におけるソース コードのメンテナンスに使用される GNU ソフトウェア パッケージです。環境。 CVS は、プログラミングだけでなく、共有ファイルの編集や変更など、あらゆるドキュメントの開発と使用を維持できます。CVS が維持するファイル タイプはテキストまたはバイナリです。 CVS のクライアント/サーバー ベースの動作により、複数のユーザーに対応できます。

LinuxのCVSとは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux の cvs

CVS (Concurrent Versions System、コード バージョン管理ソフトウェア) は、主にソース コードのメンテナンスに使用される GNU ソフトウェア パッケージです。複数人による開発環境。これに似たコードのバージョン管理ソフトウェアに Subversion があります。複数の開発者が中央バージョン管理システムを通じてファイルのバージョンを記録し、ファイルの同期を確保します。 CVS バージョン管理システムは、主に複数人による開発環境でのソース コードのメンテナンスに使用される GNU ソフトウェア パッケージです。しかし、CVS コーディングに関する以前の問題のため、ほとんどのソフトウェア開発会社は CVS の代わりに SVN を使用してきました。

コンカレントには、並行性、協調性、一貫性という意味があります。実際、CVS はプログラミングに限らず、共有ファイルの編集や変更など、あらゆるドキュメントの開発と使用を維持できます。 CVS によって維持されるファイル タイプはテキストまたはバイナリです。

CVS は、コピー-変更-マージ (コピー、変更、マージ) 変更テーブルを使用して、ファイルの同時アクセスと変更をサポートします。これにより、ソース ファイルのストレージがユーザーのワークスペースから明示的に分離され、それらが並行して動作できるようになります。

CVS はクライアント/サーバー ベースの動作により、複数のユーザーに対応できます。この機能により、異なる場所にいる人々が同時にデータ ファイル (特にプログラムのソース コード) を作業する場合、CVS が最初の選択肢となります。

実用的なアイデア

サーバー上にソース コード ライブラリを確立します。これには、さまざまなプロジェクトのソース プログラムを保存できます。これらのソースプログラムは、ソースコードリポジトリ管理者によって一元管理されています。各ユーザーがソース コード ライブラリを使用する前に、まずソース コード ライブラリ内のプロジェクト ファイルをローカルにダウンロードする必要があります。その後、ユーザーはそれをローカルで変更し、最後に CVS コマンドで送信すると、CVS ソース コード ライブラリは均一な状態になります。変更を管理します。こうすることで、あたかも 1 人だけがファイルを変更しているかのようになり、競合を回避し、ファイルの変更を追跡できます。

CVS は Concurrent Versions System の略で、主流のオープンソース ネットワークの透過的なバージョン管理システムです。 CVS は、個人の開発者から大規模な分散チームまで、あらゆる人にとって役立ちます。

クライアント/サーバー アクセス方式により、開発者は任意のインターネット アクセス ポイントから最新のコードにアクセスできます。無制限のバージョン管理チェックアウト (チェックアウト: 注 1) モードは、排他的チェックアウト モードによって引き起こされる通常の手動の競合を回避します。そのクライアント ツールはほとんどのプラットフォームで使用できます。

CVS は、Mozilla、GIMP、XEmacs、KDE、GNOME などの一般的なオープン ソース プロジェクトで使用されています。それで、それはどんな感じですか?

それは素晴らしい、とあなたは言うかもしれませんが、「私」にとってはそれはあまり役に立ちません。まず基本事項です。バージョン管理システムは、一連のファイルに加えられた変更の履歴を保持します。開発者にとって、これは、開発全体を通じてプログラムに加えられたすべての変更を追跡できることを意味します。コマンド ラインで間違ったキーを押したために、1 日の作業が無駄になったことがありますか?バージョン管理システムは安全なネットワークを提供します。

バージョン管理システムは、本当に誰にとっても役立ちます。 (結局のところ、安全なネットワークを使いたくない人はいないでしょう。) これらはソフトウェア開発チームによって頻繁に使用されます。チームで作業する開発者は、個々の変更を調整できる必要がありますが、集中バージョン管理システムがそれを可能にします。

コード調整

従来のバージョン管理システムでは、開発者はファイルをチェックアウトして変更し、再度チェックインします。ファイルをチェックアウトする開発者は、ファイルを変更する排他的な権限を持ちます。他の開発者はファイルをチェックアウトできず、そのファイルをチェックアウトした開発者だけが変更をチェックイン (注 2) できます。 (もちろん、管理者がこの制限を超える方法はたくさんあります。)

排他的チェックアウトがどのように機能するかを考えてみましょう。ボブの兄弟はコメントを追加できるように foo.java をチェックアウトし、コードを書いた後、何をするかを考えます。彼はやりますか? 私もしませんでした。それから彼は昼食をとりに行きました。ボブは昼食を終えた後、上司から指摘されたバグが foo.java にあることに気づきました。彼は foo.java をチェックアウトしようとします...しかし、彼の兄弟がすでにチェックアウトしているため、バージョン管理システムが許可しません。ボブはバグを修正するために、兄が昼食から戻ってくるまで待たなければなりませんでした (この「良い」日は 2 時間かかりました)。

大規模なオープンソース プロジェクトでは、開発者がどのタイムゾーンでも遅くまで作業している可能性があるため、ある開発者に他の開発者がどこにいてもファイルの作業を続行できないようにする機能を与えても、明らかに機能しません。彼らは、やりたいときにプロジェクトに取り組めないことに、最終的にはうんざりしてしまうでしょう。

CVS は、無制限のチェックアウト モードを通じてこの問題を解決します。ファイルをチェックアウトしても、そのファイルに対する排他的権限が開発者に与えられるわけではありません。他の開発者もそれをチェックアウトし、独自の変更を加えて再度チェックインすることができます。

「ちょっと待ってください」とあなたは言うかもしれません。 「しかし、その後の登録は前の登録を上書きするのではありませんか?」答えはノーです。詳細な答えは、複数の開発者が同じファイルに変更を加えると、CVS がそれを検出し、それらの変更を自動的にマージするということです。 ######おお。自動的に、心配する必要はありません。CVS は同じコード行に変更が加えられない限り、慎重に変更を自動的にマージします。 CVS がこれらの変更を安全に処理できない場合、開発者はそれらを手動でマージする必要があります。ここからどこへ行くのか。

CVS に機能を追加したり、CVS を使いやすくしたりする、CVS 用のアドオンが多数、多くのプラットフォームで利用可能です。

使用するメリット

    ソフトウェアを修正すると、知らず知らずのうちにバグが混入してしまい、時間がかかる場合があります。気づくこと、その存在。 cvs を使用すると、古いバージョンを簡単に復元し、どの変更がバグの原因となったかを確認できます。場合によってはこれが役立つこともあります。
  • cvs は、ファイルのすべてのバージョンを 1 つのファイルに保存する賢い方法を使用し、異なるバージョン間の差異のみを保存します。
  • cvs はもともと、1986 年 12 月に comp.sources.unix ニュースグループの第 6 巻で Dick Grune によってシェル スクリプトとして公開されましたが、1989 年 4 月に Brian Berliner によって設計されました cvs を入手してコードを作成しました。その後 Jeff Polk は、Brian の CVS モジュールとベンダー ブランチ サポートの設計を支援しました。
  • CVS では、何をどのように構築するかをガイドすることはできません。回復目的で設計したツリー構造ファイルを保存するだけです。
  • cvs は、チェックアウト作業ディレクトリ内のディスク領域をどのように使用するかを決定できません。すべてのディレクトリに Makefile またはスクリプトを記述し、他のすべての相対的な場所を知る必要がある場合は、場合によってはリポジトリ全体をチェックアウトする必要があります。
  • 作業をモジュール化し、(リンク、マウント、Makefile の VPATH などを介して) ファイルを共有するビルド システムをセットアップする場合、ディスクを好きなように配置できます。 。
  • このようなビルド システム (スクリプト、Makefile など) をサポートするには、CVS の下にツールを配置する必要があります。
  • CVS の範囲外で変更が発生した場合は、どのファイルを再構築する必要があるかを検討してください。従来の方法は、make を使用して構築し、いくつかの自動ツールを使用して make で使用される関連ファイルを生成することです。
  • 関連する推奨事項: 「
Linux ビデオ チュートリアル

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。