バージョン管理ソフトウェアの比較

次の表は、さまざまなシステムを比較対照するために使用できる、 主要なバージョン管理およびソフトウェア構成管理(SCM)システムの属性を示しています。

ソース コードに適さない SCM ソフトウェアについては「オープン ソース構成管理ソフトウェアの比較」を参照してください。

一般情報

次の表には、バージョン管理ソフトウェア システムの比較的一般的な属性が含まれています。

  • リポジトリモデル、ソースコードリポジトリのコピー間の関係
    • クライアント・サーバー方式では、ユーザーはクライアントを介してマスターリポジトリにアクセスします。通常、ローカルマシンにはプロジェクトツリーの作業コピーのみが保存されます。1つの作業コピーへの変更は、他のユーザーに反映される前に、マスターリポジトリにコミットする必要があります。
    • 分散型では、リポジトリはピアとして機能し、ユーザーは通常、作業コピーに加えて、バージョン履歴を利用できるローカル リポジトリを持ちます。
  • 同時実行モデル。作業コピーへの変更を管理して、同時編集によってリポジトリ内に無意味なデータが生成されないようにする方法。
ソフトウェアメンテナー開発状況リポジトリモデル並行性モデルライセンスサポートされているプラ​​ットフォーム財務コスト
アキュレブSCMマイクロフォーカス廃止、 Dimensions CMと統合クライアント・サーバーマージまたはロック独自のほとんどのJavaプラットフォーム ( Unix 系WindowsmacOS )1 席あたり 350 ドル、個別にお見積りします。
Apache サブバージョンApacheソフトウェア財団[1]アクティブクライアント・サーバーマージまたはロック[注 1]Apache 2.0UnixライクWindowsmacOS無料
Azure DevOpsマイクロソフトアクティブクライアント・サーバー分散型マージまたはロック独自のWindows 、 Azure DevOps Services経由のクロスプラットフォームAzure DevOps サービスまたはオープン ソース プロジェクトでは最大 5 人のユーザーが無料で利用できます。それ以外の場合は、MSDNサブスクリプションまたは直接購入を通じてライセンスが付与され、コストがかかります。
GNUバザール正規メンテナンスされていない、Breezyとしてフォークされた分散型クライアントサーバー型マージGPL-2.0以降UnixライクWindowsmacOS無料
ビットキーパービットムーバー株式会社メンテナンスされていない分散型マージApache 2.0UnixライクWindowsmacOS無料
IBM DevOps コード ClearCaseIBMアクティブクライアント・サーバーマージまたはロック[注 2]独自のLinuxWindowsAIXSolarisHP UXIBM iOS/390z/OSフローティング ライセンス 1 件あたり 4,600 ドル (ユーザーごとに最低 30 分間自動的に保持され、手動で放棄できます)
コードコープ信頼性の高いソフトウェア製造中止分散型マージマサチューセッツ工科大学ウィンドウズ1席あたり150ドル
同時バージョンシステムCVSチーム[2]メンテナンスされていないクライアント・サーバーマージGPL-1.0以降UnixライクWindowsmacOS無料
CVSNTMarch Hare Software [3]とコミュニティメンバーメンテナンスされていないクライアント・サーバーマージまたはロックGPLまたはプロプライエタリUnixライクWindowsmacOSIBM i旧バージョンの配布料金は 425 ポンド、CVS Suite または Change Management Server の最新バージョンの商用ライセンスは 85 ポンドです。
ダルクスダルクスチームアクティブ分散型マージGPL-2.0以降UnixライクWindowsmacOS無料
ダットDatチームメンテナンスされていない分散型マージBSD-3条項UnixライクWindowsmacOS無料
寸法 CMオープンテキストアクティブクライアント・サーバーマージまたはロック独自のWindowsLinuxSolarisAIXHP UXz/OS有料
化石D.リチャード・ヒップアクティブ分散型マージBSD-2条項POSIXWindowsmacOS、その他無料
ギット浜野純生アクティブ分散型マージGPL 2.0のみPOSIXWindowsmacOS無料
GNUアーキテクチャアンディ・タイメンテナンスされていない分散型マージGPLUnixライクWindowsmacOS無料
IC管理ICマネージ株式会社アクティブクライアント・サーバーマージまたはロック独自のUnixライクWindowsmacOS有料
PTC インテグリティPTC製造中止クライアント・サーバーマージまたはロック独自のUnixライクWindows有料
気まぐれなマーキュリアルコミュニティアクティブ分散型マージGPL-2.0以降UnixライクWindowsmacOS無料
マイクロソフト ビジュアル ソースセーフマイクロソフト製造中止共有フォルダマージまたはロック独自のウィンドウズライセンスあたり約 500 ドル、または各MSDNサブスクリプションに 1 つのライセンスが含まれます。
単調ナサニエル・スミス、グレイドン・ホーアメンテナンスされていない分散型マージGPL-2.0以降UnixライクWindowsmacOS無料
パーフォースP4パーフォースアクティブクライアント・サーバー分散マージまたはロック独自のUnixライクWindowsmacOS永久ライセンスとサブスクリプションで利用可能。価格は構成とオプションによって異なります[4]
PVCSオープンテキスト廃止、 Dimensions CMと統合クライアント・サーバーロック独自のWindowsUnix系有料
IBM ラショナル チームコンサートIBM製造中止クライアント・サーバー[注 3] [5] [6]マージまたはロック独自のLinuxWindowsAIXSolarisHP UXIBM iOS/390z/OSmacOS10ユーザーまでは無料、それ以外は有料
合理的な相乗効果IBMアクティブクライアント・サーバー分散マージまたはロック独自のLinuxWindowsUnix系有料[7]
リビジョン管理システムティエン・ティ・グエンメンテナンスされていない地元マージまたはロックGPL-3.0以降Unixライク無料
ソースコード管理システムヨルグ・シリング[nb 4]メンテナンスされていない地元ロック[nb 5]CDDL – 独自仕様[注 6]UnixライクmacOS無料のCDDLライセンス バージョン、または一部の UNIX ディストリビューションでは有料です。
スターチームボーランドマイクロフォーカス製造中止クライアント・サーバーマージまたはロック独自のWindowsおよび Java ベースのクライアント経由のクロスプラットフォーム有料
サラウンドSCMパーフォースメンテナンスされていないクライアント・サーバーマージまたはロック独自のLinuxWindowsmacOSユーザーあたり595ドル、月額29ドルのサブスクリプション
Unity バージョン管理ユニティ・テクノロジーズアクティブクライアント・サーバー分散マージまたはロック独自のLinuxWindowsmacOS3ユーザーまでは無料。それ以外の場合は、サーバーホスト版の場合は1ユーザーあたり月額7ドル、オンプレミス版の場合は1ユーザーあたり月額23ドルから。永続ライセンスはありません。[8]
金庫ソースギアLLCアクティブクライアント・サーバーマージまたはロック独自のUnixライクLinuxWindowsユーザーあたり300ドル
ベスタコンパック製造中止オプションでクライアントおよび/またはサーバーを連携させるための分散NFSプロトコルエミュレーションの選択肢ブランチをロックし、ブランチ間をマージするLGPLTru64Linux無料
ソフトウェアメンテナー開発状況リポジトリモデル並行性モデルライセンスサポートされているプラ​​ットフォーム財務コスト

技術情報

以下の表は、いくつかの有名なバージョン管理ソフトウェアの技術的な詳細を示しています。これらは以下の項目に基づいて分類されています。

表の説明

  • ソフトウェア: 説明するアプリケーションの名前。
  • プログラミング言語: アプリケーションが開発されているコーディング言語
  • 保存方法: リポジトリにファイルを保存する形式を表します。スナップショットは、コミットされたファイルがそのまま(通常は圧縮されて)保存されることを示します。ここで言うチェンジセットは、コミットされたファイルが前のバージョンまたは次のバージョンとの差分として保存されることを示します。
  • 変更の範囲: 変更が個々のファイルに対して記録されるか、ディレクトリツリー全体に対して
  • リビジョンID:リポジトリ内のファイルの特定のバージョンを識別するために内部的に使用されます。システムによっては、疑似乱数識別子、リビジョンのコンテンツハッシュ、または連番バージョン番号(名前空間)を持つファイル名が使用される場合があります。Integrated Differenceでは、リビジョンは変更セット自体に基づいており、複数のファイルへの変更を記述できます。
  • ネットワーク プロトコル:変更の同期に使用されるプロトコルを一覧表示します。
  • ソース コードのサイズ: ソース コードのサイズをメガバイト単位で示します。
