Skip to content

SmartGit Integration (Version 2.6.1 or newer)

Minimum Tool Versions

Please use SmartGit version 20.1.5 as minimum version for the SmartGit integration and the support of Git LFS.

Automatic Integration

Automatic integration for SmartGit is available starting with LemonTree 3.1.3, and only when if SmartGit 21.1 or above is installed on your machine when installing LemonTree.

Please note that the integration hooks aren't automatically removed when uninstalling LemonTree.

Manual Integration

Diff-Tool integration of LemonTree for *.eap files

  1. In the menu "Edit → Preferences" is a category "Tools"
  2. Select the subelement "Diff Tools" in the category "Tools"
  3. Click "Add" and configure LemonTree as external diff tool like this:

Preferences

To avoid typos here are the command and the arguments:

File Pattern: *.eap, *.eapx, *.qea, *.qeax

CommandC:\Program Files\LieberLieber\LemonTree\LemonTree.Starter.exe

Argumentsdiff --base=${leftFile} --mine=${rightFile} --theirs=${leftFile}

Conflict Solver integration of LemonTree for *.eap files

  1. In the menu "Edit → Preferences" is a category "Tools"
  2. Select the subelement "Conflict Solvers" in the category "Tools"
  3. Click "Add" and configure LemonTree as external conflict solver like this:

Preferences Edit

To avoid typos here are the command and the arguments:

File Pattern: *.eap, *.eapx, *.qea, *.qeax

CommandC:\Program Files\LieberLieber\LemonTree\LemonTree.Starter.exe

Arguments: merge --out=${mergedFile} --mine=${leftFile} --theirs=${rightFile} --base=${baseFile}

Working with LemonTree in SmartGit

Comparing different revisions of models

Comparing different models works like comparing text files or source files. Whenever you click "Show Changes" (F4) or "Compare with working tree" LemonTree is started automatically and shows the requested diff.

Merging different revisions of models

When merging two different revisions of models SmartGit will always come up with a conflicted file since binary files cannot be merged automatically.

After double-clicking on the conflicted file LemonTree starts automatically and tries to resolve the conflict with 2 possible outcomes:

A) LemonTree is able to merge automatically:

  • The message "LemonTree merged your models successfully" appears.
  • Approve the message.

B) LemonTree is NOT able to merge automatically:

  • LemonTree GUI comes up, shows the conflicts/changes and waits for the user to manually merge the models. 
  • When clicking "Start Merge" LemonTree writes the merged model.
  • Optional: Review the written merged model. It's possible to make other decisions and merge the models again.
  • Close LemonTree.

When LemonTree has done its work an additional step is necessary to tell SmartGIT that the conflict is resolved:

Please do not press "Stage" before the conflict has been solved with LemonTree

A) "Stage-Dialog" from SmartGIT:

  • "Stage" the file

or B) Manually tell SmartGIT the conflict has been resolved:

  • Right-Click on the conflicted file and select "Resolve..." (Strg+Shift+V)
  • Select "Leave as is" in the dialog and confirm with "Resolve". LemonTree already wrote the merged file to the correct file location.

A and B) Continue:

  • Commit & Push 
  • Continue work as usual.

Git LFS Support

If you want to use Git LFS and Smart Git, please refer to the following guide on how to configure the git repository for LFS and LemonTree:

Git LFS

User Settings installer/script

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

Register SmartGit Helper

Video - Integrating LemonTree into SmartGit for the best Enterprise Architect Git Expierence

Link to YouTube video.