diff --git a/acceptanceProcess/.project b/acceptanceProcess/.project
new file mode 100644
index 0000000..1c0cf78
--- /dev/null
+++ b/acceptanceProcess/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>acceptanceProcess</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/acceptanceProcess/.settings/org.eclipse.core.resources.prefs b/acceptanceProcess/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..cad4e0a
--- /dev/null
+++ b/acceptanceProcess/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/readMe.html=utf-8
diff --git a/acceptanceProcess/git_merge_preference.png b/acceptanceProcess/git_merge_preference.png
new file mode 100644
index 0000000..f9d6236
--- /dev/null
+++ b/acceptanceProcess/git_merge_preference.png
Binary files differ
diff --git a/acceptanceProcess/readMe.html b/acceptanceProcess/readMe.html
new file mode 100644
index 0000000..8983aa1
--- /dev/null
+++ b/acceptanceProcess/readMe.html
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body><h1 id="EMFCompareacceptancetests">EMF Compare acceptance tests</h1><ol class="toc" style="list-style: disc;"><li><a href="#EMFCompareacceptancetests">EMF Compare acceptance tests</a><ol style="list-style: disc;"><li><a href="#Localcomparisonstwoway">Local comparisons - two way</a><ol style="list-style: disc;"><li><a href="#Plainecorefileswithcrossresourcereferences">Plain ecore files with cross-resource references</a></li><li><a href="#Ecorefileswithoutidentifiers">Ecore files without identifiers</a></li><li><a href="#Ecorefileswithidentifiers">Ecore files with identifiers</a></li></ol></li><li><a href="#Localcomparisonsthreeway">Local comparisons - three way</a><ol style="list-style: disc;"><li><a href="#Ecorefileswithoutidentifiersnoconflict">Ecore files without identifiers - no conflict</a></li><li><a href="#Ecorefileswithoutidentifiersconflicts">Ecore files without identifiers - conflicts</a></li><li><a href="#Ecorefileswithidentifiersnoconflict">Ecore files with identifiers - no conflict</a></li><li><a href="#Ecorefileswithidentifiersconflicts">Ecore files with identifiers - conflicts</a></li></ol></li><li><a href="#Gitcomparisons">Git comparisons</a><ol style="list-style: disc;"><li><a href="#Ecorecomparisonwithoutidentifiers">Ecore comparison without identifiers</a></li><li><a href="#Ecorecomparisonwithidentifiers">Ecore comparison with identifiers</a></li><li><a href="#UMLComparisonwithoutstereotypes">UML Comparison without stereotypes</a></li><li><a href="#UMLComparisonwithstereotypes">UML Comparison with stereotypes</a></li><li><a href="#UMLDesignerComparison">UML Designer Comparison</a></li></ol></li></ol></li></ol><h2 id="Localcomparisonstwoway">Local comparisons &#8211; two way</h2><h3 id="Plainecorefileswithcrossresourcereferences">Plain ecore files with cross-resource references</h3><ul><li>Import project testLocalCrossReference</li></ul><ul><li>Compare model1/My.ecore and model2/My.ecore with each other<ul><li>Expected: 7 differences, two of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalCrossReference.png"/></p><ul><li>merge all from left to right<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><ul><li>replace model2/My.ecore with HEAD<ul><li>Expected: a popup shows to tell that both My.ecore and types.ecore are to be replaced with HEAD. Accepting on that popup resets the whole repository (no changes in any file).</li></ul></li></ul><ul><li>Compare model1/My.ecore and model2/My.ecore with each other<ul><li>Expected: Same 7 differences as for the first step</li></ul></li></ul><ul><li>merge all right to left<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><h3 id="Ecorefileswithoutidentifiers">Ecore files without identifiers</h3><ul><li>Import project testLocalExtLibrary</li></ul><ul><li>Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other<ul><li>Expected: 30 differences, 9 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibrary.png"/></p><ul><li>merge all from left to right<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><ul><li>replace model2/extlibraryRight.ecore with HEAD<ul><li>Expected: no more changes waiting to be staged/commited on any file of this repository</li></ul></li></ul><ul><li>Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other<ul><li>Expected: Same 30 differences as for the first step</li></ul></li></ul><ul><li>merge all right to left<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><h3 id="Ecorefileswithidentifiers">Ecore files with identifiers</h3><ul><li>Import project testLocalExtLibraryID</li></ul><ul><li>Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other<ul><li>Expected: 36 differences, 18 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryID.png"/></p><ul><li>merge all from left to right<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><ul><li>replace model2/extlibraryRight.ecore with HEAD<ul><li>Expected: no more changes waiting to be staged/commited on any file of this repository</li></ul></li></ul><ul><li>Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other<ul><li>Expected: Same 30 differences as for the first step</li></ul></li></ul><ul><li>merge all right to left<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><h2 id="Localcomparisonsthreeway">Local comparisons &#8211; three way</h2><h3 id="Ecorefileswithoutidentifiersnoconflict">Ecore files without identifiers &#8211; no conflict</h3><ul><li>Import project testLocalExtLibraryThreeWay</li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: 30 differences, 9 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryThreeWay.png"/></p><ul><li>merge all from left to right<ul><li>Expected: nothing is merged. All of our 30 differences originate from the right, so this command shouldn&#8217;t do any action.</li><li>PENDING : even though this command doesn&#8217;t change anything in our models, it is still marked as dirty. Bug 495875.</li></ul></li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: Same 30 differences as for the first step</li></ul></li></ul><ul><li>merge all right to left<ul><li>Expected: identical models. comparing them again should yield 0 differences</li></ul></li></ul><h3 id="Ecorefileswithoutidentifiersconflicts">Ecore files without identifiers &#8211; conflicts</h3><ul><li>Import project testLocalExtLibraryThreeWayConflicts</li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: 42 differences, 9 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryThreeWayConflicts.png"/></p><ul><li>Merge all from left to right<ul><li>Expected: Only the conflict on &#171;title&#187; is touched, one of its diffs marked as merged. All differences from the left are marked as merged. After saving the comparison though, all conflicts reappear pristine even the one on title, along with two of the left differences as shown on the screenshot below.</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryThreeWayConflicts_496174.png"/></p><ul><li><ul><li>PENDING : Some differences are marked as merged even though they really aren&#8217;t. The expectation above takes that into account. See bug 496174. Once solved, the expectation will be that after the merge all left to right, no diff from the left side is left in the model. </li><li>Compare the models with each other and merge the left-originating differences from left to right until none remains.</li></ul></li></ul><ul><li>Compare the models with each other.<ul><li>Expected: There should now be 55 differences, most of them hidden from view as pseudo conflicts (since we merged from left to right, but the ancestor doesn&#8217;t change, everything we merged is now a pseudo conflict).</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryThreeWayConflicts_right_side.png"/></p><ul><li>Iterate over the non-conflicting differences and merge them from left to right (reject them)<ul><li>Expected: only three conflicts remain</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryThreeWayConflicts_all_merged_but_conflicts.png"/></p><ul><li>Resolve all conflicts by accepting the &#171;left-originating&#187; differences, such that only the right model gets modified.<ul><li>Expected: all &#171;right-originating&#187; differences from these conflicts get automatically rejected in the process, no difference remains between the models.</li><li>Comparing the three models again should present zero &#171;visible&#187; differences to the user. 38 differences are hidden from view as pseudo conflicts.</li><li>Comparing &#171;left&#187; and &#171;right&#187; models with each other should tell the user that there are no differences between the two files, hidden or visible.</li></ul></li></ul><ul><li>Repeat these same steps while merging from right to left and make sure we end up with two identical models for left and right, with only the left modified.</li></ul><h3 id="Ecorefileswithidentifiersnoconflict">Ecore files with identifiers &#8211; no conflict</h3><ul><li>Import project testLocalExtLibraryIDThreeWay</li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: 36 differences, 18 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryIDThreeWay.png"/></p><ul><li>merge all from left to right<ul><li>Expected: nothing is merged. All of our 36 differences originate from the right, so this command shouldn&#8217;t do any action.</li><li>PENDING : even though this command doesn&#8217;t change anything in our models, it is still marked as dirty. Bug 495875.</li></ul></li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: Same 36 differences as for the first step</li></ul></li></ul><ul><li>merge all right to left<ul><li>Expected: identical models. Comparing them again should yield 0 differences</li></ul></li></ul><h3 id="Ecorefileswithidentifiersconflicts">Ecore files with identifiers &#8211; conflicts</h3><ul><li>Import project testLocalExtLibraryIDThreeWayConflicts</li></ul><ul><li>Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.<ul><li>Expected: 46 differences, 21 of which cascading, as follows:</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryIDThreeWayConflicts.png"/></p><ul><li>Merge all from left to right<ul><li>Expected: All the differences coming from the left side are merged, only the conflicts and differences originating from the right side remain.</li><li>There should now be 63 differences, most of them hidden from view as pseudo conflicts (since we merged from left to right, but the ancestor doesn&#8217;t change, everything we merged previously is now a pseudo conflict).</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryIDThreeWayConflicts_right_side.png"/></p><ul><li>Iterate over the non-conflicting differences and merge them from left to right (reject them)<ul><li>Expected: only two conflicts remain (the conflict on Periodical has been solved as a by-product of one of our right differences rejection)</li></ul></li></ul><p><img border="0" src="testLocalExtLibraryIDThreeWayConflicts_all_merged_but_conflicts.png"/></p><ul><li>Resolve all conflicts by accepting the &#171;left-originating&#187; differences, such that only the right model gets modified.<ul><li>Expected: all &#171;right-originating&#187; differences from these conflicts get automatically rejected in the process, no difference remains between the models.</li><li>Comparing the three models again should present zero &#171;visible&#187; differences to the user. 48 differences are hidden from view as pseudo conflicts.</li><li>Comparing &#171;left&#187; and &#171;right&#187; models with each other should tell the user that there are no differences between the two files, hidden or visible.</li></ul></li></ul><ul><li>Repeat these same steps while merging from right to left and make sure we end up with two identical models for left and right, with only the left modified.</li></ul><h2 id="Gitcomparisons">Git comparisons</h2><h3 id="Ecorecomparisonwithoutidentifiers">Ecore comparison without identifiers</h3><ul><li>Import project testGitExtLibrary</li><li>Make sure it&#8217;s on branch master</li></ul><h4 id="Compareandacceptchanges">Compare and accept changes</h4><ul><li>Compare extlibrary.ecore with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: 41 differences, 9 of which hiddden from view as follows:</li></ul></li></ul><p><img border="0" src="testGitExtLibrary.png"/></p><ul><li>Accept all non-conflicting differences<ul><li>Expected: All the differences are merged, and the conflict on &#171;title&#187; is resolved as a side effect. </li><li>Note that even though they&#8217;ve been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.</li><li>The conflict between the deletion of &#171;minutesLength&#187; from the right and its renaming to &#171;length&#187; on the left disappears when we re-compare even though it hasn&#8217;t been solved. <strong>This is expected</strong>: we&#8217;re not using identifiers in these models, so &#171;minutesLength&#187; will be matched with &#171;minutes&#187; after we&#8217;ve accepted all differences.</li></ul></li></ul><p><img border="0" src="testGitExtLibrary_post_accept.png"/></p><ul><li>Solve the conflicts by accepting all left-originating differences (thus rejecting the ones from the right side)<ul><li>Expected: All three conflicts reappear after saving and re-comparing (since we cannot edit the &#171;right&#187; side, our accepting actions had no lasting effect)</li></ul></li></ul><ul><li>Solve the conflicts by accepting all right-originating differences (thus rejecting the ones from the left side)<ul><li>Expected: All conflicts solved, all differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.</li></ul></li></ul><h4 id="Compareandrejectchanges">Compare and reject changes</h4><ul><li>Replace extlibrary.ecore with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Compare extlibrary.ecore with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: same 41 differences as in the first step above.</li></ul></li></ul><ul><li>Reject all non-conflicting differences<ul><li>Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.</li><li>The three left differences that are not merged from that action are ignored because they are &#171;under&#187; real conflicts (their containers' deletion). The merge all action ignores such difference trees since merging them would mean solving a conflict.</li></ul></li></ul><p><img border="0" src="testGitExtLibrary_post_reject.png"/></p><ul><li>Iterate over the remaining three left-originating differences and reject them.<ul><li>Only the conflicts and differences from the right side remain to be merged. The local extlibrary.ecore loads without errors.</li><li>Note that the conflicts on Periodical and lastName are solved by our rejecting of these three local differences as they depend on those conflicts.</li></ul></li></ul><p><img border="0" src="testGitExtLibrary_all_merged_but_conflicts.png"/></p><h4 id="Checkmergeandmergetool">Check merge and merge tool</h4><ul><li>Replace extlibrary.ecore with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Ensure the git preference for synchronization is set to use the recursive model strategy for merges.</li></ul><p><img border="0" src="git_merge_preferences.png"/></p><ul><li>Open the history view for this project, and make sure all branches are shown.</li><li>Right-click the &#171;right&#187; commit and use the &#171;merge&#187; action.<ul><li>Expected: a dialog pops up to warn that there are conflicts in the merge</li></ul></li></ul><p><img border="0" src="testGitExtLibrary_merge_conflict.png"/></p><ul><li><ul><li>The file is marked as conflicting in the workspace (conflict decorator on extlibrary.ecore) and in the staging view.</li><li>The merge tool is available on the file.</li></ul></li></ul><ul><li>Use the merge tool (with EMF Compare) on either extlibrary.ecore or its project.<ul><li>Expected: the comparison editor opens and shows the same 41 differences as seen in the previous two sections.</li></ul></li></ul><h3 id="Ecorecomparisonwithidentifiers">Ecore comparison with identifiers</h3><ul><li>Import project testGitExtLibraryID</li><li>Make sure it&#8217;s on branch master</li></ul><h4 id="Compareandacceptchanges2">Compare and accept changes</h4><ul><li>Compare extlibrary.ecore with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: 46 differences, 21 of which hiddden from view as follows:</li></ul></li></ul><p><img border="0" src="testGitExtLibraryID.png"/></p><ul><li>Accept all non-conflicting differences<ul><li>Expected: All the differences are merged.</li><li>Note that even though they&#8217;ve been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.</li></ul></li></ul><p><img border="0" src="testGitExtLibraryID_post_accept.png"/></p><ul><li>Solve the conflicts by accepting all left-originating differences (thus rejecting the ones from the right side)<ul><li>Expected: All three conflicts reappear after saving and re-comparing (since we cannot edit the &#171;right&#187; side, our accepting actions had no lasting effect)</li></ul></li></ul><ul><li>Solve the conflicts by accepting all right-originating differences (thus rejecting the ones from the left side)<ul><li>Expected: All conflicts solved, all differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.</li></ul></li></ul><h4 id="Compareandrejectchanges2">Compare and reject changes</h4><ul><li>Replace extlibrary.ecore with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Compare extlibrary.ecore with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: same 46 differences as in the first step above.</li></ul></li></ul><ul><li>Reject all non-conflicting differences<ul><li>Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.</li><li>The three left differences that are not merged from that action are ignored because they are &#171;under&#187; real conflicts (their containers' deletion). The merge all action ignores such difference trees since merging them would mean solving a conflict.</li></ul></li></ul><p><img border="0" src="testGitExtLibraryID_post_reject.png"/></p><ul><li>Iterate over the remaining three left-originating differences and reject them.<ul><li>Only the conflicts and differences from the right side remain to be merged. The local extlibrary.ecore loads without errors.</li><li>Note that the conflicts on Periodical and lastName are solved by our rejecting of these three local differences as they depend on those conflicts.</li></ul></li></ul><p><img border="0" src="testGitExtLibraryID_all_merged_but_conflicts.png"/></p><h4 id="Checkmergeandmergetool2">Check merge and merge tool</h4><ul><li>Replace extlibrary.ecore with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Ensure the git preference for synchronization is set to use the recursive model strategy for merges.</li></ul><p><img border="0" src="git_merge_preferences.png"/></p><ul><li>Open the history view for this project, and make sure all branches are shown.</li><li>Right-click the &#171;right&#187; commit and use the &#171;merge&#187; action.<ul><li>Expected: a dialog pops up to warn that there are conflicts in the merge</li></ul></li></ul><p><img border="0" src="testGitExtLibraryID_merge_conflict.png"/></p><ul><li><ul><li>The file is marked as conflicting in the workspace (conflict decorator on extlibrary.ecore) and in the staging view.</li><li>The merge tool is available on the file.</li></ul></li></ul><ul><li>Use the merge tool (with EMF Compare) on either extlibrary.ecore or its project.<ul><li>Expected: the comparison editor opens and shows the same 46 differences as seen in the previous two sections.</li></ul></li></ul><h3 id="UMLComparisonwithoutstereotypes">UML Comparison without stereotypes</h3><ul><li>Import project testGitUML</li><li>Make sure it&#8217;s on branch master</li></ul><h4 id="Compareandacceptchanges3">Compare and accept changes</h4><ul><li>Compare agency.uml with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: 72 differences, 52 of which hiddden from view as follows:</li></ul></li></ul><p><img border="0" src="testGitUML.png"/></p><ul><li>Accept all non-conflicting differences<ul><li>Expected: All the differences are merged.</li><li>Note that even though they&#8217;ve been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.</li></ul></li></ul><p><img border="0" src="testGitUML_post_accept.png"/></p><ul><li>Solve the conflict by accepting the left-originating difference (thus rejecting the one from the right side)<ul><li>Expected: The conflict reappear after saving and re-comparing (since we cannot edit the &#171;right&#187; side, our accepting actions had no lasting effect)</li></ul></li></ul><ul><li>Solve the conflict by accepting the right-originating difference (thus rejecting the one from the left side)<ul><li>Expected: All differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.</li></ul></li></ul><h4 id="Compareandrejectchanges3">Compare and reject changes</h4><ul><li>Replace agency.uml with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Compare agency.uml with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: same 72 differences as in the first step above.</li></ul></li></ul><ul><li>Reject all non-conflicting differences<ul><li>Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.</li></ul></li></ul><p><img border="0" src="testGitUML_post_reject.png"/></p><ul><li>Iterate over the remaining three left-originating differences and reject them.<ul><li>Only the conflict and differences from the right side remain to be merged. The local agency.uml loads without errors.</li></ul></li></ul><p><img border="0" src="testGitUML_all_merged_but_conflicts.png"/></p><h4 id="Checkmergeandmergetool3">Check merge and merge tool</h4><ul><li>Replace agency.uml with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Ensure the git preference for synchronization is set to use the recursive model strategy for merges.</li></ul><p><img border="0" src="git_merge_preferences.png"/></p><ul><li>Open the history view for this project, and make sure all branches are shown.</li><li>Right-click the &#171;right&#187; commit and use the &#171;merge&#187; action.<ul><li>Expected: a dialog pops up to warn that there are conflicts in the merge</li></ul></li></ul><p><img border="0" src="testGitUML_merge_conflict.png"/></p><ul><li><ul><li>The file is marked as conflicting in the workspace (conflict decorator on agency.uml) and in the staging view.</li><li>The merge tool is available on the file.</li></ul></li></ul><ul><li>Use the merge tool (with EMF Compare) on either agency.uml or its project.<ul><li>Expected: the comparison editor opens and shows the same 72 differences as seen in the previous two sections.</li></ul></li></ul><h3 id="UMLComparisonwithstereotypes">UML Comparison with stereotypes</h3><ul><li>Import project testGitUMLStereotyped</li><li>Make sure it&#8217;s on branch master</li></ul><h4 id="Compareandacceptchanges4">Compare and accept changes</h4><ul><li>Compare agency.uml with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: 73 differences, 61 of which hiddden from view as follows:</li></ul></li></ul><p><img border="0" src="testGitUMLStereotyped.png"/></p><ul><li>Accept all non-conflicting differences<ul><li>Expected: All the differences are merged.</li><li>Note that even though they&#8217;ve been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.</li></ul></li></ul><p><img border="0" src="testGitUMLStereotyped_post_accept.png"/></p><ul><li>Solve the conflicts by accepting the left-originating differences (thus rejecting the ones from the right side)<ul><li>Expected: The conflict reappear after saving and re-comparing (since we cannot edit the &#171;right&#187; side, our accepting actions had no lasting effect)</li></ul></li></ul><ul><li>Solve the conflict by accepting the right-originating difference (thus rejecting the one from the left side)<ul><li>Expected: All differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.</li></ul></li></ul><p><img border="0" src="testGitUMLStereotyped_all_merged.png"/></p><h4 id="Compareandrejectchanges4">Compare and reject changes</h4><ul><li>Replace agency.uml with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Compare agency.uml with &#171;branch, Tag or Reference&#187;, and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: same 73 differences as in the first step above.</li></ul></li></ul><ul><li>Reject all non-conflicting differences<ul><li>Expected: All the left-originating diffs are rejected, all diffs from the right side are marked as rejected.</li></ul></li></ul><p><img border="0" src="testGitUMLStereotyped_post_reject.png"/></p><h4 id="Checkmergeandmergetool4">Check merge and merge tool</h4><ul><li>Replace agency.uml with its &#171;HEAD revision&#187; version. This should reset the repository to its original state (no modifications in local files)</li></ul><ul><li>Ensure the git preference for synchronization is set to use the recursive model strategy for merges.</li></ul><p><img border="0" src="git_merge_preferences.png"/></p><ul><li>Open the history view for this project, and make sure all branches are shown.</li><li>Right-click the &#171;right&#187; commit and use the &#171;merge&#187; action.<ul><li>Expected: a dialog pops up to warn that there are conflicts in the merge</li></ul></li></ul><p><img border="0" src="testGitUMLStereotyped_merge_conflict.png"/></p><ul><li><ul><li>The file is marked as conflicting in the workspace (conflict decorator on agency.uml) and in the staging view.</li><li>The merge tool is available on the file.</li></ul></li></ul><ul><li>Use the merge tool (with EMF Compare) on either agency.uml or its project.<ul><li>Expected: the comparison editor opens and shows the same 73 differences as seen in the previous two sections.</li></ul></li></ul><h3 id="UMLDesignerComparison">UML Designer Comparison</h3><ul><li>Import project TravelAgency</li><li>Make sure it&#8217;s on branch master</li></ul><ul><li>Compare agency.uml with &#171;Branch, Tag or Reference&#187; and select &#171;right&#187; as the revision to compare to.<ul><li>Expected: the comparison editor doesn&#8217;t open. The synchronization view is shown instead and decorators indicate that both agency.uml and representations.aird have conflicts.</li></ul></li></ul><p><img border="0" src="testGitUMLDesigner_synchronize.png"/></p><ul><li>Double-click agency.uml<ul><li>Expected: the comparison editor opens and shows 2112 differences, 1760 hidden from view</li></ul></li></ul><p><img border="0" src="testGitUMLDesigner.png"/></p><ul><li>Check that double clicking on &#171;sirius element&#187; differences properly show diagrams in the content panels.</li></ul><p><img border="0" src="testGitUMLDesigner_Sirius_pane.png"/></p><ul><li>Close the comparison editor</li><li>Open agency.uml, right-click the TravelAgency model and use new Child &gt; Packaged Element &gt; Class</li><li>Save the model</li><li>Right-click agency.uml and use Replace with &gt; HEAD revision<ul><li>Expected: a dialog pops up to tell the user that two files need to be modified by this operation, including representations.aird in addition to agency.uml.</li></ul></li></ul><p><img border="0" src="testGitUMLDesigner_ReplaceWithPopup.png"/></p><ul><li>PENDING: The merge fails pretty badly on sirius elements for now (on this particular model, using &#171;accept all&#187; will end up duplicating all representations for example). We cannot test that part.</li></ul></body></html>
\ No newline at end of file
diff --git a/acceptanceProcess/readMe.textile b/acceptanceProcess/readMe.textile
new file mode 100644
index 0000000..5780e2f
--- /dev/null
+++ b/acceptanceProcess/readMe.textile
@@ -0,0 +1,401 @@
+h1. EMF Compare acceptance tests
+
+{toc:style=disc|minLevel=2|maxLevel=3}
+
+h2. Local comparisons - two way
+
+h3. Plain ecore files with cross-resource references
+
+* Import project testLocalCrossReference
+
+* Compare model1/My.ecore and model2/My.ecore with each other
+** Expected: 7 differences, two of which cascading, as follows:
+!testLocalCrossReference.png!
+
+* merge all from left to right
+** Expected: identical models. comparing them again should yield 0 differences
+
+* replace model2/My.ecore with HEAD
+** Expected: a popup shows to tell that both My.ecore and types.ecore are to be replaced with HEAD. Accepting on that popup resets the whole repository (no changes in any file).
+
+* Compare model1/My.ecore and model2/My.ecore with each other
+** Expected: Same 7 differences as for the first step
+
+* merge all right to left
+** Expected: identical models. comparing them again should yield 0 differences
+
+h3. Ecore files without identifiers
+
+* Import project testLocalExtLibrary
+
+* Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other
+** Expected: 30 differences, 9 of which cascading, as follows:
+!testLocalExtLibrary.png!
+
+* merge all from left to right
+** Expected: identical models. comparing them again should yield 0 differences
+
+* replace model2/extlibraryRight.ecore with HEAD
+** Expected: no more changes waiting to be staged/commited on any file of this repository
+
+* Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other
+** Expected: Same 30 differences as for the first step
+
+* merge all right to left
+** Expected: identical models. comparing them again should yield 0 differences
+
+h3. Ecore files with identifiers
+
+* Import project testLocalExtLibraryID
+
+* Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other
+** Expected: 36 differences, 18 of which cascading, as follows:
+!testLocalExtLibraryID.png!
+
+* merge all from left to right
+** Expected: identical models. comparing them again should yield 0 differences
+
+* replace model2/extlibraryRight.ecore with HEAD
+** Expected: no more changes waiting to be staged/commited on any file of this repository
+
+* Compare model1/extlibraryLeft.ecore and model2/extlibraryRight.ecore with each other
+** Expected: Same 30 differences as for the first step
+
+* merge all right to left
+** Expected: identical models. comparing them again should yield 0 differences
+
+h2. Local comparisons - three way
+
+h3. Ecore files without identifiers - no conflict
+
+* Import project testLocalExtLibraryThreeWay
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: 30 differences, 9 of which cascading, as follows:
+!testLocalExtLibraryThreeWay.png!
+
+* merge all from left to right
+** Expected: nothing is merged. All of our 30 differences originate from the right, so this command shouldn't do any action.
+** PENDING : even though this command doesn't change anything in our models, it is still marked as dirty. Bug 495875.
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: Same 30 differences as for the first step
+
+* merge all right to left
+** Expected: identical models. comparing them again should yield 0 differences
+
+h3. Ecore files without identifiers - conflicts
+
+* Import project testLocalExtLibraryThreeWayConflicts
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: 42 differences, 9 of which cascading, as follows:
+!testLocalExtLibraryThreeWayConflicts.png!
+
+* Merge all from left to right
+** Expected: Only the conflict on "title" is touched, one of its diffs marked as merged. All differences from the left are marked as merged. After saving the comparison though, all conflicts reappear pristine even the one on title, along with two of the left differences as shown on the screenshot below.
+!testLocalExtLibraryThreeWayConflicts_496174.png!
+** PENDING : Some differences are marked as merged even though they really aren't. The expectation above takes that into account. See bug 496174. Once solved, the expectation will be that after the merge all left to right, no diff from the left side is left in the model. 
+** Compare the models with each other and merge the left-originating differences from left to right until none remains.
+
+* Compare the models with each other.
+** Expected: There should now be 55 differences, most of them hidden from view as pseudo conflicts (since we merged from left to right, but the ancestor doesn't change, everything we merged is now a pseudo conflict).
+!testLocalExtLibraryThreeWayConflicts_right_side.png!
+
+* Iterate over the non-conflicting differences and merge them from left to right (reject them)
+** Expected: only three conflicts remain
+!testLocalExtLibraryThreeWayConflicts_all_merged_but_conflicts.png!
+
+* Resolve all conflicts by accepting the "left-originating" differences, such that only the right model gets modified.
+** Expected: all "right-originating" differences from these conflicts get automatically rejected in the process, no difference remains between the models.
+** Comparing the three models again should present zero "visible" differences to the user. 38 differences are hidden from view as pseudo conflicts.
+** Comparing "left" and "right" models with each other should tell the user that there are no differences between the two files, hidden or visible.
+
+* Repeat these same steps while merging from right to left and make sure we end up with two identical models for left and right, with only the left modified.
+
+h3. Ecore files with identifiers - no conflict
+
+* Import project testLocalExtLibraryIDThreeWay
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: 36 differences, 18 of which cascading, as follows:
+!testLocalExtLibraryIDThreeWay.png!
+
+* merge all from left to right
+** Expected: nothing is merged. All of our 36 differences originate from the right, so this command shouldn't do any action.
+** PENDING : even though this command doesn't change anything in our models, it is still marked as dirty. Bug 495875.
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: Same 36 differences as for the first step
+
+* merge all right to left
+** Expected: identical models. Comparing them again should yield 0 differences
+
+h3. Ecore files with identifiers - conflicts
+
+* Import project testLocalExtLibraryIDThreeWayConflicts
+
+* Compare extlibraryLeft.ecore, extlibraryRight.ecore and extlibraryOrigin.ecore with each other. Select extlibraryOrigin as the common ancestor.
+** Expected: 46 differences, 21 of which cascading, as follows:
+!testLocalExtLibraryIDThreeWayConflicts.png!
+
+* Merge all from left to right
+** Expected: All the differences coming from the left side are merged, only the conflicts and differences originating from the right side remain.
+** There should now be 63 differences, most of them hidden from view as pseudo conflicts (since we merged from left to right, but the ancestor doesn't change, everything we merged previously is now a pseudo conflict).
+!testLocalExtLibraryIDThreeWayConflicts_right_side.png!
+
+* Iterate over the non-conflicting differences and merge them from left to right (reject them)
+** Expected: only two conflicts remain (the conflict on Periodical has been solved as a by-product of one of our right differences rejection)
+!testLocalExtLibraryIDThreeWayConflicts_all_merged_but_conflicts.png!
+
+* Resolve all conflicts by accepting the "left-originating" differences, such that only the right model gets modified.
+** Expected: all "right-originating" differences from these conflicts get automatically rejected in the process, no difference remains between the models.
+** Comparing the three models again should present zero "visible" differences to the user. 48 differences are hidden from view as pseudo conflicts.
+** Comparing "left" and "right" models with each other should tell the user that there are no differences between the two files, hidden or visible.
+
+* Repeat these same steps while merging from right to left and make sure we end up with two identical models for left and right, with only the left modified.
+
+h2. Git comparisons
+
+h3. Ecore comparison without identifiers
+
+* Import project testGitExtLibrary
+* Make sure it's on branch master
+
+h4. Compare and accept changes
+
+* Compare extlibrary.ecore with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: 41 differences, 9 of which hiddden from view as follows:
+!testGitExtLibrary.png!
+
+* Accept all non-conflicting differences
+** Expected: All the differences are merged, and the conflict on "title" is resolved as a side effect. 
+** Note that even though they've been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.
+** The conflict between the deletion of "minutesLength" from the right and its renaming to "length" on the left disappears when we re-compare even though it hasn't been solved. *This is expected*: we're not using identifiers in these models, so "minutesLength" will be matched with "minutes" after we've accepted all differences.
+!testGitExtLibrary_post_accept.png!
+
+* Solve the conflicts by accepting all left-originating differences (thus rejecting the ones from the right side)
+** Expected: All three conflicts reappear after saving and re-comparing (since we cannot edit the "right" side, our accepting actions had no lasting effect)
+
+* Solve the conflicts by accepting all right-originating differences (thus rejecting the ones from the left side)
+** Expected: All conflicts solved, all differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.
+
+h4. Compare and reject changes
+
+* Replace extlibrary.ecore with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Compare extlibrary.ecore with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: same 41 differences as in the first step above.
+
+* Reject all non-conflicting differences
+** Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.
+** The three left differences that are not merged from that action are ignored because they are "under" real conflicts (their containers' deletion). The merge all action ignores such difference trees since merging them would mean solving a conflict.
+!testGitExtLibrary_post_reject.png!
+
+* Iterate over the remaining three left-originating differences and reject them.
+** Only the conflicts and differences from the right side remain to be merged. The local extlibrary.ecore loads without errors.
+** Note that the conflicts on Periodical and lastName are solved by our rejecting of these three local differences as they depend on those conflicts.
+!testGitExtLibrary_all_merged_but_conflicts.png!
+
+h4. Check merge and merge tool
+
+* Replace extlibrary.ecore with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Ensure the git preference for synchronization is set to use the recursive model strategy for merges.
+!git_merge_preferences.png!
+
+* Open the history view for this project, and make sure all branches are shown.
+* Right-click the "right" commit and use the "merge" action.
+** Expected: a dialog pops up to warn that there are conflicts in the merge
+!testGitExtLibrary_merge_conflict.png!
+** The file is marked as conflicting in the workspace (conflict decorator on extlibrary.ecore) and in the staging view.
+** The merge tool is available on the file.
+
+* Use the merge tool (with EMF Compare) on either extlibrary.ecore or its project.
+** Expected: the comparison editor opens and shows the same 41 differences as seen in the previous two sections.
+
+h3. Ecore comparison with identifiers
+
+* Import project testGitExtLibraryID
+* Make sure it's on branch master
+
+h4. Compare and accept changes
+
+* Compare extlibrary.ecore with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: 46 differences, 21 of which hiddden from view as follows:
+!testGitExtLibraryID.png!
+
+* Accept all non-conflicting differences
+** Expected: All the differences are merged.
+** Note that even though they've been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.
+!testGitExtLibraryID_post_accept.png!
+
+* Solve the conflicts by accepting all left-originating differences (thus rejecting the ones from the right side)
+** Expected: All three conflicts reappear after saving and re-comparing (since we cannot edit the "right" side, our accepting actions had no lasting effect)
+
+* Solve the conflicts by accepting all right-originating differences (thus rejecting the ones from the left side)
+** Expected: All conflicts solved, all differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.
+
+h4. Compare and reject changes
+
+* Replace extlibrary.ecore with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Compare extlibrary.ecore with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: same 46 differences as in the first step above.
+
+* Reject all non-conflicting differences
+** Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.
+** The three left differences that are not merged from that action are ignored because they are "under" real conflicts (their containers' deletion). The merge all action ignores such difference trees since merging them would mean solving a conflict.
+!testGitExtLibraryID_post_reject.png!
+
+* Iterate over the remaining three left-originating differences and reject them.
+** Only the conflicts and differences from the right side remain to be merged. The local extlibrary.ecore loads without errors.
+** Note that the conflicts on Periodical and lastName are solved by our rejecting of these three local differences as they depend on those conflicts.
+!testGitExtLibraryID_all_merged_but_conflicts.png!
+
+h4. Check merge and merge tool
+
+* Replace extlibrary.ecore with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Ensure the git preference for synchronization is set to use the recursive model strategy for merges.
+!git_merge_preferences.png!
+
+* Open the history view for this project, and make sure all branches are shown.
+* Right-click the "right" commit and use the "merge" action.
+** Expected: a dialog pops up to warn that there are conflicts in the merge
+!testGitExtLibraryID_merge_conflict.png!
+** The file is marked as conflicting in the workspace (conflict decorator on extlibrary.ecore) and in the staging view.
+** The merge tool is available on the file.
+
+* Use the merge tool (with EMF Compare) on either extlibrary.ecore or its project.
+** Expected: the comparison editor opens and shows the same 46 differences as seen in the previous two sections.
+
+h3. UML Comparison without stereotypes
+
+* Import project testGitUML
+* Make sure it's on branch master
+
+h4. Compare and accept changes
+
+* Compare agency.uml with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: 72 differences, 52 of which hiddden from view as follows:
+!testGitUML.png!
+
+* Accept all non-conflicting differences
+** Expected: All the differences are merged.
+** Note that even though they've been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.
+!testGitUML_post_accept.png!
+
+* Solve the conflict by accepting the left-originating difference (thus rejecting the one from the right side)
+** Expected: The conflict reappear after saving and re-comparing (since we cannot edit the "right" side, our accepting actions had no lasting effect)
+
+* Solve the conflict by accepting the right-originating difference (thus rejecting the one from the left side)
+** Expected: All differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.
+
+h4. Compare and reject changes
+
+* Replace agency.uml with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Compare agency.uml with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: same 72 differences as in the first step above.
+
+* Reject all non-conflicting differences
+** Expected: All but three of the left-originating diffs are rejected, all diffs from the right side are marked as rejected.
+!testGitUML_post_reject.png!
+
+* Iterate over the remaining three left-originating differences and reject them.
+** Only the conflict and differences from the right side remain to be merged. The local agency.uml loads without errors.
+!testGitUML_all_merged_but_conflicts.png!
+
+h4. Check merge and merge tool
+
+* Replace agency.uml with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Ensure the git preference for synchronization is set to use the recursive model strategy for merges.
+!git_merge_preferences.png!
+
+* Open the history view for this project, and make sure all branches are shown.
+* Right-click the "right" commit and use the "merge" action.
+** Expected: a dialog pops up to warn that there are conflicts in the merge
+!testGitUML_merge_conflict.png!
+** The file is marked as conflicting in the workspace (conflict decorator on agency.uml) and in the staging view.
+** The merge tool is available on the file.
+
+* Use the merge tool (with EMF Compare) on either agency.uml or its project.
+** Expected: the comparison editor opens and shows the same 72 differences as seen in the previous two sections.
+
+h3. UML Comparison with stereotypes
+
+* Import project testGitUMLStereotyped
+* Make sure it's on branch master
+
+h4. Compare and accept changes
+
+* Compare agency.uml with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: 73 differences, 61 of which hiddden from view as follows:
+!testGitUMLStereotyped.png!
+
+* Accept all non-conflicting differences
+** Expected: All the differences are merged.
+** Note that even though they've been accepted, the differences originating from the left side will be there again once we re-compare the files, which is expected.
+!testGitUMLStereotyped_post_accept.png!
+
+* Solve the conflicts by accepting the left-originating differences (thus rejecting the ones from the right side)
+** Expected: The conflict reappear after saving and re-comparing (since we cannot edit the "right" side, our accepting actions had no lasting effect)
+
+* Solve the conflict by accepting the right-originating difference (thus rejecting the one from the left side)
+** Expected: All differences originating from the remote (right) side gone. The only differences left in the model are changed made in the local (left) version. The model loads properly without failures.
+!testGitUMLStereotyped_all_merged.png!
+
+h4. Compare and reject changes
+
+* Replace agency.uml with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Compare agency.uml with "branch, Tag or Reference", and select "right" as the revision to compare to.
+** Expected: same 73 differences as in the first step above.
+
+* Reject all non-conflicting differences
+** Expected: All the left-originating diffs are rejected, all diffs from the right side are marked as rejected.
+!testGitUMLStereotyped_post_reject.png!
+
+h4. Check merge and merge tool
+
+* Replace agency.uml with its "HEAD revision" version. This should reset the repository to its original state (no modifications in local files)
+
+* Ensure the git preference for synchronization is set to use the recursive model strategy for merges.
+!git_merge_preferences.png!
+
+* Open the history view for this project, and make sure all branches are shown.
+* Right-click the "right" commit and use the "merge" action.
+** Expected: a dialog pops up to warn that there are conflicts in the merge
+!testGitUMLStereotyped_merge_conflict.png!
+** The file is marked as conflicting in the workspace (conflict decorator on agency.uml) and in the staging view.
+** The merge tool is available on the file.
+
+* Use the merge tool (with EMF Compare) on either agency.uml or its project.
+** Expected: the comparison editor opens and shows the same 73 differences as seen in the previous two sections.
+
+h3. UML Designer Comparison
+
+* Import project TravelAgency
+* Make sure it's on branch master
+
+* Compare agency.uml with "Branch, Tag or Reference" and select "right" as the revision to compare to.
+** Expected: the comparison editor doesn't open. The synchronization view is shown instead and decorators indicate that both agency.uml and representations.aird have conflicts.
+!testGitUMLDesigner_synchronize.png!
+
+* Double-click agency.uml
+** Expected: the comparison editor opens and shows 2112 differences, 1760 hidden from view
+!testGitUMLDesigner.png!
+
+* Check that double clicking on "sirius element" differences properly show diagrams in the content panels.
+!testGitUMLDesigner_Sirius_pane.png!
+
+* Close the comparison editor
+* Open agency.uml, right-click the TravelAgency model and use new Child > Packaged Element > Class
+* Save the model
+* Right-click agency.uml and use Replace with > HEAD revision
+** Expected: a dialog pops up to tell the user that two files need to be modified by this operation, including representations.aird in addition to agency.uml.
+!testGitUMLDesigner_ReplaceWithPopup.png!
+
+* PENDING: The merge fails pretty badly on sirius elements for now (on this particular model, using "accept all" will end up duplicating all representations for example). We cannot test that part.
\ No newline at end of file
diff --git a/acceptanceProcess/testGitExtLibrary.png b/acceptanceProcess/testGitExtLibrary.png
new file mode 100644
index 0000000..a5606f6
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibrary.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibraryID.png b/acceptanceProcess/testGitExtLibraryID.png
new file mode 100644
index 0000000..598a714
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibraryID.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibraryID_all_merged_but_conflicts.png b/acceptanceProcess/testGitExtLibraryID_all_merged_but_conflicts.png
new file mode 100644
index 0000000..3dee9f0
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibraryID_all_merged_but_conflicts.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibraryID_merge_conflict.png b/acceptanceProcess/testGitExtLibraryID_merge_conflict.png
new file mode 100644
index 0000000..3ed104c
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibraryID_merge_conflict.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibraryID_post_accept.png b/acceptanceProcess/testGitExtLibraryID_post_accept.png
new file mode 100644
index 0000000..e027c2f
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibraryID_post_accept.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibraryID_post_reject.png b/acceptanceProcess/testGitExtLibraryID_post_reject.png
new file mode 100644
index 0000000..01caec5
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibraryID_post_reject.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibrary_all_merged_but_conflicts.png b/acceptanceProcess/testGitExtLibrary_all_merged_but_conflicts.png
new file mode 100644
index 0000000..1ad849a
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibrary_all_merged_but_conflicts.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibrary_merge_conflict.png b/acceptanceProcess/testGitExtLibrary_merge_conflict.png
new file mode 100644
index 0000000..48b4d5b
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibrary_merge_conflict.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibrary_post_accept.png b/acceptanceProcess/testGitExtLibrary_post_accept.png
new file mode 100644
index 0000000..f30ddf0
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibrary_post_accept.png
Binary files differ
diff --git a/acceptanceProcess/testGitExtLibrary_post_reject.png b/acceptanceProcess/testGitExtLibrary_post_reject.png
new file mode 100644
index 0000000..800d623
--- /dev/null
+++ b/acceptanceProcess/testGitExtLibrary_post_reject.png
Binary files differ
diff --git a/acceptanceProcess/testGitUML.png b/acceptanceProcess/testGitUML.png
new file mode 100644
index 0000000..e0265c7
--- /dev/null
+++ b/acceptanceProcess/testGitUML.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLDesigner.png b/acceptanceProcess/testGitUMLDesigner.png
new file mode 100644
index 0000000..1f11ea9
--- /dev/null
+++ b/acceptanceProcess/testGitUMLDesigner.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLDesigner_ReplaceWithPopup.png b/acceptanceProcess/testGitUMLDesigner_ReplaceWithPopup.png
new file mode 100644
index 0000000..e44360d
--- /dev/null
+++ b/acceptanceProcess/testGitUMLDesigner_ReplaceWithPopup.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLDesigner_Sirius_pane.png b/acceptanceProcess/testGitUMLDesigner_Sirius_pane.png
new file mode 100644
index 0000000..4b25250
--- /dev/null
+++ b/acceptanceProcess/testGitUMLDesigner_Sirius_pane.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLDesigner_synchronize.png b/acceptanceProcess/testGitUMLDesigner_synchronize.png
new file mode 100644
index 0000000..995674e
--- /dev/null
+++ b/acceptanceProcess/testGitUMLDesigner_synchronize.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLStereotyped.png b/acceptanceProcess/testGitUMLStereotyped.png
new file mode 100644
index 0000000..74bb2ad
--- /dev/null
+++ b/acceptanceProcess/testGitUMLStereotyped.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLStereotyped_all_merged.png b/acceptanceProcess/testGitUMLStereotyped_all_merged.png
new file mode 100644
index 0000000..4b9fa58
--- /dev/null
+++ b/acceptanceProcess/testGitUMLStereotyped_all_merged.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLStereotyped_merge_conflict.png b/acceptanceProcess/testGitUMLStereotyped_merge_conflict.png
new file mode 100644
index 0000000..85088b8
--- /dev/null
+++ b/acceptanceProcess/testGitUMLStereotyped_merge_conflict.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLStereotyped_post_accept.png b/acceptanceProcess/testGitUMLStereotyped_post_accept.png
new file mode 100644
index 0000000..100ee2d
--- /dev/null
+++ b/acceptanceProcess/testGitUMLStereotyped_post_accept.png
Binary files differ
diff --git a/acceptanceProcess/testGitUMLStereotyped_post_reject.png b/acceptanceProcess/testGitUMLStereotyped_post_reject.png
new file mode 100644
index 0000000..a91d3f1
--- /dev/null
+++ b/acceptanceProcess/testGitUMLStereotyped_post_reject.png
Binary files differ
diff --git a/acceptanceProcess/testGitUML_all_merged_but_conflicts.png b/acceptanceProcess/testGitUML_all_merged_but_conflicts.png
new file mode 100644
index 0000000..8e868df
--- /dev/null
+++ b/acceptanceProcess/testGitUML_all_merged_but_conflicts.png
Binary files differ
diff --git a/acceptanceProcess/testGitUML_merge_conflict.png b/acceptanceProcess/testGitUML_merge_conflict.png
new file mode 100644
index 0000000..b200e56
--- /dev/null
+++ b/acceptanceProcess/testGitUML_merge_conflict.png
Binary files differ
diff --git a/acceptanceProcess/testGitUML_post_accept.png b/acceptanceProcess/testGitUML_post_accept.png
new file mode 100644
index 0000000..5b54300
--- /dev/null
+++ b/acceptanceProcess/testGitUML_post_accept.png
Binary files differ
diff --git a/acceptanceProcess/testGitUML_post_reject.png b/acceptanceProcess/testGitUML_post_reject.png
new file mode 100644
index 0000000..b25eefe
--- /dev/null
+++ b/acceptanceProcess/testGitUML_post_reject.png
Binary files differ
diff --git a/acceptanceProcess/testLocalCrossReference.png b/acceptanceProcess/testLocalCrossReference.png
new file mode 100644
index 0000000..471b2a5
--- /dev/null
+++ b/acceptanceProcess/testLocalCrossReference.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibrary.png b/acceptanceProcess/testLocalExtLibrary.png
new file mode 100644
index 0000000..2462c32
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibrary.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryID.png b/acceptanceProcess/testLocalExtLibraryID.png
new file mode 100644
index 0000000..8cd82ab
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryID.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryIDThreeWay.png b/acceptanceProcess/testLocalExtLibraryIDThreeWay.png
new file mode 100644
index 0000000..2d3f6a0
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryIDThreeWay.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts.png b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts.png
new file mode 100644
index 0000000..76b287a
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_all_merged_but_conflicts.png b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_all_merged_but_conflicts.png
new file mode 100644
index 0000000..b19313a
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_all_merged_but_conflicts.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_right_side.png b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_right_side.png
new file mode 100644
index 0000000..ff38796
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryIDThreeWayConflicts_right_side.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryThreeWay.png b/acceptanceProcess/testLocalExtLibraryThreeWay.png
new file mode 100644
index 0000000..7998cb1
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryThreeWay.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryThreeWayConflicts.png b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts.png
new file mode 100644
index 0000000..bac3d6d
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_496174.png b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_496174.png
new file mode 100644
index 0000000..e1bdc50
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_496174.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_all_merged_but_conflicts.png b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_all_merged_but_conflicts.png
new file mode 100644
index 0000000..54e4ec5
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_all_merged_but_conflicts.png
Binary files differ
diff --git a/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_right_side.png b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_right_side.png
new file mode 100644
index 0000000..d75dfc7
--- /dev/null
+++ b/acceptanceProcess/testLocalExtLibraryThreeWayConflicts_right_side.png
Binary files differ
