Checking In Files

Change-based Check-ins and Atomic Synchronization

Code Co-op is a change-based system. This means that, once you have completed a certain task, you can check-in all the files involved in this task. Additionally, Code Co-op operates in units of logical changes to the project, rather than in units of file changes. Each logical change may consist of many file changes, yet the check-in, as well as the sync, is atomic – a single database transaction. The dreaded Partial synchronization, when synchronization happens in the middle of somebody else's file-by-file check-in, isn't possible in Code Co-op.

The idea behind a change-oriented version control system like Code Co-op, is that you make all necessary changes to transform your project from one consistent state to another. When you check in your changes, they are supposed to produce a single atomic update to the project. It is highly advisable that this update lead to a project that compiles and runs.

Reviewing your changes

The Check-in Area will list all new, deleted, moved, renamed, or checked-out files. By double-clicking on an edited file, you can review your changes using the built-in differ. You'll see a two-pane display. The left pane usually has two tabs: Before and Current. The Current tab is where you can make additional edits and also see the current state of the file. The Before tab shows the file state prior to any current edits.The right pane highlights the differences between the original version of the file and the current version.

If you prefer, you can use the Beyond Compare differ that's part of the distribution.

Performing the Check-in

To check in Selected files, select the files and:

To check in all the files in the Check-in Area:

As part of the check-in process, you are prompted for a comment. This comment should describe the task in a sentence or two. The comment can span multiple lines. The check-in comment dialog also gives you the option to rate the level of testing yo've done. The dialog asks the question "Have these changes been tested?". You can selected "No", "Somewhat", "Thoroughly", or "N/A (not applicable)".

Each check-in comment serves as a version name. When reviewing an incoming sync, the check-in comment will be visible in the Inbox (expand them by clicking the down arrow to the right of the abbreviated comment) and, once it's executed, it will be listed in the project's History.