• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: any reason to source control the build dir (index) contents?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >any reason to source control the build dir (index) contents? (From: "Martin Redington" <email@hidden>)

  • Prev by Date: Re: CodeSign Warning when building static lib target for iPhone on XCode 3.1
  • Next by Date: Portability of User Scripts
  • Previous by thread: Re: any reason to source control the build dir (index) contents?
  • Next by thread: CodeSign Warning when building static lib target for iPhone on XCode 3.1
  • Index(es):
    • Date
    • Thread