ソフトウェアプログラミング言語保管方法変更の範囲リビジョンIDネットワークプロトコルソースコードのサイズ
アキュレブSCMC++Java変更セットファイル数字のペア NN/NNカスタム未知
Azure DevOpsC++C#変更セットファイルとツリー数字HTTP または HTTPS、SSH経由の SOAP未知
GNUバザールPython 2Pyrex(オプション)C [nb 7]スナップショット疑似ランダムカスタム、SSH経由のカスタム、HTTP経由のカスタム、HTTPSFTPFTP、電子メールバンドル、[nb 8] WebDAV(プラグイン付き)4.1MB
ビットキーパーC変更セット変更セットキー、番号カスタム、HTTPrshssh、電子メール99MB
CA ソフトウェア変更マネージャーCC++Java、HTML変更セットとスナップショットファイルとツリー[要引用]数字HTTP、TCP/IP未知
IBM DevOps コード ClearCaseCJavaPerl変更セットファイルとツリー[9]数字カスタム(CCFS)、カスタム(MVFSファイルシステムドライバ)、HTTP未知
コードコープC++変更セット未知ユーザーID-序数電子メール(MAPISMTP / POP3Gmail)、LAN未知
CVSC変更セットファイル数字pserver、ssh10.3MB
CVSNTC++変更セットファイルとツリー[10]数字ssh、sspi、sserver、gserver、pserver経由のカスタム55MB
ダルクスハスケル変更セット(パッチ)[nb 9]該当なしSSHHTTP、電子メール経由のカスタム1.7MB
寸法 CMCC++JavaC#スナップショットまたは変更セットファイルとツリー数字カスタム、HTTP / HTTPS未知
化石Cスナップショットまたは変更セット[11]SHA-1またはSHA-3ハッシュ[12]HTTP / HTTPS 、 SSH経由のカスタム7.2 MB [注 10]
ギットCシェルスクリプトPerlスナップショットSHA-1ハッシュカスタム(git )、 SSH経由のカスタム[13] HTTP / HTTPSrsync、電子メール、バンドル23MB [14]
GNUアーキテクチャCシェルスクリプト変更セット数字HTTPWebDAV未知
IC管理C++C変更セット未知数字カスタム未知
気まぐれなPythonC変更セット数字、[注 11] SHA-1ハッシュSSHHTTP 、電子メールバンドル経由のカスタム(標準プラグイン付き)20MB
MKSインテグリティCJava変更セットファイル数字カスタム、HTTP未知
単調C++ハイブリッド[nb 12]SHA-1ハッシュカスタム ( netsync )、SSH経由のカスタム、ファイルシステム4.4MB
Perforce ヘリックスコアC++C変更セット数字カスタム未知
PVCSC++C変更セットファイル数字未知未知
ラショナル・チーム・コンサートジャワ変更セット数字HTTP / HTTPS経由のRESTサービス未知
リビジョン管理システムC変更セットファイル数字ファイルシステム5.3MB
ソースコード管理システムC変更セットファイル数字NFS1.3MB
スターチームC++CJavaスナップショットファイルとツリーMD5ハッシュカスタム、TCP/IP未知
転覆C変更セットとスナップショット数字カスタム ( svn )、ssh経由のカスタム、HTTPおよび SSL ( WebDAVを使用)41MB
サラウンドSCMC++変更セットファイルとツリー数字TCP/IP未知
シナジージャワ変更セット(テキスト)、スナップショット(バイナリ)ファイル数字カスタム、SSH経由のカスタム、HTTP未知
金庫C#変更セットファイルとツリー数字HTTPHTTPS未知
ベスタC++スナップショット未知NFS15.8MB
ビジュアルソースセーフCスナップショットファイル数字SMBDCOM未知
ソフトウェアプログラミング言語保管方法変更の範囲リビジョンIDネットワークプロトコルソースコードのサイズ

特徴

次の表は、いくつかのよく知られたソフトウェアをその特徴と機能に基づいて分類したものです。

表の説明

  • ソフトウェア: 説明するアプリケーションの名前。
  • Gitデータ形式をサポート: Gitのリポジトリ形式でネイティブに動作可能
  • アトミック コミット: すべての変更が行われるか、まったく変更が行われないことが保証されることを指します。
  • ファイル名の変更: システムがバージョン履歴を保持したままファイル名の変更を許可するかどうかを示します。
  • ファイル名の変更をマージ: あるブランチ上のファイルに加えられた変更を、別のブランチで名前が変更された同じファイルにマージできるかどうか(またはその逆)を指定します。両方のブランチで同じファイル名が変更された場合、名前の変更による競合が発生し、ユーザーはこれを解決する必要があります。
  • シンボリックリンク: システムが通常のファイルと同様にシンボリックリンクのリビジョン管理を許可しているかどうかを示します。シンボリックリンクのバージョン管理は、機能と考える人もいれば、セキュリティ侵害と考える人もいます(例: /etc/passwdへのシンボリックリンク)。シンボリックリンクは、ソフトウェアによっては特定のプラットフォームでのみサポートされています。
  • 事前/事後イベントフック: コミットなどのアクションの実行前または実行後にコマンドをトリガーする機能を示します。
  • 署名されたリビジョン: OpenPGPなどの形式でのリビジョンの統合デジタル署名を指します
  • マージ追跡: システムがどのブランチ間でどのような変更がマージされたかを記憶し、1 つのブランチを別のブランチにマージするときに不足している変更のみをマージするかどうかを説明します。
  • 行末変換:システムがテキストファイルの行末文字を、使用しているオペレーティングシステムの行末スタイルに合わせて調整できるかどうかを表します。制御の粒度は様々です。例えば、Subversion はファイルの種類に応じて行末文字を異なる方法で処理するように設定できますが、Perforce はすべてのテキストファイルをクライアントごとに単一の設定に従って変換します。
  • タグ: これらの名前がタグと呼ばれるかラベルと呼ばれるかに関係なく、特定のリビジョンに意味のある名前を付けることができるかどうかを示します。
  • 国際サポート: ソフトウェアが複数の言語環境とオペレーティングシステムをサポートしているかどうかを示します。
  • Unicode ファイル名のサポート: ソフトウェアが異なる文字エンコーディングを使用するファイル システムでの相互運用をサポートしているかどうかを示します。
  • 大規模なリポジトリのサポート: システムは、約 1 ギガバイト以上のリポジトリを効率的に処理できますか?
ソフトウェアGitデータ形式をサポートアトミックコミットファイル名の変更ファイル名の変更をマージするシンボリックリンクイベント前後のフック署名された改訂版マージ追跡行末変換タグ国際的な支援Unicodeファイル名のサポート大規模なリポジトリをサポート
アキュレブSCMはいはい部分的[注 13]はいはいはいはいはいはいはい[15]はい[16] [17]
Azure DevOpsはいはいはいはいはいいいえはいはいはいはいはいはい
GNUバザールはいはいはいはいはいはいはいはい[18]はいはいはい未知
ビットキーパーはいはいはいはいはい未知はいはいはい未知未知はい
CA ソフトウェア変更マネージャーはいはいはいはいはいはいはいはいはいはいはい未知
IBM DevOps コード ClearCase部分的[注 14]はいはいはいはいはいはいはいはいはい[19]未知はい
コードコープはいはいはいいいえ部分的いいえいいえいいえはい未知未知未知
CVSいいえいいえいいえいいえいいえ部分的いいえいいえはいはい未知いいえはい
CVSNTいいえはいはいはいはいはいいいえはいはいはいはいはいはい
ダルクスはいはいはいいいえ[注 15]はいはい[注 16]いいえはいいいえはい[注 17]未知
寸法 CMはいはいはいいいえはい未知はいはいはい[注 18]いいえ[注 19]はいはい
化石はいはいはいはいはい[20]はいはいはい[注 20]はいはいはいはい[21]
ギットはいはい部分的[注 21]はいはいはいはい[注 22]はいはいはいはいはい[注 23]部分的[注 24]
GNUアーキテクチャはいはい未知はいはいはい未知未知はい未知未知未知
IC管理はいはいいいえはいはいはいはいはいはいはい未知未知
MKSインテグリティはいはいはいいいえはいはい[注 25]はい[注 26]はいはいはいはい未知
気まぐれな部分的[22] [23]はいはいはいはいはいはいはいはいはいはい[注 27]部分的[nb 28]はい[24]
単調はいはいはいいいえ[注 29]はいはい、必須ですはいはいはい未知はい未知
Perforce ヘリックスコアはいはい[25]はい[26]部分的[注 30]はいいいえはい[27]はいはいはい[28]はい[29]はい
ラショナル・チーム・コンサートはいはいはいはいはい[注 31]はいはいはいはいはいはい未知
ソースコード管理システムいいえはいいいえいいえいいえはいいいえいいえ部分的[注 32]はいはい
スターチームはい[注 33]はい未知はいいいえいいえはいはいはいはい未知はい
転覆いいえはいはい[注 34]部分的[注 35]はいはいいいえ[注 36]はい。[注 37]はい部分的[注 38]はいはいはい
サラウンドSCMはいはいはいはいはいはいはいはいはい[30]はいはいはい
シナジーはいはいはいはいはいはいはいはいはいはいはい[注 39]はい
金庫はいはいはいいいえはいいいえいいえはいはい未知未知未知
ベスタはいはい未知未知はいいいえいいえいいえはいいいえ未知はい
ビジュアルソースセーフいいえいいえ[注 40]未知いいえはいいいえいいえ未知はいはい未知未知
ソフトウェアアトミックコミットファイル名の変更ファイル名の変更をマージするシンボリックリンクイベント前後のフック署名された改訂版マージ追跡行末変換タグ国際的な支援Unicodeファイル名のサポート大規模なリポジトリをサポート

