Functionality Overview


In a nutshell, Code Co-op, like any decent version control system, lets you create a project to safe-keep your source files and track their history. Once the project is created, other developers, wherever they are, may join the project, or the Administrator of the project can invite them. When you no longer want to be a member of a project, you defect from it. (You can also branch a project and merge changes between branched projects.)

In a project, you can add an existing file, or create a new file.

The complete history of the project is available to you. You can view previous versions of individual files or the project as a whole; restore them, or save.


Most of the time, however, you'll work on editing files that are already in the project. You'll do that with your favorite editor or development environment.

You'll notice that files in your project are made read-only by Co-op. If you want to edit a file, you first check it out--which makes it read-write and ready for changes. Several development environments integrate with Code Co-op and are able to automatically check files out as soon as you start editing them.

Once you're done making changes, you check in the changed files, and the system creates a differential script of changes. Scripts are then dispatched to all other members of the project.

When you get a script from somebody else, you synchronize your project by executing it. The changes made by the script appear in your project immediately. You can review the changes from the History tab. You cannot reject a sync, but you can revert it.

Co-op also let's you rename files, move files between folders, as well as delete them--all under strict version control.

Sometimes the changes you receive are in conflict with the changes you have made. Code Co-op helps you resolve such conflicts by branching or merging the conflicting changes.


It is important not to bypass Code Co-op when you make changes to project files or folders:
Do not edit files that are not checked out. (Yes, you could do this by clearing the read-only status of the files, but doing so will break the database information that Co-op keeps. Run repair from the Project menu to restore files after an accident like this.)
 
Do not rename or move files using external applications (e.g., the Windows explorer), even if they are checked out.
 
Always perform delete, rename and move using Code Co-op.

In return you can expect that fully transactional Code Co-op will preserve the integrity of your project even if the power goes down in the middle of an operation (provided, of course, your file system is robust enough to recover from such a disaster).