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:
Git forces you to update your working copy, because it is not up to date. Click on OK to proceed:
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.
Click Resolve to proceed.
Double-click the conflicted entry and LemonTree will try to merge the parallel versions automatically:
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:
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:
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":
Or navigate to the installed programs and start the Repair:
Configure an external Diff and Merge Tool in the TortoiseGit Settings
Diff Viewer
- In any folder in the windows explorer, right-click and select TortoiseGit > Settings
- Select "Diff Viewer" and click the button "Advanced..."
- Click the button "Add..."
- 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
- Repeat step 4 for the following file extensions:
- .eapx
- .qea (for EA versions >= 16)
- .qeax (for EA versions >= 16)
- At the end, you should have in total 4 entries for .eap, .eapx, .qea, .qeax, each with the same external program configured:
Merge Tool
- In any folder in the windows explorer, right-click and select TortoiseGit > Settings
- Select "Merge Tool" and click the button "Advanced..."
- Click the button "Add..."
- 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
- Repeat step 4 for the following file extensions:
- .eapx
- .qea (for EA versions >= 16)
- .qeax (for EA versions >= 16)
- At the end, you should have in total 4 entries for .eap, .eapx, .qea, .qeax, each with the same external program configured:
Test the VCS Integration
There is a very easy way to test if the VCS integration is configured properly:
- Take any EA project file and duplicate it in the same folder
- Select both files, right-click and select TortoiseGit > Diff:
- If the configuration was done properly, LemonTree should pop up and indicate that no differences were found:
User Settings installer/script
This script is helpful for customers using dedicated users for software distribution.