Skip to content

Latest commit

 

History

History
124 lines (64 loc) · 6.6 KB

13.team-use-1.md

File metadata and controls

124 lines (64 loc) · 6.6 KB

↑目次 | ← 12章 タグとブランチ - ブランチの変更、マージ

チームでの利用 - 作業ベース

SVNはVCSであり、チーム開発のインフラとしての役割も求められています。チーム開発は自分以外のメンバーによりコミットされるということです。したがって、バージョン管理が若干複雑になりますので、しっかり理解しながら進めていきましょう。

まずは、基本となる作業ベースについて説明します。

  1. 作業ベースとは?
  2. 複数人によるコミット
  3. 作業ベースに「戻す」
  4. 更新

1. 作業ベースとは?

「作業ベース」とはその名の通り「作業の元となるリビジョン」を表した概念です。具体的には、作業コピーをチェックアウトした時点、コミットした時点のリビジョンが該当します(図13-1)。「差分」を見たり、「元に戻す」と言った処理はすべて、「作業ベース」を起点として行われます。

作業ベースのイメージ

図13-1 作業ベースのイメージ

この作業ベースはあくまで「作業コピー」が参照しているリビジョンです。したがって、他のメンバーによってコミットされ、リポジトリのリビジョンが先に進んでも、自動的に変更されたりはしません。

他者によるコミットイメージ

図13-2 他者によるコミットイメージ

リポジトリの最新のリビジョンを作業ベースとするための操作が「更新」です。「更新」することにより、リポジトリの最新ソースの取得が行われ、作業ベースが最新リビジョンに変更されます。

更新イメージ

図13-3 更新イメージ

それでは、実際に操作しながら、作業ベースの動作を確認してみましょう。

2. 複数人によるコミット

まずはいつものようにリポジトリを作成します。今回は複数人での作業をシミュレーションするので、リポジトリ名を"shared_repos"としておきましょう。また、以下の内容のhello.txtファイルを作成し、インポートしておきます。

world!

共有リポジトリ作成と初期インポート

図13-4 共有リポジトリ作成と初期インポート

次に一人目の作業者としてperson1フォルダーにチェックアウトしましょう。

一人目の作業者チェックアウト

図13-5 一人目の作業者チェックアウト

その際、「チェックアウト 終了」ダイアログに"リビジョン 1になりました"というメッセージが表示されます。これが作業ベースです。

一人目の作業者チェックアウト 終了

図13-6 一人目の作業者チェックアウト 終了

次に、person1フォルダーのhello.txtを以下のように変更し、コミットします。

svn world!

一人目の作業者 コミット

図13-7 一人目の作業者 コミット

コミットを終えると、今度は"リビジョン2になりました"というメッセージが表示され、作業ベースが2に変更されたことがわかります。

一人目の作業者 コミット終了

図13-8 一人目の作業者 コミット終了

では、引き続き二人目の作業者の作業として、person2フォルダーへのチェックアウト、ファイルを以下のように変更してコミットしてみましょう。

wonderful svn world!

この時、person1の作業コピーでログを見てみましょう。

一人目の作業者 ログ表示

図13-9 一人目の作業者 ログ表示

ログを見ると、リビジョン 2の行が太字になっています。つまり、これが作業コピーのリビジョンということです。別の作業者がリポジトリにコミットしても、作業ベースは自動的に変更されないことが、これでわかります。

3. 作業ベースに「戻す」

あくまで作業ベースを基点としていることを確認するため、ファイルを変更した後に元に戻してみましょう。まず、person1フォルダーのhello.txtを次のように変更します。

great svn world!

そして、6章で学んだ「変更の取り消し」を実行してみましょう。

一人目の作業者 変更の取り消し

図13-10 一人目の作業者 変更の取り消し

取消後のhello.txtを確認すると、以下のようにリポジトリの最新リビジョン3ではなく作業ベースのリビジョン2の状態にファイルが戻ることが確認できます。

svn world!

4. 更新

本章の最後に、作業ベースをリポジトリの最新リビジョンに設定する操作である、「更新」を行ってみましょう。といっても、ただ「SVN 更新」を実行するだけです。

一人目の作業者 更新

図13-11 一人目の作業者 更新

更新を行うと、最新リビジョンのファイルが取得され、作業ベースが最新化されてリビジョン3になります。

一人目の作業者 更新終了

図13-12 一人目の作業者 更新終了

hello.txtを確認すると、リビジョン3の以下の内容になっていることが確認できます。

wonderful svn world!

さて、作業ベースの概念、そして更新の動作がわかったところで、次の章ではチーム作業では避けられない作業の競合について説明していきます。

→ 14章 チームでの利用 - 競合の解決


クリエイティブ・コモンズ・ライセンス