Loading article…
次の表は、さまざまなシステムを比較対照するために使用できる、 主要なバージョン管理およびソフトウェア構成管理(SCM)ソフトウェア システムの属性を示しています。
ソース コードに適さない SCM ソフトウェアについては、「オープン ソース構成管理ソフトウェアの比較」を参照してください。
一般情報
次の表には、バージョン管理ソフトウェア システムの比較的一般的な属性が含まれています。
- リポジトリモデル、ソースコードリポジトリのコピー間の関係
- クライアント サーバーでは、ユーザーはクライアントを介してマスター リポジトリにアクセスします。通常、ローカル マシンにはプロジェクト ツリーの作業コピーのみが保持されます。1 つの作業コピーの変更は、他のユーザーに伝播される前にマスター リポジトリにコミットする必要があります。
- 分散型では、リポジトリはピアとして機能し、ユーザーは通常、作業コピーに加えて、バージョン履歴を利用できるローカル リポジトリを持ちます。
- 同時実行モデル。作業コピーへの変更を管理して、同時編集によってリポジトリに無意味なデータが生成されないようにする方法。
- ロックの場合、ユーザーがマスター リポジトリからファイルの排他ロックを要求して取得するまで、変更は許可されません。
- Merge では、ユーザーはファイルを自由に編集できますが、変更をリポジトリにチェックインするときに競合の可能性が通知され、その後、バージョン管理システムが両方の変更をマージするか、競合が発生したときにユーザーに決定させます。分散バージョン管理システムでは通常、マージ同時実行モデルが使用されます。
技術情報
次の表は、いくつかのよく知られているバージョン管理ソフトウェアの技術的な詳細を示しています。これらは、次のヘッダーに基づいて分類されています。
表の説明
- ソフトウェア: 説明するアプリケーションの名前。
- プログラミング言語: アプリケーションを開発する際に使用するコーディング言語
- 保存方法: リポジトリにファイルを保存する形式を説明します。スナップショットは、コミットされたファイルがそのまま保存されることを示します (通常は圧縮されます)。このコンテキストでは、変更セットは、コミットされたファイルが前のバージョンまたは次のバージョン間の差分の形式で保存されることを示します。
- 変更の範囲: 変更が個々のファイルに対して記録されるか、ディレクトリツリー全体に対して記録されるかを説明します。
- リビジョン ID : リポジトリ内のファイルの特定のバージョンを識別するために内部的に使用されます。システムでは、疑似ランダム識別子、リビジョンのコンテンツ ハッシュ、または連続したバージョン番号 (名前空間) を持つファイル名が使用される場合があります。統合差異では、リビジョンは変更セット自体に基づいており、複数のファイルへの変更を記述できます。
- ネットワーク プロトコル:変更の同期に使用されるプロトコルを一覧表示します。
- ソース コードのサイズ: ソース コードのサイズをメガバイト単位で示します。
特徴
次の表は、いくつかのよく知られたソフトウェアをその機能と性能に基づいて分類したものです。
表の説明
- ソフトウェア: 説明するアプリケーションの名前。
- アトミック コミット: すべての変更が行われるか、まったく変更が行われないことが保証されることを指します。
- ファイル名の変更: システムでバージョン履歴を保持しながらファイル名を変更できるかどうかを示します。
- ファイルの名前変更をマージ: システムが、あるブランチのファイルに加えられた変更を、別のブランチで名前が変更された同じファイルにマージできるかどうか (またはその逆) を示します。両方のブランチで同じファイルの名前が変更された場合は、名前変更の競合が発生し、ユーザーが解決する必要があります。
- シンボリック リンク: システムが通常のファイルと同様にシンボリック リンクのリビジョン管理を許可するかどうかを示します。シンボリック リンクのバージョン管理は、機能であると考える人もいれば、セキュリティ違反であると考える人もいます (例: /etc/passwd へのシンボリック リンク)。シンボリック リンクは、ソフトウェアに応じて、特定のプラットフォームでのみサポートされます。
- 事前/事後イベントフック: コミットなどのアクションの実行前または実行後にコマンドをトリガーする機能を示します。
- 署名されたリビジョン: OpenPGPなどの形式でのリビジョンの統合デジタル署名を指します。
- マージ追跡: システムがどのブランチ間でどのような変更がマージされたかを記憶し、あるブランチを別のブランチにマージするときに不足している変更のみをマージするかどうかを説明します。
- 行末変換: システムがテキスト ファイルの行末文字を、それが使用されているオペレーティング システムの行末スタイルと一致するように適応できるかどうかを示します。制御の粒度はさまざまです。たとえば、Subversion はファイルの種類に応じて EOL を異なる方法で処理するように構成できますが、Perforce はすべてのテキスト ファイルを単一のクライアントごとの設定に従って変換します。
- タグ: これらの名前がタグと呼ばれるかラベルと呼ばれるかに関係なく、特定のリビジョンに意味のある名前を付けることができるかどうかを示します。
- 国際サポート: ソフトウェアが複数の言語環境とオペレーティングシステムをサポートしているかどうかを示します。
- Unicode ファイル名のサポート: ソフトウェアが異なる文字エンコーディングを使用するファイル システムでの相互運用をサポートしているかどうかを示します。
- 大規模なリポジトリをサポート: システムは、約 1 ギガバイト以上のリポジトリを効率的に処理できますか?
高度な機能
以下は、バージョン管理ソフトウェアのより高度な機能の一部です。
表の説明
- キーワード拡張: ファイルのリビジョン番号などのキーワードの自動拡張をサポートします。
- 対話型コミット: 対話型コミットを使用すると、ファイル レベルの粒度だけでなく、コミットの一部となるアンカー ファイル (パッチ ハンク) に使用される共通コード行をユーザーが選択できます (選択されていない変更は作業コピーの変更として残ります)。
- 外部参照: ソースツリーへの外部リポジトリの埋め込み
- 部分チェックアウト/クローン: リポジトリから指定されたサブディレクトリのみをチェックアウトまたはクローンする機能。
- 権限: リビジョン履歴内のファイル権限ビットを追跡します。
- タイムスタンプの保存:最後に変更されたファイルシステム属性をコミット時間で上書きします。
- カスタム自動マージツール: 自動マージは、ユーザーが選択した任意のツールで実行できます (ファイルごとに構成可能)
- サポートされる形式: 読み取り/書き込みサポートまたは読み取り専用 (変換、繰り返しの可能性あり)
- 派生オブジェクトの共有ビルド キャッシュ: まったく同じ依存関係を共有する他の連合クライアントによって構築された派生オブジェクトを、ローカルで再構築する代わりに自動的に置き換える (ウィンクインする) 機能
基本コマンド
この表は、バージョン管理ソフトウェアで提供されるコマンドについての詳細な情報を提供します。
表の説明
- リポジトリの初期化: 新しい空のリポジトリ(バージョン管理データベースなど)を作成します。
- clone : リポジトリの同一インスタンスを作成する (安全なトランザクション内)
- pull : リモートリポジトリからローカルリポジトリにリビジョンをダウンロードする
- push : ローカルリポジトリからリモートリポジトリにリビジョンをアップロードする
- ローカルブランチ: 元のリモートリポジトリに存在しないローカルブランチを作成します
- checkout : (リモート)リポジトリからローカル作業コピーを作成する
- update : 作業コピー内のファイルをリポジトリの最新バージョンに更新する
- lock : リポジトリ内のファイルを他のユーザーによる変更からロックする
- add : 次回のコミットでリポジトリに追加される指定ファイルをマークする
- 削除: 指定されたファイルを次のコミットで削除されるようにマークします (注意: 削除前と削除時の一貫したリビジョン履歴が保持されます)。
- 移動: 次回のコミット時に新しい場所に移動するように指定されたファイルをマークします
- copy : 指定したファイルを次回のコミット時にコピーするようにマークする
- マージ: 2つのソース間の差異を作業コピーパスに適用する
- commit : リポジトリの変更を記録する
- revert : リポジトリから作業コピーファイルを復元する
- バンドルファイルの生成: 指定されたリポジトリへの変更の圧縮セットを含むファイルを作成します。
- rebase : ローカルコミットを更新されたアップストリームヘッドに転送する
- 注: [角括弧] で囲まれていない緑色の四角形内のコマンドは、対話型のコマンド ライン プロンプトです。[角括弧] 内のテキストは、同等の機能を見つける場所の説明です。
高度なコマンド
この表には、いくつかのバージョン管理ソフトウェアの一般的なタスクと機能を実行するためのコマンドが示されています。
表の説明
- コマンドエイリアス: 特定のコマンドまたはその組み合わせのカスタムエイリアスを作成します
- ロック/ロック解除: 他のユーザーが編集できないようにファイルを排他的にロックします
- シェルブ/アンシェルブ: 作業ディレクトリ内の変更の一部またはすべてを一時的に保留する
- ロールバック: 履歴からパッチ/リビジョンを削除する
- チェリーピッキング: ブランチから別のブランチにいくつかのリビジョンのみを移動する (ブランチをマージする代わりに)
- 二分法: ソース履歴を二分探索して、回帰を導入または修正した変更を探す
- 受信/送信: ローカルリポジトリとリモートリポジトリの違いを照会します (プル/プッシュで取得/送信されるパッチ)
- Grep : パターンに一致する行をリポジトリで検索する
- 記録: コミットにファイルの一部の変更のみを含め、他の変更は含めない
- 注: [角括弧] で囲まれていない緑色の四角形内のコマンドは、対話型のコマンドライン プロンプトです。[角括弧] 内のテキストは、同等の機能を見つける場所の説明です。
ユーザーインターフェース
この表には、いくつかのバージョン管理ソフトウェアの Web、GUI、および IDE インターフェイスの仕様が示されています。
表の説明
- ソフトウェア: 説明するアプリケーションの名前。
- Web インターフェイス: ソフトウェア アプリケーションに Web インターフェイスが含まれているかどうかを示します。Web インターフェイスを使用すると、ソフトウェアが診断データを Web サイトに投稿したり、ソフトウェア アプリケーションをリモート制御したりできるようになります。
- GUI : GUI はグラフィカル ユーザー インターフェイスです。ソフトウェア製品に GUI が搭載されている場合は、DOS インターフェイスなどのコマンド プロンプトでコマンドを入力して機能にアクセスするのではなく、アプリケーション ウィンドウからその機能にアクセスできます。
- プラグイン:統合開発環境を通じて機能が利用できます。最小限の機能は、ファイルのリビジョン状態を一覧表示し、ファイルをチェックイン/チェックアウトすることです。
歴史と採用
ここではいくつかのバージョン管理ソフトウェアのメタデータと歴史的背景を紹介します。
表の説明
- ソフトウェア: 説明するアプリケーションの名前。
- 履歴: ソフトウェアの起源と開発について簡単に説明します。
- 注目すべき現在のユーザー: ソフトウェア自体を除いた、ソフトウェアを主要なリビジョン コントロール システムとして使用している有名なプロジェクトのリストです。その後に、利用可能な場合は完全なリストへのリンクが続きます。
参照
注記
- ^ ClearCase では、トリガーを設定してロック モデルを許可できます。これは多くのサイトで行われています。ただし、ClearCase 開発は通常、各開発者に独自のブランチが与えられるプライベート ブランチで行われるため、ロックとマージの同時実行モデルはそれほど重要ではありません。開発者がプロジェクトにコードを配信する準備ができたら、コードはメイン ブランチにマージされます。
- ^ RTCは分散リビジョン管理システムではありませんが、設定可能な分散機能を備えています。
- ^ オリジナルのUnixソースのさまざまなフォークが存在するが、そのうちの1つだけが積極的にメンテナンスされている。
- ^ 複数のユーザーが同時に同じバージョンのファイルを編集することは可能ですが、変更を書き戻すことができるのはそのうちの 1 人だけです。
- ^ SCCS のフォークの中にはフリーソフトウェアもありますが、その他は商用 Unix ディストリビューションの一部としてクローズされたままです。
- ^ Subversion では、ファイル属性によってファイルごとにロック モデルが有効になります。このファイル属性は、ファイル名のワイルドカード式を使用して自動的に設定できます。
- ^ Bazaar の重要なモジュールは Pyrexで書かれています。それらは自動的に純粋なCに翻訳されます。ただし、マージ解決で使用される忍耐ソートモジュールはC言語で直接書かれています。
- ^ Bazaar バンドルは、履歴を保存するのに十分な追加情報を含む要約差分です。
- ^ バイナリ ファイルを使用したスナップショット。将来的にはバイナリ変更セットを導入することが検討されています (darcs 3)
- ^ 4 MB は sqlite3.c です
- ^ Mercurial リビジョン番号はリポジトリに対してローカルです。マージが実行される順序に応じて、リポジトリごとに異なる場合があります。
- ^ Monotone のリビジョンは変更セットを表し、マニフェストはスナップショットを表します。各リビジョンは何らかのマニフェストにリンクされています。ただし、マニフェストはレガシー構造であり、データベースに保存されなくなり、必要に応じてオンザフライで再構築されます。実際の作業は、スナップショット/変更セットのハイブリッド構造である名簿で行われるようになりました。
- ^ 邪悪な双子はよくある。ハリウッドではなくSCMの邪悪な双子 Archived 2013-10-16 at the Wayback Machine
- ^ アトミック コミットは、ClearCase 7.1.1 リリース ノートの個々のチェックインに対して有効にできます。
- ^ FAQを参照
- ^ darcs のパッチはそれぞれ一意の識別子を持ち、リポジトリ内で同じパッチを 2 回マージすることはできません (「安全でない」コマンドを使用して履歴を破壊的に変更しない限り)。
- ^ ただし、8ビットのファイル名を保存(およびデフォルトで表示)します。FAQを参照してください。
- ^ アイテムリビジョン属性の使用 (「アイテムの操作」デモ、ユーザー定義属性について説明、Wayback Machineで 2016-03-04 にアーカイブ)。
- ^ メッセージとグラフィック インターフェイスは英語のみにローカライズされていますが、ソフトウェアはさまざまな言語のオペレーティング システムで正常に動作することが認定されています。
- ^ 'crnl-glob'設定によって制御される([1])
- ^ Git は、設計上、個々のファイルを追跡しないため、名前の変更を明示的に追跡しません。ファイルの内容が大幅に変更されない限り、ソース ファイルの名前の変更と分割は事後に検出されます。
- ^ git-1.7.9 以降 (リリースノートを参照、2013-04-15 アーカイブ、archive.today )。古いバージョンではコミットに署名せず、タグのみ署名します (git-tag(1) マニュアルページの -s オプションを参照)
- ^ UTF-8 ファイル名はバージョン 1.7.10 以降でサポートされています (MSysGit リリース ノート)。
- ^ Git では、非常に大きなリポジトリに関していくつか問題があります。SoC 2012 Ideas の「Better big-file support」セクションと「Designing a faster index format」セクションを参照してください。
- ^ 整合性が有効な変更パッケージは、変更パッケージを制御する項目に対して完全なワークフローと 21 CFR Part 11 準拠のデジタル署名を提供します。
- ^ 2009 SP5 では、子開発パスをマージする機能が追加されました。
- ^ Mercurial には、2017 年現在 10 を超える言語の国際化が含まれています。
- ^ サポートはホストOSに依存し、Unixでは十分にサポートされていますが、ホストサポートが不足しているためWindows OSではサポートされていません。[2]を参照してください。
- ^ ユーザーレベルのフックを介して実行できます
- ^ Perforce はシンボリック リンク自体をバージョン管理しますが、シンボリック リンク経由でアクセスした場合、バージョン管理された独自のビュー (ローカル ファイル ツリー) を認識しません。
- ^ プロセス動作コンポーネントを通じて: オペレーションアドバイザーとオペレーション参加者。http://jazz.net/library/article/292
- ^ SCCS のソース コードは国際化をサポートするように書かれていますが、英語のメッセージ テキストのみが存在します。
- ^ StarTeam はバージョン 2006 以降、アトミック コミットをサポートしています。
- ^ Subversion は、移動先がソースと同じ Subversion リポジトリにある場合にのみ、ファイルを移動してその履歴を保存できます。リポジトリ間の移動にはサードパーティのツールが必要です。
- ^ SVN 1.8 以降、Subversion はクライアント側での移動追跡の改善をサポートしています。サーバー側ではまだサポートされていません。
- ^ 「Changeset Signing」。Apache Subversion メーリング リスト。2016年 8 月 5 日閲覧。
- ^ SVN 1.5 の新機能 <http://subversion.apache.org/docs/release-notes/1.5.html#merge-tracking>。別のツール「svnmerge」<[3]> は、古いバージョンのマージ追跡を提供します。
- ^ Subversion では、タグは Subversion のより一般的な「簡易コピー」概念の特殊なケースです。慣例により、タグは「tags」という名前のディレクトリへのコピーです。このため、タグもバージョン管理されます。詳細については、http://svnbook.red-bean.com/nightly/en/svn.branchmerge.tags.html を参照してください。表で部分的にサポートされている理由は、この方法での Subversion のタグのエミュレーションでは、ユーザーが入力する必要があるリビジョン識別子の代わりにタグ名を使用できるという要件を満たしていないためです。すべてのバージョン コントロール システムがブランチをサポートし、タグもサポートするため、定義が Subversion のアプローチを包含するほどに緩和された場合、この列は意味がなくなります。
- ^ アジア版リリース(v6.6aからv7.1a)およびバージョン7.2以降全般
- ^ 名前を変更するとバージョンの変更履歴が削除され、古い名前は参照されなくなります。
- ^ まだ実装されていません
- ^ 動的ビューでは無効にできません。
- ^ CVSROOT/modules ファイルのエイリアスを使用します。
- ^ CVS はファイルが追加されたときに実行ビットを記録しますが、後でそれを変更することはできません。
- ^ これは、CVSNT を含む/使用する TortoiseCVS と WinCVS によってサポートされている GUI 機能です。
- ^ CVS と同じですが、さらに「シャドウ」リポジトリを含む複製リポジトリを持つ機能もあります。
- ^ モジュール/ディレクトリ名、または CVSROOT/modules または CVSROOT/modules2 管理ファイルを使用して作成されたエイリアスを使用します。
- ^ 使用される make/build ツールもこれをサポートしている場合、CVSNT はこれをサポートします。
- ^ Darcs は、darcs-1 リポジトリの明示的なチェックポイントからスパースチェックアウトを実行できますが、darcs-2 リポジトリからは実行できません[引用が必要]
- ^ Darcs は #! スクリプトを自動的に検出し、チェックアウト時に実行可能にすることができます。
- ^ サブプロジェクト機能の使用 (ドキュメント ポートフォリオ | ユーザー ガイド | プロジェクトまたはストリームと他のオブジェクトとの関連付け)。
- ^ チェックアウトは「fossil open –nested」でネストできます
- ^ Git FAQではキーワード拡張は良くないことだと述べられている
- ^ add -iとadd -pについては、git-add(1) マニュアルページを参照してください。
- ^ Git FAQでは、変更時刻を保存することがなぜ有害であると考えられるのかが説明されている。
- ^ サーバー上ではプロジェクト オプションとして、クライアント上ではユーザー オプションとして構成可能です。
- ^ Tortoise SVNなどのサードパーティ製ツールを通じて。
- ^ SVN はファイルの変更時刻を保存できません。クライアントからの要求に応じて、チェックイン時刻を最終変更時刻として復元できます。デフォルトでは無効になっています。
- ^ マージツールが人間が判読できないファイルでも動作できる場合でも、ファイルのMIMEタイプは「人間が判読できる」MIMEタイプとして検出される必要があります。
- ^ Standalone Branch、2016年3月4日にオリジナルからアーカイブ、2014年11月6日に取得
- ^ 共有リポジトリ、2016年3月4日にオリジナルからアーカイブ、 2014年11月6日に取得
- ^ Standalone Branch、2016年3月4日にオリジナルからアーカイブ、2014年11月6日に取得
- ^ Heavyweight Checkout と Lightweight Checkout、2016 年 6 月 30 日にオリジナルからアーカイブ、2014 年 11 月 6 日に取得
- ^ リベースプラグイン
- ^ darcs には名前付きブランチがありません。ローカルかどうかに関係なく、ブランチはリポジトリのクローン作成のみで処理されます。
- ^ darcs send はパッチのバンドルを準備します。デフォルトではメールで送信しますが、代わりにファイルに送信することもできます。
- ^ コピーは名前の変更と同様に事後に検出されます
- ^ Mercurial ブックマークはローカル ブランチに似ています。
- ^ SCCS には暗黙的なロックがあり、 経由でチェックアウトするときに適用され
edit、デルタを作成するときに削除されます。 - ^ さまざまな手段を使用して、vcheckin の前に (不変にする) ファイルを不変ディレクトリに配置します。
- ^ vcheckinの前に、不変ファイルを元の不変ディレクトリから宛先の不変ディレクトリにmv(1)またはlink(2)します。
- ^ さまざまな手段を使用して、vcheckin の前に、不変ファイルを元の不変ディレクトリから宛先の不変ディレクトリにコピーします。
- ^ リポジトリ サーバーのコントロール パネルまたは構成ファイルで、これを中央設定として有効にすることもできます。
- ^ 管理者権限が必要です。「cvs update –e –j @commitid –j "@<commitid"」を使用して変更を「ロールバック」できますが、変更とロールバックの証拠は履歴に残ります。
- ^ yes – TortoiseCVS または WinCVS を使用して変更を宛先にコミットし、保持する特定のファイルを選択します
- ^ bisect は CVSNT でも動作するはずの cvs でも利用可能です
- ^ darcsはリビジョンではなくパッチに対して動作します。チェリーピッキングは、依存関係が満たされている限り、特定のパッチをあるリポジトリから別のリポジトリにプルするだけです。
- ^ fossil stash はコメント付きの複数の棚をサポートします。
- ^ git stash は複数レベルのシェルフであり、複数の変更グループを同時にシェルフすることが可能です。
- ^ ローカル リポジトリでのみ機能し、子のないリビジョンでのみ機能します。disapprove コマンドが代替手段になる場合があります。
- ^ SVN 1.10 の実験的機能 (リリース ノート)
- ^ SVN バイセクトツール svn-bisect
- ^ svn status は、2 つのリポジトリ間の相違点ではなく、作業コピーとリポジトリ間の相違点をリストします。
- ^ 単一リポジトリへのアクセスには hgweb を使用し、単一 HTTP アドレスからの複数リポジトリへのアクセスには hgwebdir を使用します。
参考文献
- ^ 「CVS チーム メンバー リスト」、Non-GNU Savannah、GNU プロジェクト
- ^ CVS Pro、マーチヘア
- ^ 「購入方法」perforce.com . 2018年1月18日閲覧。
- ^ ライセンスと価格設定、PlasticSCM
- ^ 「分散バージョン管理システムとは何か」GitLab。
- ^ Jean-Michel Lemieux、「Countdown to the next Rational Team Concert: Part II – Source control enhancements」、Jazz Community、2015-09-10 にオリジナルからアーカイブ、2010-12-28 に取得
- ^ Apacheソフトウェア財団
- ^ Rational Synergy、IBM、2020年11月9日
- ^ Vesta 構成管理システム、Sourceforge、2013 年 6 月 5 日
- ^ Vesta 構成管理システム、Vesta
- ^ IBM – Rational ClearCase – 米国、2020年11月9日、2013年11月11日時点のオリジナルよりアーカイブ
- ^ 「Changesets」。March Hare Software Ltd. 2012年5月8日閲覧。
- ^ 化石技術概要
- ^ 化石ハッシュポリシー
- ^ Git サーバー プロトコル
- ^ 「Git - 高速でスケーラブルな分散リビジョン管理システム」。GitHub 。 2021年11月2日。
- ^ 「アーカイブコピー」(PDF) 。 2011年11月13日時点のオリジナル(PDF)からアーカイブ。 2012年1月12日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ 「SCM News – Kronos がソフトウェア構成管理に AccuRev を採用」AccuRev、2004 年 4 月 26 日。2014 年 2 月 2 日時点のオリジナルよりアーカイブ。2014年 1 月 26 日閲覧。
- ^ 「クロスプラットフォームの地理的に分散したチーム向けの強化されたパフォーマンスとスケーラビリティ」AccuRev. 2008-09-23。2014-02-02 にオリジナルからアーカイブ。2014-01-26に取得。
- ^ 「EOL 変換は bzr 1.14 以降でサポートされています」。Doc.bazaar-vcs.org。2009 年 4 月 13 日時点のオリジナルよりアーカイブ。2014年 1 月 26 日閲覧。
- ^ IBM サポートによる各国語および ClearCase のサポート ポリシー
- ^ https://fossil-scm.org/home/doc/tip/www/hooks.md
- ^ https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki#scale
- ^ Hg Rev.:2.0 (2011) 以降のコアに含まれる Largefiles 拡張機能、remotefilelog 拡張機能 (2014)、Hg Rev.:3.8 (2016) 以降のコアに含まれる fsmonitor 拡張機能、および Hg Rev.:4.3 (2017) 以降のコアに含まれる実験的な sparse 拡張機能。
- ^ [4] 2014年2月10日にWayback MachineにアーカイブされたPerforceユーザーズガイドより
- ^ [5] 2014年2月9日にWayback MachineにアーカイブされたPerforceユーザーズガイドより
- ^ 「Perforce パブリック ナレッジ ベース – ホーム」。Perforce.com。2007 年 8 月 14 日時点のオリジナルよりアーカイブ。2014 年 1 月 26 日閲覧。
- ^ 「Perforce Knowledge Base: 国際化とローカリゼーション」 Kb.perforce.com. 2010-10-21. 2012-02-08 にオリジナルからアーカイブ。 2014-01-26に取得。
- ^ 「Perforce Knowledge Base: 国際化とローカリゼーション」 Kb.perforce.com。2010-10-21。2013-01-30 にオリジナルからアーカイブ。2014-01-26に取得。
- ^ [6] – Seapine Software のリリースは SCM 2009 をめぐる
- ^ 「GitCentric | AccuRevGit for the Enterprise」Accurev.com。2012年10月17日時点のオリジナルよりアーカイブ。2014年1月26日閲覧。
- ^ 「Bazaar キーワード プラグイン」。Wiki.bazaar.canonical.com。2005 年 9 月 5 日。2014 年 2 月 1 日時点のオリジナルよりアーカイブ。2014年 1 月 26 日閲覧。
- ^ 「Bazaar インタラクティブ プラグイン」Launchpad.net、2008 年 3 月 7 日。2014年 1 月 26 日閲覧。
- ^ 「Bazaar Externals プラグイン」。Launchpad.net。2009 年 11 月 9 日。2014 年 1 月 26 日閲覧。
- ^ 「指定された拡張子のマージ操作を無視する」。2010 年 3 月 4 日。
- ^ "bzr-svn". Launchpad.net. 2006年5月8日. 2014年1月26日閲覧。
- ^ "bzr-git". Launchpad.net. 2006年7月15日. 2014年1月26日閲覧。
- ^ "bzr-hg". Launchpad.net. 2006年6月13日. 2014年1月26日閲覧。
- ^ IBM Rational ClearCase: IBM DeveloperWorks のベスト トリガー 10
- ^ マニフェスト、Fossil ファイル形式
- ^ 「化石の輸入と輸出」 Fossil-scm.org. 2014年1月22日。2014年2月2日時点のオリジナルよりアーカイブ。2014年1月26日閲覧。
- ^ 「FossilHelp: インポート」
- ^ 「git-submodule(1) マニュアルページ」Kernel.org. 2013-02-15 . 2014-01-26閲覧。
- ^ 「git-read-tree(1) マニュアルページ」. kernel.org. 2014-08-24 . 2014-10-24閲覧。
- ^ 「Mercurial KeywordExtension ページ」。Mercurial-scm.org。2014年 1 月 26 日閲覧。
- ^ 「Mercurial RecordExtension ページ」。Mercurial-scm.org。2013 年 8 月 27 日。2014 年 1 月 26 日閲覧。
- ^ 「サブリポジトリ – Mercurial」。Mercurial-scm.org 。 2016年4月22日閲覧。
- ^ Hg Rev.:4.3 以降、スパース拡張がコアに含まれています。
- ^ 「Mercurial Timestamp Extension」。Mercurial- scm.org。2012-04-24。2014-01-26閲覧。
- ^ 「マージツールの設定」。Mercurial-scm.org。2017年3月14日。 2017年9月5日閲覧。
- ^ 「hgsubversion ページ」。Mercurial-scm.org。2013 年 8 月 28 日。2014 年 1 月 26 日閲覧。
- ^ 「Hg-Git Mercurial プラグイン」。Hg-git.github.com。2014年 1 月 26 日閲覧。
- ^ 「Mercurial ConvertExtension ページ」。Mercurial-scm.org。2013 年 11 月 29 日。2014 年 1 月 26 日閲覧。
- ^ 「Mercurial: 決定版ガイド: 付録: Mercurial への移行」
- ^ abc 「P4 ユーザーズガイド」。Perforce 。 2018年1月19日閲覧。
- ^ 「キーワード置換」。Svnbook.red-bean.com 。 2014年1月26日閲覧。
- ^ 「外部定義」 Svnbook.red-bean.com . 2014年1月26日閲覧。
- ^ ab darcsのデフォルトのプルコマンドは対話型で、ユーザーはリアルタイムでどのパッチを適用(マージ)するか選択できます。
- ^ 「Mercurial Rebase Extension」。Mercurial-scm.org。2012年10月25日。 2014年4月23日閲覧。
- ^ 「バグ 6463 – 拡張: リポジトリの検索」。2012 年5 月 8 日閲覧。
- ^ 「Mercurial Shelve 拡張機能ページ」。Mercurial-scm.org。2013 年 11 月 7 日。2014年 1 月 26 日閲覧。
- ^ 「Mercurial Strip 拡張ページ」。Mercurial-scm.org。2016年5 月 11 日閲覧。
- ^ 「graft -core コマンド (Hg Rev.2.0 以降)」。Selenic.com。2014年 1 月 26 日閲覧。
- ^ 「Mercurial Transplant 拡張ページ」。Mercurial-scm.org。2012 年 5 月 12 日。2014年 1 月 26 日閲覧。
- ^ 「The Perforce Broker」。Perforce.com。2013 年 11 月 16 日時点のオリジナルよりアーカイブ。2014 年 1 月 26 日閲覧。
- ^ 「Perforce Knowledge Base: 「Cherry Picking」統合」Kb.perforce.com。1990 年 1 月 1 日。2012 年 3 月 9 日にオリジナルからアーカイブ。2014年 1 月 26 日に取得。
- ^ 「サポートされている統合 – PTC Integrity」。Mks.com。2012 年 9 月 10 日。2012 年 7 月 25 日時点のオリジナルからアーカイブ。2014年 1 月 26 日に取得。
- ^ “La Chose : Web エージェンシーおよびソフトウェア メーカー – Agence Web et développement delogiciels”. 2016 年 6 月 18 日にオリジナルからアーカイブされました。2006 年 9 月 20 日に取得。
- ^分散ソース管理 システム。Portal.acm.org。1997-05-18。pp.98–107。ISBN 9783540630142. 2014年1月26日閲覧。
- ^ ab より優れた SCM を目指して: Revlogs と Mercurial、2006 年 7 月のオタワ Linux シンポジウムで Matt Mackall が発表
- ^ 「GCC: 匿名の読み取り専用 Git アクセス」 。2023年10 月 24 日閲覧。
- ^ 「GnuPGのハッカーガイド」。2021年3月11日。 2023年10月24日閲覧。
- ^ 「Perl ソースの取得と操作」 dev.perl.org 。 2014 年 1 月 26 日閲覧。
- ^ 「セットアップとビルド」。Python.org 。 2023年10月24日閲覧。
- ^ 「ギット」。メディアウィキ。2012 年8 月 1 日に取得。
- ^ 「地球上で最大の Git リポジトリ」。2017 年 5 月 24 日。
- ^ 「PTC、MKS Integrityの買収によりハードウェアおよびソフトウェア開発ライフサイクルの管理に新たな標準を確立 – PTC Integrity」。Mks.com。2014年7月22日時点のオリジナルよりアーカイブ。2014年1月26日閲覧。
- ^ Rochkind, Marc J. (1975 年 12 月)、「ソース コード コントロール システム」(PDF)、IEEE Transactions on Software Engineering、vol. SE-1、no. 4、pp. 364–370、doi :10.1109/tse.1975.6312866、S2CID 10006076、2011年 5 月 25 日に オリジナル(PDF)からアーカイブ、 2014 年 7 月 31 日に取得
- ^ http://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/usr/news/pibs PWB UNIX 製品発表
- ^ SCCS 4 ファイル形式と SCCS 5.0 ファイル形式を比較する (2014-08-19 にWayback Machineファイル形式 (「アーカイブされたコピー」の man ページ sccsfile(4) として) )。2014-08-19 にオリジナルからアーカイブ。2014-08-17に取得。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ スターチーム®
