6.3. Organizing Your Source Tree
Once you have chosen your SCC system, it is time to think about how to organize your source code to take the best advantage of the system you are using. Spend some time thinking about how you will work with multiple branches or versions, and how different projects throughout your organization may need to be integrated.
Some of the issues involved in picking a layout will be determined by which SCC tool you pick. Different tools have different requirements and leave a different "footprint" on your local system. However, the basic concepts translate well across tools.
6.3.1. Using TreeSurgeon
A great place to start if you are using Visual Studio .NET is with a tool called TreeSurgeon. TreeSurgeon creates a starter project and directory structure that works well with a Continuous Integration process. Even if you aren't working with Visual Studio, TreeSurgeon's model is a good one to use with any development tools or IDE. TreeSurgeon creates three separate folders, lib, src, and tools. Figure 6-1 shows a top-level structure created by TreeSurgeon.
Figure 6-1. Figure 6-1
The lib folder should be used to store any libraries your project needs compile time access to. These should only be files that are necessary for the linker to get its job done. The tools folder contains all of the tools required during the build process, such as:
The build tool itself ...
Get Code Leader: Using People, Tools, and Processes to Build Successful Software 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.