高度な機能

以下は、有名なバージョン管理システムで利用できるより高度な機能の一部です。

表の説明

  • キーワード拡張: ファイルのリビジョン番号などのキーワードの自動拡張をサポートします。
  • 対話型コミット: 対話型コミットを使用すると、ファイル レベルの粒度だけでなく、コミットの一部となるアンカー ファイル (パッチ ハンク) に使用される共通コード行をユーザーが選択できます (選択されていない変更は作業コピー内の変更として残ります)。
  • 外部参照: ソースツリーへの外部リポジトリの埋め込み
  • 部分チェックアウト/クローン: リポジトリから指定されたサブディレクトリのみをチェックアウトまたはクローンする機能。
  • 権限: リビジョン履歴内のファイル権限ビットを追跡します。
  • タイムスタンプの保存:最後に変更されたファイルシステム属性をコミット時間で上書きします。
  • カスタム自動マージツール: 自動マージは、ユーザーが選択した任意のツールで実行できます (ファイルごとに構成可能)
  • サポートされる形式: 読み取り/書き込みサポートまたは読み取り専用 (変換、重複の可能性あり)
  • 派生オブジェクトの共有ビルドキャッシュ: まったく同じ依存関係を共有する他の連合クライアントによって構築された派生オブジェクトを、ローカルで再構築する代わりに自動的に置換 (ウィンクイン) する機能
ソフトウェアキーワード拡張インタラクティブコミット外部参照
部分
チェックアウト/クローン
権限タイムスタンプの保存カスタム自動マージツールサポートされている形式

派生オブジェクトの共有ビルドキャッシュ
アキュレブSCMはい未知はいはい実行ビットのみはいはいgit(双方向)[31]いいえ
Azure DevOpsいいえはい未知はいはい未知はい未知未知
GNUバザールはい[32]はい[33]はい[34]いいえ実行ビットのみいいえ[注 41]はい[35]bzr、subversion、[36] git、[37] hg、[38] fastexporterを持つものいいえ
ビットキーパーPOSIXRCSはいはいはいはいはいはいビットキーパーいいえ
CA ソフトウェア変更マネージャーいいえはいいいえはい実行ビットのみはいはいCA ソフトウェア変更マネージャーいいえ
IBM DevOps コード ClearCaseはい[39]いいえいいえはいはいはい[注 42]はいクリアケースはい
CVSRCSいいえはいはい[注 43]部分的[注 44]はいいいえCVSいいえ
CVSNTRCSはい[注 45]はい[注 46]はい[注 47]はいはいいいえCVSはい[注 48]
ダルクスいいえはいいいえいいえ[注 49]部分的[nb 50]いいえ紛争のみダルクスいいえ
寸法 CMはいいいえはい[注 51]はいはいはいはいClearCase、Subversion、CVS、PVCS、ChangeMan DSからの移行未知
化石いいえはいはい[注 52]いいえ実行ビットのみ[40]いいえいいえfossil(sqliteを使用)、fastexporterを持つもの[41]、 gitおよびsvnからの移行[42]いいえ
ギットいいえ[注 53]はい[注 54]はい[43]はい[44]実行ビットのみいいえ[注 55]はいgit、cvs、subversion、hg、fastexporterを持つものいいえ
気まぐれなはい[45]はい[46]はい[47]はい[48]実行ビットのみ(アルファ)拡張を通じて[49]はい[50]hg、subversion、[51] gitへのロスレス双方向プッシュとgitからのプル、[52] Convert拡張機能でサポートされている他のフォーマットからの移行:[53] CVS、Darcs、Bazaar、Monotone、GNU Arch、Perforce [54]いいえ
Perforce ヘリックスコアはい[55]いいえいいえはいはいはい[55]はい[55]パーフォースいいえ
ラショナル・チーム・コンサートいいえはいはいはいはい未知はい該当なしいいえ
ソースコード管理システムはいいいえはい実行ビットのみいくつかのバリエーション[要出典]いいえsccsいいえ
サラウンドSCMはいいいえいいえはいいいえはいはい[注 56]囲むいいえ
転覆はい[56]部分的[nb 57]はい[57]はい実行ビットのみ部分的[nb 58]はい[注 59]転覆いいえ
ベスタいいえいいえはい、SDL経由いいえ未知はいいいえベスタはい
ビジュアルソースセーフはい未知未知はいはい未知はい未知いいえ
ソフトウェアキーワード拡張インタラクティブコミット外部参照
部分
チェックアウト/クローン
権限タイムスタンプの保存カスタム自動マージツールサポートされている形式

派生オブジェクトの共有ビルドキャッシュ

基本コマンド

次の表は、主要なバージョン管理システムで使用できるコマンドの詳細情報を示しています。

表の説明

  • リポジトリの初期化: 新しい空のリポジトリ(バージョン管理データベースなど)を作成します。
  • clone : リポジトリの同一インスタンスを作成する(安全なトランザクション内)
  • pull : リモートリポジトリからローカルリポジトリにリビジョンをダウンロードする
  • push : ローカルリポジトリからリモートリポジトリにリビジョンをアップロードする
  • ローカルブランチ: 元のリモートリポジトリに存在しないローカルブランチを作成します
  • checkout : (リモート)リポジトリからローカル作業コピーを作成する
  • update : 作業コピー内のファイルをリポジトリの最新バージョンに更新する
  • lock : リポジトリ内のファイルを他のユーザーによる変更からロックする
  • add : 指定したファイルを次回のコミットでリポジトリに追加するようマークする
  • 削除: 指定されたファイルを次のコミットで削除されるようにマークします (注: 削除前と削除時の一貫したリビジョン履歴が保持されます)。
  • 移動: 指定したファイルを次回のコミット時に新しい場所に移動するようにマークします
  • コピー: 指定したファイルを次回のコミットでコピーされるようにマークする
  • マージ: 2つのソース間の差分を作業コピーパスに適用する
  • commit : リポジトリの変更を記録する
  • revert : リポジトリから作業コピーファイルを復元する
  • バンドルファイルの生成: 指定されたリポジトリへの変更の圧縮セットを含むファイルを作成します。
  • rebase : ローカルコミットを更新されたアップストリームヘッドに転送する
  • 注:緑色の四角で囲まれ、[角括弧]で囲まれていないコマンドは、対話型のコマンドラインプロンプトで実行されます。[角括弧]内のテキストは、同等の機能の参照先の説明です。
