Hi,
I have a custom comparator/merge module that takes a structured XML file and presents
a visual display of the differences between two versions and allows the user to merge
changes contextually rather than just blindly merging the text content.
The comparator works with CVS/SVN/Local without any knowledge of the revision control
system, but I'm now switching my development to use git and I've run into a glitch that I
would like to better understand.
My workflow is pretty simple, all of these changes on the same structured XML file, so the
effectively conflict with one another, but can be manually resolved:
A - B - C (master)
\- D - E (dev)
I am on branch "master" I want to merge D and E from "dev" into master.
What I expected to do was:
* Select the project
* Select Team > Synchonize ...
** Select Destination: "local branch" and then choose Ref: "dev"
This appropriately brings up a list of changsets 'D' and 'E' with my model file.
Now when I select the file whose content I want to manually pull over, I double
click and I get my custom compare editor (good).
Unfortunately, it seems that the input elements (FileRevisionTypeElement) don't
expose the local resource path so that I can actually perform a merge using my compare
editor and save the resulting changes, mark the change set as merged and move on.
I have noticed that the same problem exists with plain text comparisons done in
this manner, so I get the feeling that I'm missing the boat on the workflow. I looked
at this reference:
http://wiki.eclipse.org/EGit/User_Guide#Merging
but I don't want to automatically merge content because doing so renders the
context completely invalid (it is XML from serialized Java objects).
Any guidance would be appreciated here since while I love git, this becomes a bit
of a showstopper for my development.
Thanks,
Thomas
---
Crank Software: www.cranksoftware.com
There is a better way to build embedded user interfaces