1

I have a SVN repo that has a structure that does not line up with the needed relative build paths.

The SVN repo directory looks kinda like this

  1. root
    • alpha
      • trunk
        • p1
        • p2
        • p3
      • tag
      • branch
    • bravo
      • trunk
        • p4
        • p5
        • p6
      • tag
      • branch

The build directory structure that I need is

  1. root
    • p1
    • p2
    • p3
    • p4
    • p5
    • p6

I would like to be able to keep the SVN structure alone, largely because I have no real ability to adjust it. I would also like it that if another thing is added to a trunk, say p7 in alpha, that the build directory would automatically have that added to it. In order for the build to work, I would need to be able to from inside p1, issue a command like cd ../p2/ and have it move into the p2 folder.

I think some form of linking is the route I need but I'm a bit lost as to how to approach this.

Thanks in advance.

0

One way to do this (using only SVN) is to create a third project under root, call it "build". It could have a trunk, tags, branches as normal if you like. Inside the "build" project you could keep your makefile or whatever, but mostly "build" would just have an svn:externals rule to pull in all the required components (and at the appropriate revision). Then you can create whatever directory structure you like while leaving the normal repository locations alone.

A big drawback of this method, is it becomes more difficult to build changes before you commit them. But you can still accomplish this by working your changes out of the "build" working copy with a temporary modification to the svn:externals if needed to pull in the HEAD instead of a specific revision.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.