Information Technology Reference
In-Depth Information
this the “Repository pattern.” The pattern indicates that “a workspace
consists of more than just code,” including all of the following:
• Components, as either source or library files
• Third-party components, such as JAR files, libraries, DLLs, and
so on, depending on the language and platform
• Configuration files
• Data files to initialize an application
• Build scripts and build environment settings
• Installation scripts for some components 4
When using a version control repository to centralize all software
assets, you still make the judgment call as to what constitutes “all.”
Use the level or risk to decide the minimum types of software assets
that go into the version control repository. For example, one of the
risks for a product with a long lifespan is that subsequent versions of
compilers and tools may cause problems, sometimes subtle and unde-
tectable, with your software. This is a risk because you may need to go
back and compile the earlier version.
Moreover, certain versions of tools don't work well with others.
It's easy for developers to pull down whatever version of a tool they
think is appropriate, possibly running into problems and chasing false
positives or negatives. Similarly, going back and producing an old
build (e.g., to reproduce a customer problem or fix a bug) may require
a specific set of tools that were used at that point in development. As
such, you'll probably conclude that there's almost no part of your
project that could not benefit in the future, for some reason, from the
version tracking and centralization of assets in a project repository.
Create a Consistent Directory Structure
Using a version control repository to manage all software assets does
all of the important things just discussed, but using one makes it possi-
4. From Software Configuration Management Patterns by Stephen Berczuk and
Brad Appleton.
 
Search WWH ::




Custom Search