ソフトウェアリポジトリの初期化クローン引く押す地方支店チェックアウトアップデートロック追加取り除く動くコピーマージ専念元に戻すバンドルファイルを生成するリベース
アキュレブSCMmkデポ該当なし該当なし該当なしmkストリームmkwsアップデートアンカー追加廃止された動くcp
[次に] add – incl -s – ln
マージ維持 – 促進パージ – 元に戻す該当なしチャンネルストリーム
Azure DevOpsGitを使用するGitを使ってクローンする得る専念棚セットチェックアウト得るロック追加消去名前を変更するGitを使用するマージ専念元に戻すGitを使用する得る
GNUバザールinit – init -no-tree [nb 60]init-repo – init-repo -no-trees [nb 61]枝 –枝なし木[注 62]引く押すinit – ブランチチェックアウト –チェックアウト -軽量[nb 63]アップデート該当なし追加rm動画該当なしマージ専念元に戻す送信リベース[注 64]
ビットキーパー設定クローンプル-R押すクローン共同引く未知追加rm動画cp引く専念元に戻すパッチを作成する崩壊
IBM DevOps コード ClearCase初期化該当なし該当なし該当なし該当なしチェックアウトアップデートロック – ロック解除ムケレムrmname動画該当なしマージチェックインチェックアウト解除 – rmver該当なし検索マージ
CVS初期化該当なし該当なし該当なし該当なしチェックアウトアップデート未知追加rm該当なし該当なしアップデート -j専念削除[その後]更新該当なし該当なし
CVSNT初期化該当なし該当なし該当なし該当なしチェックアウトアップデート編集追加rm名前を変更する該当なしアップデート -j専念アップデート -C該当なし該当なし
ダルクス初期化クローン引っ張る[58]押す該当なし[注 65]クローン引っ張る[58]未知追加取り除く動く該当なし引く – 押す記録元に戻す送信-o [注 66]リベース
化石新規 – オープンクローン引く押すブランチ – コミット –ブランチクローン/開くアップデート該当なし追加rm/delmv/名前変更該当なしマージ専念元に戻すFossilのリポジトリは単一のsqliteファイルそのものである該当なし
ギットinit – init –bareクローン – クローン – ベアフェッチ押す支店チェックアウト引く該当なし追加rm動画cp
[次に] git add [注 67]
マージ専念リセット –ハードバンドルリベース
気まぐれな初期化クローン引く押すブックマーク[nb 68]アップデート – アップ – チェックアウト – coプル-u該当なし追加削除 – rm移動 – mvコピー – cpマージコミット – ci元に戻すバンドルリベース[59]
単調初期化クローン引く押す該当なしチェックアウトアップデート未知追加落とす名前を変更する該当なしマージ専念元に戻す該当なし該当なし
Perforce ヘリックスコアp4 クライアント && p4 同期p4同期p4同期p4 送信最近のストリーム機能への移行が必要です編集同期ロック – ロック解除追加消去動くコピー統合する提出する元に戻す未知該当なし
ソースコード管理システム作成する該当なし該当なし該当なし管理者 -fb取得(読み取り専用) – 編集取得(読み取り専用) – 編集該当なし[注 69]作成する該当なし該当なし該当なし編集 -iデルタ取得-r該当なし編集 -i
転覆svnadmin 作成svnadmin ホットコピー[回避策]: svnadmin load[回避策]: svnadmin dump該当なしチェックアウト – coアップデート – アップロック追加削除 – del – 削除 – rm移動 – mv – 名前変更 – renコピー – cpマージコミット – ci元に戻す該当なし該当なし
サラウンドSCMmkメインライン該当なし該当なし該当なしmkbranchチェックアウト得るチェックアウト追加rm動く該当なしマージチェックインvoidcheckout該当なしリベース
ベスタvcreatevreplvreplvrepl該当なしvチェックアウト前進vチェックアウト[...その後] vcheckin [nb 70]
vrmmv
[その後] vcheckin [注 71]
cp
[その後] vcheckin [注 72]
vdiffvチェックインvcheckin -c 0vmake [または] vesta前進
ビジュアルソースセーフ?未知未知未知該当なしGet LatestGet LatestCheck OutAdd FilesDelete?未知?Check InUndo Check Out未知未知
ソフトウェアリポジトリの初期化クローン引く押す地方支店チェックアウトアップデートロック追加取り除く動くコピーマージ専念元に戻すバンドルファイルを生成するリベース

高度なコマンド

次の表は、主要なバージョン管理システムで一般的なタスクを実行するために使用されるコマンドを示しています。

表の説明

  • コマンドエイリアス: 特定のコマンドまたはその組み合わせのカスタムエイリアスを作成します
  • ロック/ロック解除: 他のユーザーが編集できないようにファイルを排他的にロックします
  • Shelve/unshelve : 作業ディレクトリ内の変更の一部またはすべてを一時的に保留する
  • ロールバック: 履歴からパッチ/リビジョンを削除する
  • チェリーピッキング: ブランチから別のブランチへいくつかのリビジョンのみを移動する(ブランチをマージする代わりに)
  • 二分法: ソース履歴を二分探索して、回帰を導入または修正した変更を探す
  • 受信/送信: ローカルリポジトリとリモートリポジトリの違いを照会します (プル/プッシュで取得/送信されるパッチ)
  • Grep : リポジトリ内のパターンに一致する行を検索する
  • 記録: コミットにファイルの一部の変更のみを含め、他の変更は含めない
  • :緑色の四角で囲まれ、[角括弧]で囲まれていないコマンドは、対話型のコマンドラインプロンプトで実行されます。[角括弧]内のテキストは、同等の機能の参照先の説明です。
