Common Version Control Operations
Some operations are similiar across different version control systems and are supported in Wing by common commands. There are some variations among these from one version control system to another (for example, the add operation in CVS is not recursive), but there are more similarities than differences and the operations should perform as they do on the command line.
The commit operation copies changes in the local file system to the version control repository that the files are associated with. The repository might be entirely local in distributed systems such as git or bzr or it may be on a server in centralized systems such as Subversion or CVS.
The tool shown for a commit operation has a several tabs that contain the commit message, the diffs for this commit, the list of files eligible for the commit, and the results once the commit is run. The Files tab may be used to select files for the commit by un-checking files that should not be committed.
The common operation Commit Project can be used to run the commit operation against all the files in the project.
The diff operation displays a tool with the differences between files on the local file system and files in the repository. The diff appears in the tool itself and the right-click context menu may be used to copy the diff text, goto the source for a particular section of the diff, or run the diff command again.
The status operation displays a tool with the status of files in the scope of the command. The files are displayed as a tree by default, but may also be displayed as a flat list by right-clicking and selecting View as List. To the left of the file name, there is an icon to indicate if the file has been modified (or added or removed), has a conflict, is locked, or is not registered. Unregistered files are omitted from the status view by default. They can be shown by right-clicking on the tool and selecting Show Unregistered.
The common operation Project Status can be used to run the status operation against all the files in the project. This requires that files or directories managed by the selected version control system have alreadya been added to the project.
This operation displays a list of all the revisions, with commit comments, for the files that are in the scope of the command.
The add operation registers a file or directory to be added in the next commit.
The remove operation requests that a file or directory be removed in the next commit.
This operation will dispose of any local changes and revert the local files to match the current revision in the repository.