Configuration: Xcode 7.3.1, Mac OS 10.11.6, iOS project.
Reference Information: According to the venerable Chris Hanson (who I assume is still on the Xcode team), the rule is "generally all files within xcshareddata should be committed"
Problem: So, I did that and am now trying to merge back down to master and I get a tree conflict on myproject.xcscmplueprint
The file doesn't exist within the master. I am looking at the master branch's xcshareddata folder now.
I have one copy of the app signed out that is set to the Master branch and another signed out that is set to the current Development branch.
One is on one monitor, one is on the other.
In the Finder, I have a path to each project's xcshareddata folder.
The master most certainly doesn't have this myproject.scscmblueprint file.
How can the git merge to the master be reporting a tree conflict for a file it doesn't have under source control?
Background: Now, last week, another team member using SourceTree merged in CocoaLumberjack using SourceTree and and this file appeared.
Within it is the info for the link to the Github repo for CocoaLumberjack. I assume this is important.
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "1A5D24D535E5877355BF7F4CFF56913F0DD1AFFD" }, { "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/CocoaLumberjack\/CocoaLumberjack.git", "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "35B5C9A93714EC9BEB56BAE809C5551E5C66E52D" } ] }
Now, the reason why we are including this .xcscmblueprint is that we did a merge for our working dev branch + the CocoaLumberjack branch into a new branch last week without the xcscmblueprint file through Xcode. Xcode told me to remove it, so I did. Pretty straightforward.
Everything went fine. I switched branches. I built. I switched back. Built again. MASSIVE amounts of missing files.
We nuked that branch.
My boss, who is rather skilled with git, redid the merge to a fresh branch. I tested this fresh branch. Same thing.
Third try. I consult the words to Stack Overvlow and see Chris Hanson's comment (posted at the top) which says to add what is within the xcshareddata folder to source control. This time, I added .xcscmblueprint, committed and pushed and merged the two branches into the fresh branch. I tested the fresh branch as above. NO PROBLEMS!
Now yesterday, I try to merge our NO PROBLEMS working branch that is the product of our dev branch + our CocoaLumberjack branch + the .xcscmblueprint file into our master.
Tree conflict on .xcscmblueprint. : /
I diff the two files in filemerge. There are 0 differences.
W T F?
We already went through merge hell last week, worked all weekend 18/19 hours a day and I did 36 hours straight on Monday/Tuesday + 19 yesterday.
What the hell is going on?
|