After getting the project from SVN, you can continue your usual work with the project, that is its development. Roughly, development includes file changing and adding new ones. After the project is controlled by the source control system, all the source files get attribute 'readonly'. It is necessary, for you cannot start editing the file without specifying what you are going to do with it. This operation is called 'checking out a file', or briefly 'checkout'. After you finish some logically completed part of work with this file, you have to 'check a file in SourceControl', or briefly 'checkin'. This way your modifications become accessible for other developers, and it allows working with the project in team. It is important that you can checkin your modifications only if you are absolutely sure there are no serious errors in them, which can complicate the work of others, after they get these modifications.
According to the said above, you can assume that each file in the project under source control can be in several states: not controlled (not connected), controlled (connected to code control system), checked out (connected and accessible for checkout), reserved checked out (connected and checkout by you only), need update (a newer version is in the repository), checked out by someone else, reserved checked out by someone else (you cannot edit this file). Development environments display these states by special icons and tags, which you can see in the pictures below.
Besides two basic operations (checkin/checkout), other commands which can help you during development are available. These commands appear in numerous context menus concerning the file, they can be reached from appropriate IDE menus, and also from optional toolbar which can be switched on using conventional tools of the development environment. Below you can see a list of these commands and their functions:
This command allows to ask the source control system to check out a selected file(s). In other words, you inform the system that you are going to edit them. When you edit a file in individual mode, you forbid others indirectly to check out this file. Individual mode is on by default for binary files (as far as it is impossible to merge different versions automatically), and is off for text ones (because SVN is able to merge effectively the modifications in different parts of the file). In SVNSccProxy it is accessible offline.
- Undo Checkout
This command allows to undo file editing: to backup the version from which the editing has started (backup your modifications) and inform the system that you have finished file editing. In SVNSccProxy it is accessible offline.
Allows to upload your last file modifications and make them accessible for other developers.
- Add to source control
Allows to add the selected file(s) to Source Control. Perform this command if necessary for the files recently added to the project.
- Remove from source control
Allows to delete the selected file(s) from Source Control. The files are not deleted from local disk, but become uncontrolled by source control system.
- Get latest version
Allows to get the latest file(s) version. In other words, to get modifications performed by other developers. In SVNSCCProxy context this command is also used to install advanced options, to create tags, branches, sticky files etc.
- Show difference
Allows to compare local file version with the one in the repository. This is convenient if you want to know what particular parts of the file you have changed during your last work. In SVNSCCProxy context it is also accessible offline, but only for the last version in the repository.
- Show history
Allows to view the history (version tree) and the project work history as a whole. In SVNSccProxy it allows to perform such operations as annotation, comparing of file versions in pairs, deleting versions, getting and sticking versions and changing file type.
- Refresh status
The operation forcedly refreshes file status (of all files as a rule). It acquires information about changes in the repository: files taken by someone else, deleted files, new file versions added recently.
Allows to view file properties within the source control system. For example, current version of a file, a list of developers editing the file, tags, date etc.
- Start source control
Allows to call 'stand alone GUI' from the source control system. In SVNSccProxy it does nothing but runs previously customized executable file. In other words, the plug-in does not have its own 'stand alone GUI'.