Patent ID: 7779387

Claim:
A client system that facilitates source code control, comprising: a processor; and one or more physical computer readable storage media operatively coupled to the processor, the computer-readable storage media having stored thereon computer executable instructions that, when executed by the processor, are configured to implement the client system, including: a client-side client workspace that stores at least one source code file downloaded from a server-side source control repository that maintains state information for one or more source code files stored in the repository, the client workspace enabling a user of the client system to checkout the source code file for modification by the user and to store the source code file when modified; a client-side client source code control component that tracks an activity associated with a modification of the source code file in the client workspace when the client is in an offline mode, and that transmits the activity during an update process when the client moves to an online mode, the client source code control component comprising: a file cache that stores a pristine copy of the source code file in an unmodified state in response to the source code file being checked out for modification from the client-side client workspace; and an activity list that stores the activity, the activity comprising one or more commands executed against the source code file during the offline mode and associated with the modification; and wherein the client-side client source code control component is configured to interface with a server-side server source code control component to facilitate transfer of the activity and update of the source code file to the server-side source control repository, wherein one of the client-side client source code control component or the server-side server source code control component checks for an error during the update process and determines whether the update can proceed or must be aborted in part or whole.