メインコンテンツまでスキップ
バージョン: Current

Gitにおけるレビューファイルのマージ

概要

Gitにレビューファイルを格納する場合、『複数のユーザー』が『同じレビューファイル』に対して編集してコミットする場合があります。
その際にコンフリクトが発生すると、手動で解消してからコミットし直す手間がかかっていました。

コンフリクトとは

競合とも言います。複数のユーザーが同じ個所を変更した場合、どちらかの変更を有効にするか決める必要があります。

Gitにおけるレビューファイルのマージ機能(LRMerge)を利用することで、そのような手間を解消し、他の格納物と同じ管理ができるようになります。

LRMergeをもっと知りたい方は以下の動画を参照ください。
(画質設定を720p以上に設定して参照することを推奨します。)

運用例

  1. Git に格納されたあるレビューファイルに対して、Aさん、Bさんがそれぞれでプルし、指摘を1件ずつ追加する。
  2. Aさんが変更をGitにコミットしてプッシュする。
  3. Bさんが変更をGitにコミットしてプッシュする。このタイミングでLRMergeが自動的にレビューファイルをマージし、マージされたファイルがプッシュされる。
  4. レビューファイルを開くと、AさんとBさんが追加した指摘がマージされ、計2件の指摘が追加された状態になっている。

インストール

LRMerge は Lightning Review 2.5以降のバージョンのインストーラからインストールされます。

2.5より前のバージョンをご利用の場合は、2.5へのバージョンアップ時にインストールします。

インストール後の確認方法

インストール後にコマンドプロンプトで以下のコマンドを入力してください。

git config --global --list

以下の画面のように「merge.LRMerge.driver」の項目が表示されれば、正しくインストールされています。

操作方法

インストール後の設定は不要で、コンフリクトした際に自動でマージを行います。

  • コンフリクト発生時の動作は以下の通りです。

    • 同じ指摘の同じフィールドに変更がない場合:変更内容をマージします。
    • 同じ指摘の同じフィールドを変更した場合:該当するフィールドは自身の変更で上書きします。
    指摘以外のフィールド(例:レビュー設定、メンバ設定、アウトラインなど)を変更した場合も同様です。
  • 「LRMerge」のロゴから始まる文字列が本ツールからの出力になります。
    本機能でマージ処理対象とした レビューファイルごとに出力されます。

  • コンフリクトの解消結果は、以下のマージログから確認できます。(赤枠部分)

本機能使用時のお勧めの運用法

レビューファイルを共有設定にして運用することをお勧めします。
これにより、レビューファイルを開いた状態でGit上からプルして保存した場合にも、ファイルが先祖返りする心配がありません。
共有設定することで、他のユーザーによる変更も取り込んでリポジトリへ反映します。

LRMerge によるマージ対象

  • レビューファイル(拡張子 .revx)を対象とします。
    レビューファイルを開いている間に作成されている中間ファイル(拡張子 .fileaccess)はマージ対象になりません。
    (レビューファイルを閉じると自動で消えます)
  • レビューファイル以外のファイルは、Git組み込み標準のマージ処理が行われます。

注意事項

  • Lightning Review をインストールした後にGitをインストールした場合、そのままではLRMergeが動作しません。
    Gitのインストール後、Lightning Review の修復インストールを実施してください。
    これにより、LRMergeが動作するようになります。

  • Gitのクライアントツールによっては、標準のGitとは異なるGitを使用しているものがあります。
    標準のGitとは異なるGitを使用するクライアントツールを導入している場合、LRMergeは動作しません。
    LRMergeを動作させるためには、以下の処置を実施してください。

    1. 標準のGitをインストールする。
    2. Gitクライアントツールの設定を変更し、1を使うようにする。
    3. Lightning Review を修復インストールする。