Catching Up

While you are working in the workbench, others may be releasing changes to the stream. To update the resources in your workbench, you may "catch up" with the stream.

You control when you choose to catch up with a stream and which incoming changes from a stream you want to accept into the workbench.

Incoming & Outgoing Changes

When you catch up to a stream, you will see changes that have been released to the stream since you last caught up. If you accept these incoming changes, they are incorporated into your local workbench.

If your local workbench contains any outgoing changes that conflict with incoming changes from the stream, then you must merge the conflicting changes in your local workbench as necessary.

Note: The stream itself is not changed when you catch up. When you accept incoming changes, these changes are applied to your workbench. The stream is only changed when you release your outgoing changes.

Catch Up Views

Related Topics:

  • See Team Programming Model
  • See Synchronizing
  • See Releasing
  • Structure Compare Pane

    This pane allows you to view the high-level structural differences between a repository resource and a local workbench resource.

    Source Compare Pane

    This pane allows you to see specific, line-by-line differences between a repository resource and a local workbench resource.

    Dealing with Conflicting Changes

    When catching up or releasing you may encounter conflicts.  A conflict occurs when you have locally modified a resource for which a more recent version is available in the stream. Specifically, the stream will contain a version newer than the base version of your resource. In this situation you can choose to do one of the following:

    1. You can take the change from the stream (catch up to it), discarding your local work. This could occur if you have made unintended changes locally, or if you realize that the version in the stream is better than yours. Overwriting your local changes should be done with caution since you are in essence throwing work out.

    2. You can release your change, overwriting the version in the stream. This should be done with great caution since you are in essence throwing away someone else's work.  In particular, the change you are overwriting may have other dependencies in the stream (e.g. there may be other incoming changes which depend on the conflict).

    3. You can merge your work and the stream resource, saving locally the merged resource. You may then later choose to release this merged result.

    Typically, you will want to merge (choice 3) because of the loss of work issues with choices 1&2.

    Merging Changes

    The Synchronize View indicates those resources which are in conflict with stream. For a given resource in conflict, typically you will want to merge your changes with changes in the stream's resource.

    For example, lets assume that both you and another team member have modified the same html page.  Selecting that resource in the Synchronize view will display a comparison of the local resource and the stream version.  By cycling through and merging the individual changes, you can decide for each change whether to accept the incoming change, reject it, or merge it with your local changes.  When you are finished merging, you save your changes. This overwrites your local resource with the result of the merge.  You can subsequently release this merged resource.

    You can merge differences in the Catch Up/Release view on two levels.

    Whole Document

    In the Structure Compare editor, select the resource that you want to merge, so that the resource is displayed in the Text Compare editor. In the Text Compare editor, click the Copy whole document from right to left button to entirely replace the text in your local editor with the contents of the stream resource.

    Current Change

    In the Text Compare editor, either use the Select Next Change and Select Previous Change buttons to navigate to the change that you want to merge, or simply click in either source pane somewhere in the desired change difference fragment. Click the Copy current change from right to left button as needed to overwrite the highlighted fragment either with the corresponding modification in the stream.