ホーム > システムアーキテクト試験 > 2010年
システムアーキテクト試験 2010年 午前2 問13
構成管理ツールを使用して開発用のソースコードを取得する際に、リポジトリ上の位置やリビジョンなどの構成情報を保持したままでソースコードを入手したい。このとき、構成管理ツールに対して行う操作はどれか。
ウ:コミット
エ:チェックアウト(正解)
ア:インポート
イ:エクスポート
解説
構成管理ツールでリポジトリの構成情報を保持してソースコードを取得する操作とは【午前2 解説】
要点まとめ
- 結論:構成管理ツールで構成情報を保持したままソースコードを取得するには「チェックアウト」を行います。
- 根拠:チェックアウトはリポジトリの指定リビジョンのファイルを作業コピーに取得し、構成情報を保持する操作です。
- 差がつくポイント:単にファイルをコピーする「エクスポート」と異なり、チェックアウトは変更管理や履歴追跡に必要なメタ情報も含めて取得します。
正解の理由
「チェックアウト」はリポジトリから指定したリビジョンのソースコードを作業ディレクトリに取得し、ファイルの状態やバージョン情報などの構成管理情報を保持します。これにより、開発者は取得したソースコードを基に変更を加え、後でコミットや差分管理が可能です。
一方、「インポート」は新規にファイルをリポジトリに登録する操作、「エクスポート」は構成情報を含まない単なるファイルのコピー、「コミット」は作業コピーの変更をリポジトリに反映する操作です。
一方、「インポート」は新規にファイルをリポジトリに登録する操作、「エクスポート」は構成情報を含まない単なるファイルのコピー、「コミット」は作業コピーの変更をリポジトリに反映する操作です。
よくある誤解
「エクスポート」と「チェックアウト」を混同しがちですが、エクスポートは構成情報を含まない単なるファイルのコピーです。
「コミット」は取得ではなく変更を登録する操作なので、ソースコードの取得には使いません。
「コミット」は取得ではなく変更を登録する操作なので、ソースコードの取得には使いません。
解法ステップ
- 問題文から「構成情報を保持したままソースコードを取得したい」と条件を確認する。
- 各選択肢の操作の意味を整理する(インポート、エクスポート、コミット、チェックアウト)。
- 「構成情報を保持する=リポジトリの管理情報を含む」と理解し、該当する操作を選ぶ。
- 「チェックアウト」が該当するため、これを正解と判断する。
選択肢別の誤答解説
- ア: インポート
新規にファイルをリポジトリに登録する操作であり、取得操作ではありません。 - イ: エクスポート
構成情報を含まない単なるファイルのコピーで、リポジトリの管理情報は保持されません。 - ウ: コミット
作業コピーの変更をリポジトリに反映する操作で、ソースコードの取得とは逆の動作です。 - エ: チェックアウト
リポジトリから指定リビジョンのソースコードを構成情報と共に取得する操作で正解です。
補足コラム
構成管理ツール(バージョン管理システム)には集中型(例:Subversion)と分散型(例:Git)があります。
Subversionでは「チェックアウト」で作業コピーを取得し、Gitでは「クローン」や「チェックアウト」コマンドが使われます。
問題文のように「構成情報を保持したまま取得する」操作は、どちらのタイプでも基本的に「チェックアウト」に該当します。
Subversionでは「チェックアウト」で作業コピーを取得し、Gitでは「クローン」や「チェックアウト」コマンドが使われます。
問題文のように「構成情報を保持したまま取得する」操作は、どちらのタイプでも基本的に「チェックアウト」に該当します。
FAQ
Q: チェックアウトとエクスポートの違いは何ですか?
A: チェックアウトはリポジトリの管理情報を含む作業コピーを取得し、エクスポートは管理情報を含まない単なるファイルのコピーです。
A: チェックアウトはリポジトリの管理情報を含む作業コピーを取得し、エクスポートは管理情報を含まない単なるファイルのコピーです。
Q: コミットはどんな操作ですか?
A: 作業コピーの変更をリポジトリに反映し、履歴を更新する操作です。ソースコードの取得ではありません。
A: 作業コピーの変更をリポジトリに反映し、履歴を更新する操作です。ソースコードの取得ではありません。
関連キーワード: 構成管理ツール, チェックアウト, バージョン管理, ソースコード取得, リポジトリ, リビジョン管理