project.pbxproj and Subversion
project.pbxproj and Subversion
- Subject: project.pbxproj and Subversion
- From: Fritz Anderson <email@hidden>
- Date: Thu, 25 Oct 2007 17:18:35 -0500
I am confused. What are people's experiences with keeping .xcodeproj
files in Subversion?
As I see it, there are two ways Subversion can treat the
project.pbxproj file inside an .xcodeproj:
- It can treat it as text. The file is in fact text (old-style plist).
But when conflicting text files are updated from the repository,
Subversion tries to resolve conflicts if it can by diffing the two
with the last-checked-out version, and merging the results. This is a
dynamite strategy for source code. But can it result in a corrupted
project file?
It it's text, and a three-way merge doesn't succeed, you're left with
auxiliary files showing the three versions, and project.pbxproj gets
marked up with conflict markers. The project file is definitely
unusable, and there's no sure or convenient way to edit it back into
shape.
So treat-as-text is bad, right? What about treat-as-binary?
- Treat project.pbxproj as binary. If you check out revision 10, make
changes to it (add a file to the project), and someone else commits
revision 11 (adding a different file to the project), you get a
conflict upon check-in, and must update In a binary, all Subversion
can do for you is to insert project.pbxproj.r10 and
project.pbxproj.r11 into the .xcodeproj package. None of the
alternatives are correct, and you have to break into the package to
get at them. Subversion more or less refuses to proceed unless the
conflict is resolved.
Surely I am not the first person to notice all this; other people must
have different developers making simultaneous changes to project
files. Maybe I am missing something:
Under Subversion, in your own work, how do you treat project.pbxproj?
If you look in the .xcodeproj package, do you see the detritus of
failed merges?
Have you noticed conflicts? Inconsistent project files among developers?
If so, what have you done about them?
My thanks in advance for resolving my confusion. I'm sure I'm just
missing something obvious.
I'd take this to the Subversion Users list, but my question is more
about the practical effects of svn on a particular Mac file.
— F
(The "To:" header is lame, but Mail seems to have picked it up from
somebody else's message, and it won't let go. Sorry.)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden