Skip to content

TortoiseGit

Known Bug

Currently there is a problem with TortoiseGit 2.15.0. A bug in this version leads to the merged file incorrectly being replaced by the local file, so merges are lost. Detailed Description

Installation

If you have TortoiseGit already installed on your machine, LemonTree is automatically configured as external diff & merge tool. So, when checking in EAP, EAPX, QEA, QEAX files into Git, LemonTree is started when parallel changes have been performed. If these changes do not lead to a conflict, which need user interaction within LemonTree's GUI, LemonTree merges all changes in the background.

Installation order

The automatic integration only works, if TortoiseGit is installed prior to LemonTree. Furthermore, if you install LemonTree and TortoiseGit in a citrix based environment, make sure that both tools are deployed in the same container, as LemonTree needs access to the registry keys of TortoiseGit.

If the automatic integration did not work or you installed LemonTree after TortoiseGit, you can fix the integration by manually registering LemonTree as external diff and merge tool: Manually configure LemonTree as external Diff and Merge Tool

This process of using LemonTree in combination with TortoiseGit is described in the following:

Automatic Merge

When you have finished your work on your EA Project File and you commit the changes, it might happen that this commit failed due to concurrent changes of another user:

PullFailed

Git forces you to update your working copy, because it is not up to date. Click on OK to proceed:

PullGit

If there are parallel changes, Git always reports a Git conflict because it can not merge a binary file (EA Project File) automatically with the standard Git merge tool.

Merge

Click Resolve to proceed.

Conflict

Double-click the conflicted entry and LemonTree will try to merge the parallel versions automatically:

auto

If no conflicts are found between the parallel changes of your model (f.e. the same element are concurrently changed), LemonTree can automatically merge the model. Click on OK to proceed:

mergeSuccess

If LemonTree detects a "real" conflict on the model level, the GUI of LemonTree is started and the contradicting changes are visualized giving the user the possibility of resolving the conflicts manually.

In the next step, mark the EA Project File as resolved:

markResolve

Finally commit the merged model.

Manually configure LemonTree as external Diff and Merge Tool

If either the automatic configuration of LemonTree did not work or you installed LemonTree and TortoiseGit in the wrong order, you have two ways of fixing this:

Setup Repair

Run the LemonTree setup again and select "Repair":

repairSetup

Or navigate to the installed programs and start the Repair:

directRepair

Configure an external Diff and Merge Tool in the TortoiseGit Settings

Diff Viewer

  1. In any folder in the windows explorer, right-click and select TortoiseGit > Settings
  2. Select "Diff Viewer" and click the button "Advanced..."
  3. Click the button "Add..."
  4. Enter the following information:
    Filename, extension or mime-type: .eap
    External Program: C:\Program Files\LieberLieber\LemonTree\LemonTree.exe --diff --base=%base --mine=%mine --theirs=%base --bpath=%bpath --brev=%brev --ypath=%ypath --yrev=%yrev
  5. Repeat step 4 for the following file extensions:
    • .eapx
    • .qea (for EA versions >= 16)
    • .qeax (for EA versions >= 16)
  6. At the end, you should have in total 4 entries for .eap, .eapx, .qea, .qeax, each with the same external program configured:

DiffSettings

Merge Tool

  1. In any folder in the windows explorer, right-click and select TortoiseGit > Settings
  2. Select "Merge Tool" and click the button "Advanced..."
  3. Click the button "Add..."
  4. Enter the following information:
    Filename, extension or mime-type: .eap
    External Program: C:\Program Files\LieberLieber\LemonTree\LemonTree.exe --merge=auto --wait --base=%base --mine=%mine --theirs=%theirs --out=%merged
  5. Repeat step 4 for the following file extensions:
    • .eapx
    • .qea (for EA versions >= 16)
    • .qeax (for EA versions >= 16)
  6. At the end, you should have in total 4 entries for .eap, .eapx, .qea, .qeax, each with the same external program configured:

MergeSettings

Test the VCS Integration

There is a very easy way to test if the VCS integration is configured properly:

  1. Take any EA project file and duplicate it in the same folder
  2. Select both files, right-click and select TortoiseGit > Diff:

GitDiff

  1. If the configuration was done properly, LemonTree should pop up and indicate that no differences were found:

NoDiffFound

User Settings installer/script

This script is helpful for customers using dedicated users for software distribution.

Register Tortoise Git Helper