It's all about the answers!

Ask a question

How get (erroneous) baselines created by the SVN import wizard?


Steffen Weik (346) | asked Dec 10 '13, 5:49 a.m.
I have a SVN repository that is structured like the one in the following example:

component
    branches
        branch1
        branch2
    tags
        branch1
            tag1.1
            tag1.2
        branch2
            tag2.1
        tag_on_trunk
    trunk
other_component
    ...

Imagine that each of the leaf folders above contains several eclipse projects. Several issues occur when importing that repository into SCM:
  1. The importer creates two baselines for every tag created for trunk instead of one
    Thereby the second baseline contains one additional change set that should not be part of the baseline corresponding to the tag.
  2. The importer does not correctly recognize the tags on branches. There are two cases:
    1. only one tag for a branch
      The importer creates a baseline named like the branch instead of the tag
      possible solution: rename manually, but one has to recognize that this case occured (checking whether there is only one tag existing or not and it must not be confused with a tag taken for the trunk)
    2. more than one tag exists for a branch
      The importer creates a single baseline marked as "partial" which has to be extended by additional imports. Each of this imports afford a lot of manual work, including creation of new workspaces with the appropriate component's baseline included and rerunning the wizard.
  3. During import process, the wizard shows any tag (tag1) created for a branch (b1) inside the trunk (e.g. "trunk/tag1"), additionally to its proper place at "tags/b1/tag1"
    I can ignore these artificial folders, but perhaps this has anything to do with the other issues?
  4. The situation gets stranger when renaming occurs, see this question.
Does anyone know how these erroneous baselines arise? Do you have any advise how to solve these problems?

Comments
Steffen Weik commented Dec 17 '13, 6:17 a.m.

I could provide a small svndump but do not know how to attach a file here, any hints about that?

One answer



permanent link
Michael Valenta (3.6k3) | answered Dec 17 '13, 8:29 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
The SVN importer was written expecting the repository layout of

trunk
  folder1
tags
  tag1
     folder1
  tag2
     folder1
     folder2
branch
  branch1
     folder1
  branch2
     folder1
     folder2

Your structure differs from that so the importer is being thrown off. The import should work as expected for branches but will not create the baselines you would like for your tags. This difference in structure is also contributing to what you are seeing in point 3. Suffice it to say that the importer relies a bit too heavily on the assumption that the above pattern is used to organize the repository.

Comments
Steffen Weik commented Dec 19 '13, 11:11 a.m.

I understand that the baselines for the tags on the branches are not created correctly. We will have to decide whether it is worth the effort to migrate those tags / branches manually or not.

But I do not understand how the duplicated baselines arise on trunk. Those are created in the same way as you stated it. And "svn log -v" shows a commit that contains an add-action into tags stated to stem from trunk.
Currently I only see that we have to correct the import manually. But how can I move a change set into a different baseline, and then delete the wrong ones?


Your answer


Register or to post your answer.