Re: project.pbxproj and Subversion
Re: project.pbxproj and Subversion
- Subject: Re: project.pbxproj and Subversion
- From: Rua Haszard Morris <email@hidden>
- Date: Fri, 26 Oct 2007 11:32:39 +1300
We treat ours as text, (though still using CVS), and I don't remember
being bitten by conflicts very often; but, I have hand-edited project
files on occasion (for other purposes), and the textual diffs are
very useful in reconstructing changes in the event a hand-merge (in a
text editor) is too tricky/complicated/a hassle.
It sure beats scratching your head and relying on trustworthy checkin
comments with binary CodeWarrior projects!
sumup:
treat-as-text is very GOOD.
On 26/10/2007, at 11:23 AM, Alexander von Below wrote:
The short answer: We treat them as text, and occasionally they have
to be hand-merged.
Alex
Am 26.10.2007 um 00:18 schrieb Fritz Anderson:
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
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40adinstruments.com
This email sent to email@hidden
_______________________________________________
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