Source Control Basics

Each source control system consists of one or more centralized repositories and a number of clients. A repository is a database that contains not only the actual data files, but also the structure of each project you define.

Most source control systems adhere to a concept of a logical project, within which files are stored, usually in one or more tree directory structures. A source control system project might contain one or many Delphi 8 for .NET projects, in addition to other documents and artifacts. The system also enforces its own user authentication or, very often, takes advantage of the authentication provided by the underlying operating system. Doing so allows the source control system to maintain an audit trail or snapshot of updates to each file. These snapshots are typically referred to as diffs, for differences. By storing only the differences, the source control system can keep track of all changes with minimal storage requirements. When you want to see a complete copy of your file, the system performs a merge of the differences and presents you with a unified view. At the physical level, these differences are kept in separate files until you are ready to permanently merge your updates, at which time you can perform a commit action.

This approach allows you and other team members to work in parallel, simultaneously coding within multiple, shared projects, without the danger of code collision. Source control systems, in their most basic form, protect you from code conflicts and loss of early sources. Most source control systems give you the tools to manage code files with check in/check out capabilities, conflict reconciliation, and reporting capabilities. Most systems do not include logic conflict reconciliation or build management capabilities, although some products such as Rational ClearCase do provide build and workspace management capabilities. For details about your particular source control system capabilities, refer to the appropriate product documentation provided by your source control system vendor.

Commonly, source control systems only allow you to compare and merge updates to text files, including code files and other types of documents. The source control systems supported by Delphi 8 for .NET allow you to include binary files in the projects you place under control, but you cannot compare or merge multiple sources of those files. Typically, when you move binary files, or any files that are not textual, into your source control system, the system overwrites any existing copies of those files with newer sources. Resource files or other types of automatically generated binaries might also be overwrittten or ignored by the source control system. If you need to maintain copies of different sources of these types of files, you might consider creating a manual tracking system for those files.

In Delphi 8 for .NET, you can access any supported and installed source control system from the Team menu.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment