Rebasing Workspaces

Rebasing (merging) a Workspace is applying the changes that were made in the parent Workspace (as a result of deliveries by other Workspaces that have branched off the same parent) into the current Workspace.

Only the owner of the Workspace can perform the rebase process for that Workspace.

You can perform the rebase process only after you perform the checkpoint operation on at least the first version of the Workspace. If you attempt to perform the rebase process for a Workspace that has no changes in its parent Workspace, then there is nothing to rebase and a message similar to the following will be returned: The rebase failed with error: No changes found to rebase/deliver/checkpoint.
Note: When rebasing a Developer Workspace, undetected name conflicts can occur and allow duplicate records at the child, grandchild, and great grandchild level. This happens, for example, in the following scenario.
  1. An Integration Workspace INT_1 with a child Developer Workspace branches off MAIN or a parent Integration Workspace. For this example, assume the parent branch is MAIN/1.
  2. Another Integration Workspace INT_2, also a child of MAIN/1, and its child Developer Workspace adds a Field User Property in a Business Component. The new Business Component Field User Property record is the grandchild level (BC -> Field -> Field User Property).
  3. INT_2 delivers to MAIN creating MAIN/2.
  4. INT_1 has no knowledge of this change, and the developer adds the exact same change in the Developer Workspace under INT_1.
  5. INT_1 rebases with MAIN/2 to get the latest changes but, because the changes delivered from INT_2 were at the grandchild level, the name conflict is not detected, and duplicate records are inserted into the Developer Workspace under INT_1.

To avoid this, do the following. This will prevent duplicate records from being inserted into the rebased Workspace during the rebase process.

  • Add a new System Property with these properties.
    1. Name: Enable DeepHierarchy In Rebase
    2. Value: True

To rebase a Workspace

  1. In the Workspace Dashboard, click Rebase on the Workspace Toolbar.

    The Rebase Workspace dialog that opens contains the following fields: From Workspace, To Workspace, Merge Status, and a Start Rebase button.

  2. Click Start Rebase to start the rebase process.

    A rebase process bar appears in the Merge Status section.

  3. Confirm that (or wait until) the rebase process bar shows the process is completed.

    When the rebase process completes successfully, a Rebase Completed message appears in the Merge Status section. The status of the Workspace is updated to Rebase-in-Progress and the version of the Workspace is incremented by 1.

  4. If there is any conflict, a Resolve Conflicts button appears in the Rebase Workspace dialog, which you must click to resolve the conflicts.

    Note: If you open a Workspace that is in a Rebase-in-Progress state, you will not be able to edit the Workspace-enabled objects. In this state, users must select Merge Reports from the Workspace menu to view and resolve any conflicts as a result of the rebase. If the default conflict resolution taken by the rebase is acceptable, then click Finish to publish any rebased objects into the rebased Integration Workspace. For more information, see Detecting Conflicts in Workspaces and Applying Resolutions.
  5. In the Workspace Dashboard, click Finish on the Merged Workspaces applet to complete the merge process.

    Alternatively, click Cancel to cancel the merge process. The Workspace will be reverted to the last checkpointed version and its status is set to Checkpointed.

    Note: If you are the owner of the Workspace, you can set the Override option and use the Finish or Cancel buttons in the Merged Workspaces applet for that Workspace.
  6. After you click Finish, enter comments in the Enter Comment dialog and then click OK.

    A message appears confirming the completion of the merge process.

    Note: If you close the Merged Workspaces applet without clicking Finish while the Workspace status is Rebase-In-Progress, then you cannot do any object changes until you resolve the conflicts by clicking Finish or clicking Cancel to cancel the merge process. You can reopen the Merged Workspaces applet by selecting Merge Reports from the Workspace menu.
  7. Click OK on the confirmation message that appears.

    After the Rebase process in completed successfully:

    • The status of the Workspace is updated to Checkpointed. In My Workspaces, the version of the Workspace is incremented by one and the comments that you previously entered are also displayed.

    • Workspace resolution is set to the From Version value by default. When you click the Finish button, the value of From Version is saved in your Workspace. If you select the Override option, then the Workspace resolution changes to To Version and the value of To Version is saved in your Workspace when you finish the rebase process.

      Note: While checking the Override flag, keep in mind that you are overwriting other users' changes that are already checked into the MAIN Workspace. Therefore, use this option carefully. For details on various errors and conflict scenarios during the deliver and rebase processes, see Detecting Conflicts in Workspaces and Applying Resolutions.