Re: Perforce problem with XCode 3.1.1
Re: Perforce problem with XCode 3.1.1
- Subject: Re: Perforce problem with XCode 3.1.1
- From: Mike Kobb <email@hidden>
- Date: Mon, 20 Oct 2008 15:35:00 -0700
Thanks to Andrew for the reply! A couple of follow-ups:
On Oct 20, 2008, at 11:09 AM, Andrew Pontious wrote:
[pointers to the XCode Source Management Guide]
These are good places to start when looking for documentation in the
future.
Thank you for the pointers. As a bit of feedback, the notation in
XCode's project info is just "Root". There's no indication that this
setting is related to SCM. It would be rather difficult for somebody
trying to figure out what this setting does to guess that they should
look up the Source Management Guide, and although it does appear in
the Project Management Guide, its link to SCM is not at all clear in
that guide.
XCode's SCM system should be smart enough to get the Perforce
information for the files incorporated in the project, no matter
where they are. It should also be smart enough not to get SCM
information for hundreds of files that are not in my project, which
it does now that I've moved the root.
This is how we used to do it. Xcode determined the directory for
every file in the project, and then did SCM operations on all those
directories.
We've decided that it's faster if the user specifies a directory to
use for such operations. Using only a single directory speeds up the
operation, and only the user can say with surety what the highest-
level directory is that should be used.
Since I didn't use SCM under the old XCode, I can't say whether it's
actually faster now, but I can say that it certainly doesn't seem
"fast". With a rather modest source tree, XCode SPODded for 30
seconds on a 2.4GHz Core 2 Duo when turning on SCM. I'm not sure
what's happening during this time, since CPU utilization was near
zero. Subsequent quitting and re-launching doesn't seem to be as bad.
As I said above, this is a deliberate direction for us. We are
always looking for feedback to make it better, but we are not
planning on going back to the way things were before.
I'm afraid, as noted by the folks commenting in this thread and the
year-ago thread, that the current single root is a bit too blunt of an
instrument, but I think there may be a relatively elegant and "Mac-
like" solution.
Perhaps a better way to do this would be to take an approach similar
to Spotlight or Time Machine -- either specify a root and then a set
of excluded folders, or just specify a set of directories that XCode
should traverse for SCM purposes. I think the root + exclusions
approach is the better one because it allows for files within the root
directory to be in SCM control, but permits exclusions of
subdirectories at that same level.
This would likely prove greatly advantageous to people who have this
situation where the necessary "root" contains many other projects.
Skimming the SCM guide you pointed me to also reveals another
advantage of this approach: it would not be necessary to move the
build products out of their natural (and default) home within the
project's folder. Rather, the build products directory could simply
be excluded, possibly even automatically.
Best,
--Mike
_______________________________________________
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