ソフトウェアコマンドエイリアスロック/ロック解除棚に追加/棚から外すロールバックチェリーピッキング二等分する着信/発信グレップ記録
アキュレブSCM該当なしファイルロックを有効にする該当なし元に戻す - 削除推進する該当なし該当なし該当なし未知
Azure DevOpsはいロック/ロック解除棚上げ/棚戻しロールバックマージ該当なし未知未知該当なし
GNUバザール['.bazaar/bazaar.conf' ファイル内]該当なし棚上げ/棚戻しコミット解除マージ(非追跡)bisect(bisectプラグイン)-theirs-only / -mine-onlyが欠落していますgrep(grepプラグイン)該当なし
ビットキーパー未知未知駐車/駐車解除元に戻す未知二等分する-R/-L の変更グレップ未知
CVSNT['.cvsrc' ファイル内]編集 -x /unedit [注 73]該当なし管理者 -o [注 74]はい[注 75]注釈を付ける[nb 76]該当なし該当なし[60]該当なし
ダルクス該当なし該当なし元に戻す/元に戻さない記録解除はい[注 77]テスト -bisectプル/プッシュ- ドライラン該当なし記録
化石該当なし該当なしスタッシュポップ/スタッシュ適用[nb 78]マージ - ロールバックマージ - チェリーピック二等分する該当なし検索該当なし
ギット['.gitconfig' ファイル内]該当なしスタッシュ/スタッシュポップ[nb 79]HEADをリセットする^チェリーピック二等分するチェリーグレップ-p を追加
気まぐれな['.hgrc' ファイル内]該当なしshelve/unshelve(バンドルされた拡張機能[61]ストリップ(バンドル延長[62]移植片(コア[63])または移植片(束状延長[64]二等分する着信/発信グレップコミット -インタラクティブ
単調[モノトーンで]該当なし該当なしローカルでkill_rev_ [nb 80]摘み取る二等分する該当なし該当なし未知
Perforce ヘリックスコアブローカー経由[65]ロック/ロック解除棚上げ/棚戻し消滅させるインテグ[66]未知インターチェンジグレップ未知
転覆該当なしロック/ロック解除棚に置く/棚から出す[nb 81]該当なしsvnmerge チェリーピッキングサードパーティツール[nb 82]ステータス -u [nb 83]該当なし該当なし
サラウンドSCM該当なしチェックアウトロールバック重複変更該当なし差分検索該当なし
ソフトウェアコマンドエイリアスロック/ロック解除棚に追加/棚から外すロールバックチェリーピッキング二等分する着信/発信グレップ記録

ユーザーインターフェース

次の表は、主要なバージョン管理システムの Web、GUI、および IDE インターフェイスの仕様を示しています。

表の説明

  • ソフトウェア: 説明するアプリケーションの名前。
  • Webインターフェース:ソフトウェアアプリケーションにWebインターフェースが含まれているかどうかを示します。Webインターフェースにより、ソフトウェアは診断データをWebサイトに投稿したり、ソフトウェアアプリケーションをリモート制御したりできるようになります。
  • GUI:GUIはグラフィカルユーザーインターフェースです。ソフトウェア製品にGUIが搭載されている場合、DOSインターフェースのようにコマンドプロンプトでコマンドを入力して機能にアクセスするのではなく、アプリケーションウィンドウからその機能にアクセスできます。
  • プラグイン:統合開発環境を通じて利用可能な機能。最低限必要な機能は、ファイルのリビジョン状態の一覧表示とファイルのチェックイン/チェックアウトです。
ソフトウェアウェブインターフェーススタンドアロンGUIIDEの統合および/またはプラグイン
アキュレブSCMはいWindows(エクスプローラー統合を含む)LinuxUnixmacOSBeOSが利用可能IntelliJ IDEAEclipseVisual Studio
Azure DevOps含まれています(Web サービスに使用される SharePoint Server)Windows が含まれています。macOS、Unix も利用可能です。Visual Studio。Eclipse IDEおよびIntelliJ IDEA用のJavaクライアント(Ultimate Editionに標準搭載)
GNUバザール単純なウェブサーバーを使用できるOlive、bzr-gtk ( GTK +)、Bazaar Explorer ( Qt )、QBzr ( Qt )、TortoiseBzr (Windows)Eclipse (BzrEclipse、QBzrEclipse)、Visual Studio (bzr-visualstudio)、TextMate (TextMateBundle)、Komodo IDEWing IDE
ビットキーパー含まれている含まれている(bkd)未知
CA ソフトウェア変更マネージャー含まれているEclipseベースのGUIEclipse、MS Visual Studio
IBM DevOps コード ClearCaseClearcase Webインターフェース付属古いバージョン: MS Windows ネイティブ、 Unix 系システム用の Motif ベースの GUI z/OS用のTSOクライアントEmacs、Eclipse(IBM独自仕様、Eclipse-CCase)、Visual Studio(IBM独自仕様)、KDevelop(標準?)、IntelliJ IDEA(Ultimate Editionでは標準)
コードコーププロジェクト全体がローカルに複製されるため不要ウィンドウズ未知
CVScvsweb、ViewVC、その他TortoiseCVS (Windows エクスプローラー)、TkCVS ( Tcl / Tk )、WinCVS、macOS、GTK、Qt が利用可能Eclipse (Team)、KDevelop (標準)、IntelliJ IDEA (Community および Ultimate エディションの標準)、Emacs (標準 VC)、Komodo IDEBBEditWing IDE
CVSNTcvsweb、ViewVC、その他Windows、macOS、OS/400GTK、Qtが利用可能CVSをサポートするものすべて、およびSCCI、Bugzilla、Buildの商用プラグイン
ダルクスdarcs.cgi含まれるもの:darcsweb、Trac開発中; TortoiseDarcs (Windows Explorer), macOS (アルファ版),Eclipse (eclipsedarcs)、Emacs (vc-darcs.el)
寸法 CMはいWindows(エクスプローラー統合を含む)EclipseVisual StudioIntelliJ IDEAXCodePowerbuilder
化石組み込みウェブサーバー(UI/サーバーモード)が付属、CGIモードで複数のリポジトリを実行可能燃料SCM未知
ギットGitweb、wit、cgit、GitLabGitHubgitoriousTracKallitheaBitbucket、Stash、Springloops、Bonobo Git Server、Gitea、Gogsgitk( wish )、git-gui ( Tcl / Tk )、tig、Gitbox ( macOS )、TortoiseGit、qgit、gitg ( GNOME / GTK )、(h)gct ( Qt )、git-cola ( Qt )、Git Extensions ( Windows )、GitEye、SmartGit/Hg、Tower、SourceTree ( macOS / Windows )、Sprout ( macOS )、GitX ( macOS )、GitUp ( macOS )、GitKraken、Sublime MergeAptana 3 Beta (Git 統合を備えた Aptana Studio 3); Atom ; Eclipse (JGit/EGit); Helix TeamHub ; Netbeans (NbGit); KDevelop ; Visual Studio (Git 拡張機能); Emacs (標準 VC の拡張機能); SAP Web IDE; TextMate (Git TextMate バンドル); Vim (VCSCommand プラグインおよび fugitive プラグイン); IntelliJ IDEA >8.1 (Community および Ultimate エディションの標準); Komodo IDE ; Anjuta ; XCodeWing IDE ; PyCharm
GNUアーキテクチャアーチズームArchWay ( GTK 2)、TlaLogEmacs(標準VC)
IC管理含まれているWindows、Linux、Unix、macOSEmacs、Cadence Design Framework、Synopsys Custom Designer
MKSインテグリティはいWindows、Linux、Unix、Solaris、AIX、Eclipse、Microsoft Visual Studio、Perforceなど。業界標準のソースコード管理(SCC)インターフェースもサポートしています[67]
気まぐれな含まれる、[nb 84] TracカリテアHgk ( Tcl / Tk )、(h)gct (Qt)、TortoiseHg (Windows Explorer、Nautilus)、MacHg、

MacMercurial、Murky、SourceTree (Windows/macOS)、TortoiseHg、SmartGit/Hg

IntelliJ IDEA (hg4idea サードパーティ プラグイン)、Eclipse (Mercurial Eclipse)、NetBeans、Visual Studio 2008、Emacs、Vim (VCSCommand プラグイン)、Komodo IDEEric Python IDEWing IDE
単調ViewMTN、TracMonotone、Monotone-Viz ( GTK + )、Guitone ( Qt )、Monotone Browser ( GTK +、Perl )未知
Perforce ヘリックスコア付属、P4Web、P4FTPWindows、Linux、Mac macOSEclipseVisual StudioMatlab ; ゲームエンジン: UnityUnrealAmazon Lumberyard ; グラフィック: Autodesk Maya3ds maxAdobe PS
ラショナル・チーム・コンサートはいEclipseベースのGUIEclipse 統合、MS Visual Studio 統合(限定的)
スターチーム含まれているWindows、Java、Eclipse、Visual Studio、BDS2006統合、JavaコマンドラインIntelliJ IDEA(Ultimate Edition に標準搭載)、Visual Studio、JBuilder、Eclipse
転覆Apache 2モジュール、WebSVN、ViewSVN、ViewVCTrac、SharpForge、sventon、Springloopsが含まれていますJava、KDESVN、macOS [68](Finder統合を含む)、Nautilus、Qt、RabbitVCSRapidSVN、SourceTree(macOS)、TortoiseSVN(Windowsエクスプローラー)AnjutaBBEdit、Eclipse(Subclipse、Subversive)、Emacs(標準VC)、IntelliJ IDEA(Community EditionおよびUltimate Editionの標準)、KDevelop(標準)、Komodo IDEMonoDevelop(標準)、Netbeans、RabbitVCS(GEdit用)、TextMate(SVNMateプラグイン)、Visual Studio(AnkhSVN、VisualSVN)、Wing IDE。Subversionクライアントの比較も参照してください。
サラウンドSCMはいWindows、macOS、LinuxEclipseIntelliJ IDEAJDeveloperNetBeansVisual StudioWebStorm
シナジーTelelogic Changeインターフェース経由Windows(エクスプローラー統合を含む)、Linux、UnixEclipse (Telelogic 独自)、Visual Studio (Telelogic 独自)、IntelliJ IDEA (Telelogic 独自)
金庫含まれているWindows、Unix系、macOSVisual Studio 2003以降、Eclipse 3.2以降
ベスタベスタウェブいいえいいえ
ビジュアルソースセーフいずれも含まれません。SSWI、VSSリモート処理Windows を含む。SourceOffSite を使用する Linux、macOS、Solaris。VSS 用の Sourceanywhere を使用する任意の Java VM。Visual Studio、IntelliJ IDEA(Ultimate Edition では標準)
ソフトウェアウェブインターフェーススタンドアロンGUIIDEの統合および/またはプラグイン

歴史と採用

次の表は、さまざまなバージョン管理システムの歴史的背景に関するメモを示しています。

表の説明

  • ソフトウェア: 説明するアプリケーションの名前。
  • 履歴: ソフトウェアの起源と発展について簡単に説明します。
  • 注目すべき現在のユーザー: ソフトウェア自体を除いた、ソフトウェアを主要なリビジョン コントロール システムとして使用しているよく知られたプロジェクトのリストです。その後に、完全なリストがある場合はそのリンクが続きます。
ソフトウェア歴史注目すべき現在のユーザー
アキュレブSCM2002年に初めて公開された
Azure DevOps サーバー2006 年 3 月に Visual Studio Team System として初めて公開され、2010 年に Team Foundation Server、2019 年に Azure DevOps Server に名前が変更されました。マイクロソフト
Azure DevOps サービス2012 年に Team Foundation Service として初めて公開され、2013 年に Visual Studio Online、2015 年に Visual Studio Team Services、2018 年に Azure DevOps に名前が変更されました。マイクロソフト
GNUバザール最初のリリースは2005年3月26日。 bazと関連があります。Canonical Ltd.がスポンサーです。
ビットキーパー2000年5月4日初版リリース。Sun WorkShop TeamWareの影響を受けています。
CA ソフトウェア変更マネージャー元の会社は 1977 年に設立され、CA SCM (当時は CCC/Harvest と呼ばれていました) は 1995 年に初めてリリースされました。
IBM DevOps コード ClearCase1980年代にApollo ComputerがDSEEで開発したコンセプトに基づき、1990年からAtria Softwareによって開発が始まりました。最新バージョンは2016年3月にリリースされた9.0.0です。
コードコープ最初の分散VCSは1997年にデモされ、[69]その後すぐにリリースされました。
CVS1986年7月3日に初めて公開されました。RCSに基づいていますNetBSDOpenBSD
CVSNT1998年に初めて公開されました。CVSに基づいています。CVS開発者によって開始され、より幅広い開発手法とプロセスのサポートを追加することを目指しました。
ダルクス2003年4月9日に初めて発表された
寸法 CM1980年代後半にSQL Software社によって「PCMS Dimensions」(PCMSはProduct Configuration Managementの略)という名称で開発されました。その後、数々の企業買収を経て、「PVCS Dimensions」(1990年代、Intersolv社)、「Dimensions」(2000年代初頭、Merant社)、「ChangeMan Dimensions」(2004年、Serena Software社)を経て、「Dimensions CM」(2007年以降、Serena Software社)という名称でリリースされました。
化石Fossil と SQLite は 2007 年 7 月 21 日から Fossil を使用しています。
ギット2005年4月にBitKeeper論争を受けてLinus Torvaldsによって開始されました[70]LinuxカーネルAndroidOpenJDKBugzillaDragonFly BSDFreeBSDgcc[71] GNOMEGNU EmacsGnuPG[72] GRUB2KDEMySQLPerl 5[73] PostgreSQLPython[74] X.OrgCairoQt開発フレームワークSambaOpenEmbeddedRubyRuby on RailsWineFluxboxOpenboxCompiz FusionXCBXenELinks、XMMS2、e2fsprogsGNU CoreユーティリティDokuWikiDrupalLibreOfficeMediaWiki[75] MonoASP.NET MVCADO.NET Entity FrameworkNuGetjQueryとその多くのプラグイン、OpenCVTwitterNetflixLinkedInWiresharkDjango 、 Eclipse FoundationEricssonMicrosoft[76] HuaweiAppleAmazonLGなどの多くの企業
GNUアーキテクチャ2001年にトム・ロード氏によって開始され、後にGNUプロジェクトの一部となりました。ロード氏は2005年8月にメンテナーを辞任しました。
IC管理2003 年に Shiv Sikand と Dean Drako によって設立された IC Manage, Inc によって開発されました。
PTC インテグリティ元々はMKS Softwareによって開発され、2011年5月にPTCに買収された[77]
気まぐれな2005年4月6日、 BitKeeper論争を受けてMatt Mackallによって開始されました[70]初公開は2005年4月19日GNU多精度ライブラリGNU OctavePidginXEmacs [78]
単調2003年4月に初リリース
Perforce ヘリックスコア1995 年に Christopher Seiwald によって設立された Perforce Software, Inc によって開発されました。
ラショナル・チーム・コンサートバージョン1.0は2008年6月にリリースされました
リビジョン管理システム1985年7月
ソースコード管理システム1972年にMarc Rochkindによって開始されました(バイナリ履歴ファイル、IBM-370上のSnobolで記述)。[79]テキスト履歴ファイルを備えたSCCSv4は1977年2月18日に公開されました。 [80]同じ履歴ファイル形式はSCCS 5.0でも使用されています。[81]
スターチームバージョン1.0 1995; [82] StarBase softwareによって開発され、Borland(Micro Focusに買収された)によって買収された。
Apache サブバージョン2000年にCVS開発者によってCVSを置き換えることを目的として 開始されました
シナジー1988年にCaseware社によってAmplifyControlとして開発が始まりました。同社は1994年にContinuus社に社名を変更し、製品はContinuus/CMとして広く知られるようになりました。Continuus社は上場直後の1999年にTelelogic社に買収され、製品はTelelogic Synergyに改名されました。IBM社は2008年にTelelogic社を買収し、Rationalツールスイートへの統合を実現しました。現在、製品はIBM Rational Synergyとして知られています。
金庫2003年2月に初めて公開されました未知
ベスタ2001年にLGPLの下で初めて公開された
ビジュアルソースセーフ元々はOne Tree Softwareという会社によって開発され、バージョン3.1でした。同社はMicrosoftに買収され、1995年頃にVSSのバージョン4.0がリリースされました。
ソフトウェア歴史注目すべき現在のユーザー

参照

注記

  1. ^ Subversionでは、ファイル属性によってファイルごとにロックモデルが有効になります。このファイル属性は、ファイル名のワイルドカード式を使用して自動的に設定できます。
  2. ^ ClearCaseでは、トリガーを設定することでロックモデルが利用可能になる場合があり、多くのサイトでこの方法が採用されています。しかし、ClearCaseでの開発は通常、各開発者に専用のブランチが割り当てられたプライベートブランチで行われるため、ロックモデルとマージモデルのどちらを採用するかはそれほど重要ではありません。開発者がプロ​​ジェクトにコードを納品する準備が整うと、コードはメインブランチにマージされます。
  3. ^ RTCは分散型リビジョン管理システムではないが、設定可能な分散機能を備えている。
  4. ^ オリジナルのUnixソースのフォークは複数存在するが、現在活発にメンテナンスされているのはそのうちの1つだけである。
  5. ^ 複数のユーザーが同時に同じバージョンのファイルを編集することは可能ですが、変更を書き戻すことができるのはそのうちの 1 人だけです。
  6. ^ SCCS のフォークの中にはフリーソフトウェアもありますが、その他は商用 Unix ディストリビューションの一部としてクローズされたままです。
  7. ^ Bazaarの重要なモジュールはPyrexで書かれています。これらは自動的に純粋なC言語に翻訳されます。ただし、マージ解決で使用されるpatientソートモジュールはC言語で直接書かれています
  8. ^ Bazaar バンドルは、履歴を保存するのに十分な追加情報を含む要約差分です。
  9. ^ バイナリファイルを使用したスナップショット。将来的にはバイナリチェンジセットもサポートされる予定(darcs 3)
  10. ^ 4 MB は sqlite3.c です
  11. ^ Mercurial リビジョン番号はリポジトリに対してローカルです。マージが実行される順序に応じてリポジトリごとに異なる場合があります。
  12. ^ Monotone のリビジョンはチェンジセットを表し、マニフェストはスナップショットを表します。各リビジョンは何らかのマニフェストにリンクされています。しかし、マニフェストはレガシーな構造であり、データベースに保存されなくなり、必要に応じて即座に再構築されます。現在、実際の作業は、スナップショットとチェンジセットを組み合わせた構造を持つロスターで行われています。
  13. ^ 邪悪な双子はよくある。ハリウッドではなくSCMの邪悪な双子 Archived 2013-10-16 at the Wayback Machine
  14. ^ アトミック コミットは、ClearCase 7.1.1 リリース ノートの個々のチェックインに対して有効にすることができます。
  15. ^ FAQを参照
  16. ^ darcs のパッチはそれぞれ一意の識別子を持ち、リポジトリ内で同じパッチを 2 回マージすることはできません (「unsafe」コマンドを使用して履歴を破壊的に変更しない限り)。
  17. ^ デフォルトでは8ビットのファイル名で保存(表示)されます。FAQをご覧ください。
  18. ^ アイテムリビジョン属性の使用 (「アイテムの操作」デモ、ユーザー定義属性について説明)。2016年 3 月 4 日にWayback Machineにアーカイブされています。
  19. ^ メッセージとグラフィック インターフェイスは英語のみにローカライズされていますが、ソフトウェアはさまざまな言語のオペレーティング システムで問題なく動作することが認定されています。
  20. ^ 'crnl-glob'設定によって制御される([1])
  21. ^ Gitは設計上、個々のファイルを追跡しないため、名前の変更を明示的に追跡しません。ソースファイルの名前変更と分割は、ファイルの内容に大きな変更がない場合、事後に検出されます。
  22. ^ git-1.7.9以降(リリースノート参照、2013年4月15日アーカイブ、archive.today)。古いバージョンではコミットに署名せず、タグのみに署名します(git-tag(1)マニュアルページの-sオプションを参照)。
  23. ^ UTF-8 ファイル名はバージョン 1.7.10 以降でサポートされています (MSysGit リリース ノート)。
  24. ^ Gitは非常に大きなリポジトリを扱う際に問題を抱えています。SoC 2012 Ideasの「ビッグファイルサポートの改善」セクションと「高速インデックスフォーマットの設計」セクションをご覧ください。
  25. ^ 整合性が有効な変更パッケージは、変更パッケージを制御する項目に対して完全なワークフローと 21 CFR Part 11 準拠のデジタル署名を提供します。
  26. ^ 2009 SP5 では、子開発パスをマージする機能が追加されました。
  27. ^ Mercurial には、2017 年現在、10 を超える言語の国際化が含まれています。
  28. ^ サポートはホストOSに依存し、Unixでは十分にサポートされていますが、Windows OSではホストOSのサポート不足によりサポートされていません。[2]を参照
  29. ^ ユーザーレベルのフックで実行できる
  30. ^ Perforce はシンボリック リンク自体をバージョン管理しますが、シンボリック リンク経由でアクセスした場合、独自のバージョン管理されたビュー (ローカル ファイル ツリー) を認識しません。
  31. ^ プロセス行動コンポーネントを通じて:オペレーションアドバイザーとオペレーション参加者。http://jazz.net/library/article/292
  32. ^ SCCS のソース コードは国際化をサポートするように書かれていますが、英語のメッセージ テキストのみが存在します。
  33. ^ StarTeamはバージョン2006以降アトミックコミットをサポートしています
  34. ^ Subversion は、移動先が移動元と同じ Subversion リポジトリ内にある場合にのみ、ファイルを移動し、その履歴を保持できます。リポジトリ間の移動にはサードパーティ製のツールが必要です。
  35. ^ SVN 1.8以降、Subversionはクライアント側での移動追跡機能の強化をサポートしています。サーバー側ではまだサポートされていません。
  36. ^ 「Changeset Signing」. Apache Subversionメーリングリスト. 2016年8月5日閲覧。
  37. ^ SVN 1.5 の新機能 <http://subversion.apache.org/docs/release-notes/1.5.html#merge-tracking>。別のツール「svnmerge」<[3]> は、古いバージョンのマージ追跡機能を提供します。
  38. ^ Subversionにおいて、タグはSubversionのより一般的な「簡易コピー」概念の特殊なケースです。慣例上、タグは「tags」という名前のディレクトリへのコピーです。そのため、タグもバージョン管理されます。詳細については、http://svnbook.red-bean.com/nightly/en/svn.branchmerge.tags.html を参照してください。表で部分的にしかサポートされていない理由は、Subversionによるタグのエミュレーションでは、ユーザーがリビジョン識別子を入力する必要がある場合にタグ名をリビジョン識別子の代わりに使用できるという要件を満たしていないためです。すべてのバージョン管理システムがブランチをサポートし、したがってタグもサポートするため、定義がSubversionのアプローチを包含するほどに緩和された場合、この列は意味をなさなくなります。
  39. ^ アジア版リリース(v6.6aからv7.1a)およびバージョン7.2以降全般
  40. ^ バージョンの変更履歴は名前の変更時に削除され、古い名前は参照されなくなります。
  41. ^ まだ実装されていません
  42. ^ 動的ビューでは無効にできません。
  43. ^ CVSROOT/modules ファイルのエイリアスを使用します。
  44. ^ CVS はファイルが追加されたときに実行ビットを記録しますが、後でそれを変更することはできません。
  45. ^ これは、CVSNT を含む/使用する TortoiseCVS と WinCVS でサポートされている GUI 機能です。
  46. ^ CVS と同じですが、さらに「シャドウ」リポジトリを含む複製されたリポジトリを持つ機能もあります。
  47. ^ モジュール/ディレクトリ名、または CVSROOT/modules または CVSROOT/modules2 管理ファイルを使用して作成されたエイリアスを使用します。
  48. ^ 使用されている make/build ツールもこれをサポートしている場合、CVSNT はこれをサポートします。
  49. ^ Darcsはdarcs-1リポジトリの明示的なチェックポイントからスパースチェックアウトを実行できますが、darcs-2リポジトリからは実行できません[要引用]
  50. ^ Darcs は #! スクリプトを自動的に検出し、チェックアウト時に実行可能にすることができます。
  51. ^ サブ プロジェクト機能の使用 (ドキュメント ポートフォリオ | ユーザー ガイド | プロジェクトまたはストリームを他のオブジェクトに関連付ける)。
  52. ^ チェックアウトは「fossil open –nested」でネストできます
  53. ^ Git FAQではキーワード拡張は良くないことだと述べられている
  54. ^ add -iadd -p については、git-add(1) マニュアルページを参照してください。
  55. ^ Git FAQでは、変更時刻を保存することがなぜ有害であると考えられるのかが説明されている。
  56. ^ サーバー上ではプロジェクト オプションとして、クライアント上ではユーザー オプションとして構成可能です。
  57. ^ Tortoise SVNなどのサードパーティ製ツールを通じて
  58. ^ SVNはファイルの変更時刻を保存できません。クライアントからの要求に応じて、チェックイン時刻を最終更新時刻として復元できます。デフォルトでは無効です。
  59. ^ ファイルのMIMEタイプは、マージツールが人間が読めないファイルでも動作できる場合でも、「人間が読める」MIMEタイプとして検出される必要があります。
  60. ^ Standalone Branch、2016年3月4日にオリジナルからアーカイブ、 2014年11月6日取得
  61. ^ 共有リポジトリ、2016年3月4日にオリジナルからアーカイブ、 2014年11月6日取得
  62. ^ Standalone Branch、2016年3月4日にオリジナルからアーカイブ、 2014年11月6日取得
  63. ^ Heavyweight CheckoutとLightweight Checkout、2016年6月30日時点のオリジナルよりアーカイブ2014年11月6日閲覧。
  64. ^ リベースプラグイン
  65. ^ darcs には名前付きブランチがありません。ローカルかどうかに関係なく、ブランチはリポジトリのクローン作成によってのみ処理されます。
  66. ^ darcs sendはパッチのバンドルを準備し、デフォルトではメールで送信しますが、代わりにファイルに送信することもできます。
  67. ^ コピーは名前の変更と同様に事後に検出されます
  68. ^ Mercurial ブックマークはローカル ブランチに似ています。
  69. ^ SCCS には暗黙的なロックがあり、 経由でチェックアウトするときに適用されedit、デルタを作成するときに削除されます。
  70. ^ さまざまな手段を使用して、vcheckin の前に (不変にする) ファイルを不変ディレクトリに配置します。
  71. ^ vcheckinの前に、不変ファイルを元の不変ディレクトリから目的の不変ディレクトリにmv(1)またはlink(2)します。
  72. ^ さまざまな手段を使用して、vcheckin の前に、不変ファイルを元の不変ディレクトリから宛先の不変ディレクトリにコピーします。
  73. ^ リポジトリ サーバーのコントロール パネルまたは構成ファイル内の中央設定としてこれを有効にすることもできます。
  74. ^ 管理者権限が必要です。「 」を使用して変更を「ロールバック」することはできますcvs update -e -j @commitid -j "@<commitid"が、変更とロールバックの証拠は履歴に残ります。
  75. ^ はい - TortoiseCVS または WinCVS を使用して変更を宛先にコミットし、保持する特定のファイルを選択します
  76. ^ bisect は CVS でも利用可能であり、CVSNT でも動作するはずです。
  77. ^ darcsはリビジョンではなくパッチを操作します。チェリーピッキングは、依存関係が満たされている限り、特定のパッチをあるリポジトリから別のリポジトリにプルするだけです。
  78. ^ fossil stash はコメント付きの複数の棚をサポートします。
  79. ^ git stash は複数レベルのシェルフであり、複数の変更グループを同時にシェルフすることが可能です。
  80. ^ ローカルリポジトリで、かつ子リビジョンのないリビジョンでのみ機能します。disapprove コマンドを代わりに使用できます。
  81. ^ SVN 1.10 の実験的機能(リリースノート)
  82. ^ SVN Bisect ツール svn-bisect
  83. ^ svn status は、2つのリポジトリ間の相違点ではなく、作業コピーとリポジトリ間の相違点をリストします。
  84. ^ 単一リポジトリアクセスの場合は hgweb、単一 HTTP アドレスからの複数リポジトリアクセスの場合は hgwebdir

参考文献

  1. ^ Apacheソフトウェア財団
  2. ^ 「CVS チームメンバーリスト」、Non-GNU Savannah、GNU プロジェクト
  3. ^ CVS Pro、マーチヘア
  4. ^ 「購入方法」. perforce.com . 2018年1月18日閲覧。
  5. ^ 「分散バージョン管理システムとは」GitLab。
  6. ^ Jean-Michel Lemieux、「Countdown to the next Rational Team Concert: Part II – Source control enhancements」、Jazz Community、2015年9月10日時点のオリジナルよりアーカイブ2010年12月28日閲覧。
  7. ^ Rational Synergy、IBM、2020年11月9日
  8. ^ ライセンスと価格設定、PlasticSCM
  9. ^ IBM – Rational ClearCase – 米国、2020年11月9日、2013年11月11日時点のオリジナルよりアーカイブ
  10. ^ 「Changesets」March Hare Software Ltd. 2012年5月8日閲覧
  11. ^ 化石技術概要
  12. ^ 化石ハッシュポリシー
  13. ^ Git サーバープロトコル
  14. ^ 「Git - 高速でスケーラブルな分散型リビジョン管理システム」GitHub . 2021年11月2日.
  15. ^ 「アーカイブコピー」(PDF) 。 2011年11月13日時点のオリジナル(PDF)からアーカイブ。 2012年1月12日閲覧{{cite web}}: CS1 maint: archived copy as title (link)
  16. ^ 「SCMニュース – Kronos、ソフトウェア構成管理にAccuRevを採用」AccuRev、2004年4月26日。2014年2月2日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  17. ^ 「クロスプラットフォームの地理的に分散したチームのパフォーマンスとスケーラビリティの向上」AccuRev. 2008年9月23日。2014年2月2日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  18. ^ 「EOL変換はbzr 1.14以降でサポートされています」Doc.bazaar-vcs.org。2009年4月13日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  19. ^ IBM サポートによる各国語および ClearCase のサポート ポリシー
  20. ^ 「化石:フック」.
  21. ^ 「Fossil: Fossil 対 Git」。
  22. ^ 「GitExtension - Mercurial」。
  23. ^ https://foss.heptapod.net/mercurial/mercurial-devel/-/tree/branch/default/hgext/git
  24. ^ Largefiles 拡張機能は Hg Rev.:2.0 (2011) 以降コアに、remotefilelog 拡張機能 (2014)、fsmonitor 拡張機能は Hg Rev.:3.8 (2016) 以降コアに、実験的な sparse 拡張機能は Hg Rev.:4.3 (2017) 以降コアに含まれています。
  25. ^ [4] 2014年2月10日アーカイブ、Wayback MachineよりPerforceユーザーズガイドより
  26. ^ [5] 2014年2月9日、 Wayback MachineにPerforceユーザーズガイドよりアーカイブ
  27. ^ 「Perforce パブリックナレッジベース – ホーム」Perforce.com。2007年8月14日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  28. ^ 「Perforce Knowledge Base: Internationalization and Localization」. Kb.perforce.com. 2010年10月21日. 2012年2月8日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  29. ^ 「Perforce Knowledge Base: Internationalization and Localization」. Kb.perforce.com. 2010年10月21日. 2013年1月30日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  30. ^ [6] – Seapine SoftwareのリリースはSCM 2009を囲む
  31. ^ “GitCentric | AccuRevGit for the Enterprise”. Accurev.com. 2012年10月17日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  32. ^ 「Bazaar キーワードプラグイン」Wiki.bazaar.canonical.com. 2005年9月5日. 2014年2月1日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  33. ^ 「Bazaarインタラクティブプラグイン」Launchpad.net、2008年3月7日。 2014年1月26日閲覧
  34. ^ 「Bazaar Externalsプラグイン」Launchpad.net、2009年11月9日。 2014年1月26日閲覧
  35. ^ 「指定された拡張子のマージ操作を無視する」2010年3月4日。
  36. ^ "bzr-svn". Launchpad.net. 2006年5月8日. 2014年1月26日閲覧
  37. ^ "bzr-git". Launchpad.net. 2006年7月15日. 2014年1月26日閲覧
  38. ^ "bzr-hg". Launchpad.net. 2006年6月13日. 2014年1月26日閲覧
  39. ^ IBM Rational ClearCase: IBM DeveloperWorks のベスト トリガー 10
  40. ^ マニフェスト、Fossilファイル形式
  41. ^ “化石の輸入と輸出”. Fossil-scm.org. 2014年1月22日. 2014年2月2日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  42. ^ 「FossilHelp: インポート」
  43. ^ "git-submodule(1) マニュアルページ". Kernel.org. 2013年2月15日. 2014年1月26日閲覧
  44. ^ "git-read-tree(1) マニュアルページ". kernel.org. 2014年8月24日. 2014年10月24日閲覧
  45. ^ 「Mercurial KeywordExtensionページ」Mercurial-scm.org . 2014年1月26日閲覧
  46. ^ 「Mercurial RecordExtensionページ」Mercurial-scm.org. 2013年8月27日. 2014年1月26日閲覧
  47. ^ 「サブリポジトリ – Mercurial」。Mercurial-scm.org . 2016年4月22日閲覧
  48. ^ Hg Rev.:4.3 以降、スパース拡張がコアに含まれます。
  49. ^ 「Mercurial Timestamp Extension」. Mercurial-scm.org. 2012年4月24日. 2014年1月26日閲覧
  50. ^ 「マージツールの設定」Mercurial-scm.org. 2017年3月14日. 2017年9月5日閲覧
  51. ^ "hgsubversionページ". Mercurial-scm.org. 2013年8月28日. 2014年1月26日閲覧
  52. ^ 「Hg-Git Mercurialプラグイン」Hg-git.github.com . 2014年1月26日閲覧
  53. ^ 「Mercurial ConvertExtensionページ」Mercurial-scm.org. 2013年11月29日. 2014年1月26日閲覧
  54. ^ 「Mercurial: 決定版ガイド: 付録: Mercurial への移行」
  55. ^ abc 「P4ユーザーズガイド」Perforce . 2018年1月19日閲覧
  56. ^ 「キーワード置換」Svnbook.red-bean.com . 2014年1月26日閲覧
  57. ^ 「外部定義」Svnbook.red-bean.com . 2014年1月26日閲覧
  58. ^ ab darcsのデフォルトのプルコマンドは対話型であり、ユーザーはリアルタイムでどのパッチを適用(マージ)するかを選択できます。
  59. ^ 「Mercurial Rebase Extension」. Mercurial-scm.org. 2012年10月25日. 2014年4月23日閲覧
  60. ^ "bug 6463 - enh: search repository" . 2012年5月8日閲覧
  61. ^ 「Mercurial Shelve拡張機能ページ」Mercurial-scm.org. 2013年11月7日. 2014年1月26日閲覧
  62. ^ 「Mercurial Strip拡張機能ページ」Mercurial-scm.org . 2016年5月11日閲覧
  63. ^ "graft -core コマンド (Hg Rev.2.0 以降)". Selenic.com . 2014年1月26日閲覧
  64. ^ 「Mercurial Transplant拡張機能ページ」Mercurial-scm.org. 2012年5月12日. 2014年1月26日閲覧
  65. ^ 「Perforce Broker」. Perforce.com. 2013年11月16日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  66. ^ 「Perforce Knowledge Base: "Cherry Picking" Integrations」Kb.perforce.com、1990年1月1日。2012年3月9日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  67. ^ 「サポートされている統合 – PTC Integrity」Mks.com、2012年9月10日。2012年7月25日時点のオリジナルよりアーカイブ2014年1月26日閲覧。
  68. ^ “La Chose : Web エージェンシーおよびソフトウェア メーカー – Agence Web et développement delogiciels”. 2016 年 6 月 18 日にオリジナルからアーカイブされました2006 年 9 月 20 日に取得
  69. ^ 分散ソース管理システム. Portal.acm.org. 1997年5月18日. pp.  98– 107. ISBN 9783540630142. 2014年1月26日閲覧
  70. ^ ab より良い SCM に向けて: Revlogs と Mercurial、2006 年 7 月のオタワ Linux シンポジウムで Matt Mackall が発表
  71. ^ 「GCC: 匿名読み取り専用Gitアクセス」 。 2023年10月24日閲覧
  72. ^ 「GnuPGハッカーガイド」. 2021年3月11日. 2023年10月24日閲覧
  73. ^ 「Perlソースの入手と使用方法」dev.perl.org . 2014年1月26日閲覧
  74. ^ 「セットアップとビルド」。Python.org 。 2023年10月24日閲覧
  75. ^ 「ギット」。メディアウィキ2012 年8 月 1 日に取得
  76. ^ 「地球上で最大のGitリポジトリ」2017年5月24日。
  77. ^ 「PTC、MKS Integrity買収によりハードウェアおよびソフトウェア開発ライフサイクル管理の新たな基準を確立 – PTC Integrity」Mks.com。2014年7月22日時点のオリジナルよりアーカイブ。 2014年1月26日閲覧
  78. ^ 「Mercurial を使用しているプロジェクト」、Mercurial (wiki)、Mercurial-scm.org
  79. ^ Rochkind, Marc J. (1975年12月), "The Source Code Control System" (PDF) , IEEE Transactions on Software Engineering , vol. SE-1, no. 4, pp.  364– 370, Bibcode :1975ITSEn...1..364R, doi :10.1109/tse.1975.6312866, S2CID 10006076, 2011年5月25日時点の オリジナル(PDF)からアーカイブ, 2014年7月31日取得
  80. ^ http://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/news/pibs PWB UNIX 製品発表
  81. ^ SCCS 4 ファイル形式と SCCS 5.0 ファイル形式を比較する (2014 年 8 月 19 日にWayback Machine のファイル形式 (「アーカイブ コピー」の man ページ sccsfile(4) として) を参照)。2014 年 8 月 19 日にオリジナルからアーカイブ。2014年 8 月 17 日に取得{{cite web}}: CS1 maint: archived copy as title (link)
  82. ^ スターチーム®
Retrieved from "https://en.wikipedia.org/w/index.php?title=Comparison_of_version-control_software&oldid=1325505557"