1

I am working on a module of a large project. The repository's directory structure is designed in such a way that each module has separate branches/tags/trunk folders.

module 1
    - branches
    - tags
    - trunk

module 2
    - branches
    - tags
    - trunk

module 3
    - branches
    - tags
    - trunk

On the development machine(Windows XP), we have to club the files from various modules in an all together different folder structure(even files from different modules are in same directory).

Now my problem is how to keep such type of development project folder under version control? Right now what I am doing is that I keep a separate checkout of my module and whenever I change any thing in the development folder, I copy the file to the checkout folder and then commit it from there. But I something so that I can directly commit from the development folder as in the current setup there are chances that I may miss something.

EDIT: Note: I cannot change the directory structure of the repository.

Ravi Gupta
  • 6,258
  • 17
  • 56
  • 79

3 Answers3

2

I've got a similar project running just fine with SVN externals. Create a master project that has no files of its own, but has a svn:externals declaration like:

^/module1/trunk module1
^/module2/trunk module2
^/module3/trunk module3

If you check out the master project, your desired directory structure will be checked out along.

thiton
  • 35,651
  • 4
  • 70
  • 100
1

This is not an answer to the question, more of a sidenote which is too long for a comment

IMO that is a wrong project structure. Since you already merge the modules on your PC you should do that in SVN as well. It should be like so:

- branches
    project
      module1
      module2
      module3
- tags
    project
      module1
      module2
      module3
- trunk
    project
      module1
      module2
      module3

Alternatively look at including module2/3 as externals to module1 svn (e.g. Add external project to subversion repository)

Community
  • 1
  • 1
Kromster
  • 7,181
  • 7
  • 63
  • 111
  • actually I cannot change the that ...I don't have sufficient privileges to do so. I have also update the question to include that also. – Ravi Gupta Nov 21 '11 at 07:53
0

as Krom pointed out, this may not be the best way to structure your code in the repo, but if you cannot change it, I could suggest using a simple batch script to do the checkout for you.

that way, you only have to run the script to take care of checking out all the files you need from multiple location, and you will still retain svn information.

Then when you change any of the files on your working copy, all you have to do is check them out, no need to worry about their location on the repo.

btw, that script could even be stored in svn, for other developers to use and for your Build Server and so on..

fduff
  • 3,671
  • 2
  • 30
  • 39