CVS integration for nibs?
CVS integration for nibs?
- Subject: CVS integration for nibs?
- From: Terrence Talbot <email@hidden>
- Date: Sun, 16 Nov 2003 16:12:29 -0800
I know the good/bag/ugly regarding nibs and wrappers has been hashed
over a million times in the last decade+, but in case something has
purposely changed with Xcode, I thought I'd ask. It seems to affect the
SCM integration with Xcode no matter which way I set it up, so here
goes...
Desired result: shared cvs repository on remote server (accessed via
ssh ext) that correctly works for adding of, and committing changes to,
nibs, within Xcode.
First Scenario: use Apple's cvswrappers file and wrap the whole nib:
If I create a local repository and use /Developer/Tools/cvswrappers for
CVSROOT/cvswrappers, everything works fine. This is actually the
behavior I want -- a fully wrapped nib, since I don't want to have to
worry about IB adding stuff inside the nib that doesn't get tracked by
Xcode. Plus Xcode's SCM integration seems to handle adding new nibs to
the project just fine. (Nicer than the old, manual way.)
If I create a remote repository and do the same thing -- the remote
repository is on a 10.3 OS X Server machine, so paths and scripts
should be identical -- any local change I make to a nib results in the
following complaint from cvs and a no-go from Xcode:
cvs commit: Examining .
cvs server: Up-to-date check failed for `MainMenu.nib'
cvs [server aborted]: correct above errors first!
A cvs update usually results in something like this:
$cvs update -dP
cvs server: Updating .
cvs server: Updating English.lproj
M English.lproj/MainMenu.nib
U English.lproj/MyDocument.nib
/usr/bin/gnutar: MyDocument.nib/classes.nib: time stamp 2003-11-16
10:37:57 is 1 s in the future
/usr/bin/gnutar: MyDocument.nib/CVS/Entries: time stamp 2003-11-16
10:37:57 is 1 s in the future
/usr/bin/gnutar: MyDocument.nib/CVS/Repository: time stamp 2003-11-16
10:37:57 is 1 s in the future
/usr/bin/gnutar: MyDocument.nib/CVS: time stamp 2003-11-16 10:37:57 is
1 s in the future
/usr/bin/gnutar: MyDocument.nib/info.nib: time stamp 2003-11-16
10:37:57 is 1 s in the future
/usr/bin/gnutar: MyDocument.nib/objects.nib: time stamp 2003-11-16
10:37:57 is 1 s in the future
/usr/bin/gnutar: MyDocument.nib: time stamp 2003-11-16 10:37:57 is 1 s
in the future
Odd, since my server is an ntp host for my local machine and the
timestamps of the files in the repository are actually quite a bit
older. I've tried various combinations of cvs update commands, and
creating entirely new repositories with a single project in them to the
same result. Wrapping works fine locally: not happy with the sever
setup, seems related to gnutar. Xcode doesn't fail particularly
gracefully here.
Question: any ideas on how to make remote cvswrappers happy? a
(reintroduced) bug?
Second Scenario:
I don't wrap nibs at all, but just use the standard bbum recommended
approach of treating objects.nib files as binary within the cvswrappers
file. I've used this method quite successfully in the past. The issue
with this with Xcode, for me, is that Xcode doesn't seem to flag the
changes to files inside the .nib wrapper (in the file package sense) so
that status never changes. With the status not changing, Xcode will not
activate any options to do anything useful with the nib, like
committing it back to the repository. I know Xcode is automatically
seeing the data correctly:
/usr/bin/cvs -q -n update
M MainMenu.nib/info.nib
M MainMenu.nib/objects.nib
but that status never gets reflected in the Xcode SCM GUI (other than
the text output at the bottom of the SCM panel). In contrast, I seem to
remember this working ok with PBX, but I have not been able to test.
Question: is this a bug? Is there some other way to deal with this?
Thanks,
Terrence Talbot
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.