Chapter 21. Sharing Source

WHAT'S IN THIS CHAPTER?

  • Creating source trees

  • Configuring source control

  • Adding a project to source control

  • Checking out a project

  • Sharing, checking in, comparing, and merging project files

Software development has always been characterized as a rather solitary vocation. The stereotype of a single programmer working into the wee hours of the night, isolated in a basement or attic room, is now mostly the purview of fiction writers. Most modern development is done in teams — even when those teams are scattered across the globe and connected only by the Internet. Members of a team need ready access to the assets of projects they are working on. They need to collaborate on changes and distribute their work to other team members.

Software projects themselves may also need to share resources. A suite of applications developed for a single corporation might need to include a common set of graphics, or share a set of preprocessor definitions. It's impractical to put all of the applications into a single project, and (as you saw in Chapter 5) source file references outside the project folder can be problematic. Projects need a way to share common assets rationally.

Closely related to the subject of sharing source files is the concept of source control management (SCM), or just source control. Source control systems store and track the changes made to source files over time. It is usually the basis of a collaboration system among multiple developers, acting as a mediator ...

Get Professional Xcode® 3 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.