Migrating svn repo from standard layout to custom layout in same project

Presently we have the current structure:

http://<companyname>.jira.com/svn/<project-name>/{trunk,tags,branches}

Standard stuff for a single project repository.

However, we'd like to move from this structure to something more flexible, while still remaining under the same project. So for example something more like this:

http://<companyname>.jira.com/svn/<project-name>/module1/{trunk,tags,branches}
http://<companyname>.jira.com/svn/<project-name>/components/component1/{trunk,tags,branches}
http://<companyname>.jira.com/svn/<project-name>/components/component2/{trunk,tags,branches}

Hopefully, you get the point. In other words, we want a heck of a lot more flexibility to adjust where the source code is for our various modules/components while remaining under a single project umbrella.

My questions are the following:

  1. Is it possible to migrate our existing structure to the newly proposed one without have to start fresh, etc?
  2. What are the problems with this type of approach?
  3. What kind of integration issues with FishEye and Crucible do we need to watch out for?
  4. Would we need to submit tickets for this to get accomplished?

Thanks

Derek

1 answer

0 votes

A support engineer can change a FishEye repository's configuration from:

  • https://<companyname>.jira.com/svn/<project-name>/{trunk,tags,branches}

to:

  • https://<companyname>.jira.com/svn/<project-name>/<moduleX>/{trunk,tags,branches}

but not any other layout.

There are two ways to change your existing SVN structure to the new one:

  1. Simply creating the necessary module directory and 'svn mv'ing your code into place; or
  2. Dumping the repo, rewriting paths through the repo's history (using something like svn-dump-reloc) and importing it again.

The problem with #1 is that your history pre-move won't be handled properly, which may or may not be an issue for you. The problem with #2 is that it's much more complicated and, depending on the complexity of your existing structure, may not be workable. Although if it does work, your history will be handled properly.

Since you can dump and import your SVN repository without needing to go through Support, the only ticket you would need to raise would be for changing FishEye's configuration, presumably once your dump had already been prepared and verified locally, ready for import.

What component causes this restriction? I guess my question is that if we were hosting our own subversion repository we could use any structure we desired. So what is the piece that is holding this up on your side of the fence? Why can this work with FishEye and SVN outside of OnDemand and not inside?

Suggest an answer

Log in or Sign up to answer
Community showcase
Published 19m ago in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

10 views 0 1
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you