Functionality Overview

In a nutshell, Code Co-op is like any decent version control system that lets you create a project to safe-keep your source files. 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. Just keep your Co-op running and minimized, so that at any point in time you'll be able to check out files--which makes them read-write and ready for changes.

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 or make changes to it.

Co-op also let's you rename files (but not folders), 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 by merging the conflicting changes.

It is important that you do not by-pass 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 shell 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).