simonwagner / mergepbx

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

mergepbx crash on currentVersion conflict #26

Open jadar opened 7 years ago

jadar commented 7 years ago

It seems I'm running into a crash with the latest version of mergepbx. My Xcode project is from the latest 8.3.1.

Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/mergepbx.py", line 78, in main
    merge_pbx_files(args.base, args.mine, args.theirs, output, clean=args.clean)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/mergepbx.py", line 102, in merge_pbx_files
    merged_project = merge_pbxs(base, mine, theirs)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/pbxproj/merge/__init__.py", line 8, in merge_pbxs
    return merger.merge(base, mine, theirs)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/pbxproj/merge/pbxmerge.py", line 146, in merge
    self.merge_objects(result, base, mine, theirs)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/pbxproj/merge/pbxmerge.py", line 204, in merge_objects
    merged_obj = merger.merge(base_obj, mine_obj, theirs_obj)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/pbxproj/merge/pbxmerge.py", line 72, in merge
    result = self.handle_conflicts(base, mine, theirs, diff3)
  File "/Users/jacob/Downloads/mergepbx-master/mergepbx/pbxproj/merge/pbxmerge.py", line 93, in handle_conflicts
    raise MergeConflictException("conflict while merging with %s merger" % self.__class__.__name__)
MergeConflictException: conflict while merging with XCVersionGroupMerger3 merger

I'm not sure what key or section of my project it's getting held up on as there's no logging for that sort of thing. Do you have any suggestions on how to go about debugging this?

jadar commented 7 years ago

Just an update, it does also give this message: merging failed: 'fileRef'

jadar commented 6 years ago

I've done some digging, and it turns out this is happening for me when the Core Data model changes. For some reason MergePBX doesn't know how to handle the currentVersion field.