Re: any reason to source control the build dir (index) contents?
Re: any reason to source control the build dir (index) contents?
- Subject: Re: any reason to source control the build dir (index) contents?
- From: Andrew Pontious <email@hidden>
- Date: Fri, 24 Oct 2008 11:43:17 -0700
Xcode indexes currently store their file information by full path.
This is an internal implementation detail, so it may change in the
future.
But for now, what it means is that indexes are by definition unique to
each developer machine. If you check your index files in, and your
teammates check them out, all this will mean is more checkout time,
because when they open their projects, Xcode will recognize that the
index is from this project at another location, and will blow it away
and reindex.
So yeah, I wouldn't recommend checking the index files in. :-) Indexes
are always an adjunct to your project and source code files (and
resources, etc.). They are never required, and can always be recreated.
Note, if you use a single location for all your build files (see Xcode
prefs, Building), then neither your build files nor your index files
will be in the same location as your checkout, and thus excluding them
from checkins will happen automatically.
-- Andrew
On Oct 24, 2008, at 8:28 AM, Martin Redington wrote:
In my projects, I usually exclude the build directory and the
*.xcodeproj/<username>.* files from source control.
I also usually set up a clean.sh script, that blows away the build
directories completely - historically (with Xcode 2.0 for example) I
very very occasionally saw issues where a normal clean wouldn't
somehow seem not to have removed all the previous state.
I usually just Clean All from the gui, but every once in a while I'll
blow build away just for good measure (my projects are all pretty
small, or tens of thousands of loc at most, so this isn't especially
painful).
I've been creating a lot of new projects recently (this is with Xcode
3.1, but presumably other versions as well) and noticed that the
default templates (or at least the "iPhone View Based app" template)
creates a build directory off the bat, with a lot of indexing
information. e.g.
ls -1 build/Gravity.build/Gravity.pbxindex/
categories.pbxbtree
cdecls.pbxbtree
decls.pbxbtree
files.pbxbtree
imports.pbxbtree
pbxindex.header
protocols.pbxbtree
refs.pbxbtree
strings.pbxstrings/
subclasses.pbxbtree
symbols0.pbxsymbols
I'd hazard a guess that these are indexes for code completion etc.
Is there any reason, apart from a very minor speed bump in my usual
case, to source control these, or to not blow them away?
Is there any point at which you should consider not blowing them away
(e.g. for projects beyond a certain size)?
--
http://www.mildmanneredindustries.com/
_______________________________________________
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:
This email sent to email@hidden