views:

27

answers:

1

Hi, I'm looking at a way to have a subversion repository to be basically a copy of another subversion repository, except a few files from the other repository that I want to override.

Basically, I would want to achieve something like this:

/
- branches/
  - mybranch/ = if files are added in /trunk, they get added here
    - file1 = latest rev of /trunk/file1
    - file2 = latest rev of /trunk/file2
    - file3 = unique, versioned file that belongs to mybranch only
    - dir1/ = if files are added in /trunk/dir1, they get added here
      - file4 = latest rev of /trunk/dir1/file4
      - file5 = unique, versioned file that belongs to mybranch only
- trunk/
  - file1
  - file2
  - file3
  - dir1/
    - file4
    - file5

(This is all on the same repo, but this shouldn't be relevant) The final objective being that when someone checks out mybranch, they get all the code (trunk + the differences that mybranch contains), not just the code specific to mybranch. The most attractive solution would be to use svn:externals, but would it work on directories? (That is, if a file called file6 is added to trunk, would it be added to mybranch automatically too?)

If a branch isn't the correct approach, what would be? (I'm not asking for the correct way to use a branch, I'm asking for the correct way to get what I described, whether it involves a branch or not.)

A: 

There is no simple completly unattended way of doing what you wish. Such a "filter" sounds tempting though.

Closest thing to a duplicate of your question is this: http://stackoverflow.com/questions/3754459/subversion-svnexternals-file-override/3785904#3785904

Christoph Strasen