Knowledgebase

Search:     Advanced search

No Files to Rebase in Surround SCM

Article ID: 666  |  Last updated: 23 Dec, 2014

Problem

Surround SCM returns the following message when you rebase a branch or file, even if the contents of a file in the parent and child branches are different:

There are no files to rebase.

This occurs when you perform a rebase to re-sync the parent and child branches to make the files identical.

Cause

Rebasing detects and merges changes made in one branch with another branch. It does not copy file contents from branch to branch.

Rebasing only applies new changes to branches. An internal flag tracks the file version that was last rebased from. If a file version in the parent branch is flagged because it was already rebased to the child branch, the file cannot be rebased until the file version changes in the branch it was rebased from. It does not matter if the file contents are different.

The following scenarios explain how this situation can occur.

Scenario 1—A file with identical contents exists in parent and child branches. You make a change to the file in the child branch and check it in. The file is now different in the parent and child branches. You decide not to keep the change in the child branch. You rebase the child branch to return the files to their original contents, and Surround SCM indicates there are no files to rebase.

Scenario 2—After checking in a file to a child branch, you promote the branch. The files are now identical in the parent and child branches. You decide you do not want to make the changes and roll back the file in the child branch to the version prior to the promote. The file is now different in the parent and child branches. You rebase the child branch to return the files back to their original contents, and Surround SCM indicates there are no files to rebase.

In both scenarios, the file contents are different in the branches, but the files in the parent branch have not been changed since the last rebase. There are no new changes in the parent branch that need to be applied to the files in the child branch.

Solution

Sync files between two branches instead of rebasing. Use the Branch Differences window to view the differences between branches and copy files to the child branch to sync them with the parent branch.

To open the Branch Differences window, select the parent branch and choose Branch > Branch Differences. Select the child branch as Branch 2 and click OK. Select a file with differences in the parent branch and click Copy. A new version with the same contents as the parent branch is checked in to the child branch.

Note: If several files are affected, you can rollback promotes and rebases to undo changes. When you rollback promotes and rebases, the file version number increments even though the contents are the same as a previous file version.

Article ID: 666  |   Last updated: 23 Dec, 2014
Tags
rebase

Prev   Next
Setting Up the Surround SCM Proxy Server     Surround SCM Unix Default Directories, Commands, and...