Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[egit-dev] Should I be able to Merge content when Synchronizing?



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:

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.





Crank Software:

There is a better way to build embedded user interfaces


Back to the top