3 ms·
> Same with merge conflicts on .pbxproj files - these files weren’t checked into source control. Instead, there’s a Google open-source tool called GYP that gene
by Aqua_Geek 14y ago
> Same with merge conflicts on .pbxproj files - these files weren’t checked into source control. Instead, there’s a Google open-source tool called GYP that generates your Xcode project from a JSON recipe and recursively searching the folders for source files.
Wow. That sounds crazy. I feel that there's an opportunity here to make a merge tool that would know how to handle .pbxproj files. The most common scenario I've encountered is when multiple people add files to the project - they get appended to a section of the .pbxproj file and consequently result in a (easily-solvable) conflict.
Part of me wonders why nobody at Apple has just gotten fed up with merge conflicts and solved the problem already.
- evmar 14y agoDiffs for pbxproj files are also not especially readable, so just a merge tool wouldn't be enough to make collaboration easy. Here's a recent diff of adding some files: http://trac.webkit.org/changeset/138661/trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj http://trac.webkit.org/changeset/138661/trunk/Source/WebCore... and the equivalent change in Gyp: http://trac.webkit.org/changeset/138661/trunk/Source/WebCore/WebCore.gypi http://trac.webkit.org/changeset/138661/trunk/Source/WebCore...
- lnanek2 14y agoGoogle has a similar situation for other languages, but rather than for merge issues, it is more a way to deal with the huge reams of libraries and software components and things like that available. GYP may do something similar. E.g. All code is in one codebase, but pulled out into a specific project by tooling, basically.