simonwagner / mergepbx

script for merging XCode project files in git
GNU General Public License v3.0
1.04k stars 45 forks source link

Merge Conflicts in Branches are not made visible #22

Closed prefect42 closed 8 years ago

prefect42 commented 8 years ago

Whenever I have a valid Merge Conflict, e.g.

Branch A is setting the Deployment Target to 8.0 Branch B is setting the Deployment Target to 7.0

I am supposed to have a merge conflict since both branches modified the same value.

I am correctly shown a merge conflict when Rebasing Changes from Branch B onto A. But I am not seeing the conflict in the project file. I would have expected to see something like:

<<< Deployment Target 7.0 '=== Deployment Target 8.0

in the project file.

But it seems pbxmerge just used the value from the Branch that was merged upon.

simonwagner commented 8 years ago

Yeah, would be a cool feature, but unfortunately this would be a lot of work. Currently mergepbx reads the project file as a plist into a dictionary, then tries to merge that dictionary and then writes the result back as plist again.

So we would need some kind of datastructure that would keep the information about the conflicts and then we need a special kind of writer for the plist that can create the conflict markers. That's a lot to do and unfortunately I don't really have time for that.

But maybe we can fallback to the simple text merging mode if there is a conflict, that should be possible.

prefect42 commented 8 years ago

But maybe we can fallback to the simple text merging mode if there is a conflict, that should be possible.

Thats exactly what I was asking for and thought would happen! 👍🏽

prefect42 commented 8 years ago

Any progress here? I think this is a major issue and a blocker for usage of this awesome tool in our team!

simonwagner commented 8 years ago

It's implemented now, you can try the current version in master.

prefect42 commented 8 years ago

Thanks!