# Committing

You can commit Workbench resources that you have modified to the repository so that other team members can see your work. Only those changes committed on that branch will be visible to others working on that branch. The commit command can be issued from two places: the Team > Commit menu, or the Synchronize view.

To commit changes using Team > Commit:

1. In the Navigator view, select the resources that you want to commit.
2. Right-click on the resources and select Team > Commit from the pop-up menu.
3. In the Commit Comment dialog box, provide a comment for your changes (for example, `Fixed the spelling mistakes`).

If there are conflicting changes on any files that are committed in the above fashion, the operation will fail. If this occurs, you must either perform an update or use the Synchronize view to resolve the conflicts. It is considered a more ideal workflow to always update before committing in order to ensure that you have the latest state of the repository before committing more changes.

If one or more of the resources being committed are new and not yet added to CVS control, you will be prompted to add these resources before the commit is performed. You can choose to add all, some or none of the new resources to CVS control before performing the commit. Any resources that are not under CVS control will not be committed. Committing from the Synchronize view also prompts if there are new resources.

To commit changes in the Synchronize view:

1. In the Navigator view, select the resources that you want to commit.
2. Right-click to open the pop-up menu and select Team > Synchronize with Repository. The Synchronize view will open.
3. On the toolbar of the Synchronize view, select the Outgoing mode button to show any modified Workbench resources (outgoing changes) that you may have.
4. If there are conflicts (red arrows), resolve them. To do so. open them in a Compare editor and use the text compare area to merge resources with conflicts. You can copy changes from the repository revision of the file to the Workbench revision of the file and save the merged Workbench resource. Once all the conflicts in the Structure Compare area have been resolved, perform a Mark as Merged on the resource in the Synchronize view to make the chaneg an outgoing change and you are ready to commit.
5. In the Structure Compare pane, right-click the top of the hierarchy that you want to commit, and select Commit from the pop-up menu.
6. In the Commit Comment dialog box, provide a comment for your changes (for example, `Fixed the spelling mistakes`).

Tip: You can commit files that are in conflict by performing an Override and Commit. This will commit the Workbench copy of the resource into the repository and thus remove any of the incoming changes.

Warning: The behavior of the Override and Commit command described above only applies to the outgoing mode of the Synchronize view. In the Incoming/Outgoing mode of the view, the behavior for outgoing changes and conflicts is the same but the command will revert incoming changes to whatever the local Workbench contents are. Exercise great caution if using this command in incoming/outgoing mode.

Team programming with CVS
CVS Repositories
Branches
Synchronizing with a CVS repository

Updating
Resolving conflicts
Comparing resources
Version control life cycle: adding and ignoring resources

CVS
Synchronize view