タグ別アーカイブ: Subversion

TortoiseSVNの使い方 8 チームプレイ

目次

  1. インストール
  2. 保管場所
  3. 作業場所
  4. コミット
  5. 古いファイルを取り出す
  6. 移動と削除
  7. タグとブランチ
  8. チームプレイ

ついに最終回です。

チームプレイ

世代管理は複数の人間で作業するときにもメリットがあります。

通常のファイル共有では、二人が同じファイルを自身のパソコンにコピーしてから編集し、それぞれがサーバ上のファイルを上書きすると、先に更新した情報が消されてしまいます。
TortoiseSVNの場合には、そのような事故がないような仕組みになっています。

ネットワーク上の保管場所

チームプレイをするにはリポジトリをみんながアクセスできる場所に置かなくてはなりません。
TortoiseSVNのベースとなっているSubversionではいくつかのネットワークでのアクセス方法を持っています。ネットワーク管理者がいるオフィスではそのような環境を提供されますが、いない場合には次の方法を取ります。

ネットワークの共有フォルダ上にリポジトリを作成する方法

場所がサーバの共有フォルダ上になっただけで、パソコン上にリポジトリを作成するのと同じです。
ただしチェックアウト時のフォルダ選択ではサーバが表示されない場合があります。
そのときには file://[サーバ名]/[フォルダ名] のように手入力します

 例)
 file://file_sv/public/svn

ユーザー名に注意

オフィスによってはパソコンのユーザー名のつけ方に規約がないかもしれません。
すでに変更履歴を見てお気づきの方もいると思いますが、ユーザー名が変更履歴に記録されますので、利用者みんなのユーザー名が同じだと、誰が実際に更新したのかわからなくなります。
また、あまりお気楽なユーザー名ですと恥かしい思いをすることになります。

更新

作業場所のファイルを編集する前に、誰かがコミットしているかもしれません。コミットされた変更を作業場所のファイルに反映させることを「更新する」と言います。作業場所のファイルを保管場所と同じになるよう最新の状態に更新する、の意味です。

操作は削除してしまったファイルを復元したときに使った[SVN 更新]を使います。[SVN 更新]の本来の用途です。

操作手順
  1. 以下、エクスプローラを操作
  2. 更新したいフォルダを選択して右クリック
  3. SVN 更新(U)を選択
  4. 更新ダイアログが表示されるのでOKボタンを押す

更新がかち合ったとき

同一ファイルを複数の人が更新すると、後からコミットした人には「エラー コミットに失敗しました」というメッセージが出て、コミットできません。せっかく[更新]していても、タイミングによっては、このような不幸が起きてしまうのです。この状態を「競合」と言います。

コミットに失敗

このときメッセージには「まず、作業コピーを更新してください。」と表示されます。

その通りに[更新]するとまた警告が表示されますが、既定の動作です。慌てることはありません。

更新すると警告メッセージが

拡張子がリビジョン番号と.mineで同じ名前のファイルとが作成されます。
作成されたファイルには青いはてながつきます(リポジトリにはこのファイルが存在しないためです)。
これは以前の競合が起きる前のリビジョンのファイルです。

競合した例

.mineつきのファイルはコミットの直前まであなたが編集していたファイルです。

そして元のファイルには黄色のビックリマークがつきます。

TortoiseSVNは次のように言いたいのです。

このままだとファイルの更新に矛盾が生じますよ。
以前のファイルを用意したので、比べて適切に更新してくださいね。

TortoiseSVNはプログラミング用のアプリケーションですので、基本的に扱うのはプログラムが記述されたテキストファイルです。競合を起したファイルがテキストファイルだとTortoiseSVNはそれ用の動作をします。ビックリマークつきのファイルがテキストなら、どう競合しているか分かるように勝手に書き変えられます。

書き変えられたテキストの図

これをうまく調整する方法はありますが、それについては割愛します。WordやExcel、画像などのファイルでは、その方法がまず役に立ちませんので、次のように対応してください。

操作手順
  1. はてなつきファイルの名前を変更する
  2. ファイル名を「.mime」やリビジョン番号の拡張をファイル名の末尾に移す

     例1) 変更前 テストテキスト.txt.r010
          変更後 テストテキストr010.txt
     例2) 変更前 テストテキスト.txt.mine
          変更後 テストテキスト.mine.txt
    
  3. それぞれのファイルを開いて見比べる
  4. どちらかのファイルをベースにして、ファイルを編集し直す
  5. 4.びっくりマークつきファイルを削除します
  6. 編集したファイルを削除したファイル名に変更する
  7. 残ったはてなつきファイルを削除する
  8. コミットする

TortoiseSVNの使い方は以上でおしまいです。より詳しくはヘルプファイルか、本家サイトのマニュアルを見てください。ヘルプとサイトのマニュアルの内容は同じです。とても詳しくマニュアルとして素晴しい出来です。これさえあれば必要な情報のほとんどが得られると思います。