Search code examples
mavensvnbranching-and-mergingdirectory-structure

SVN move command and old branches


We would like to restructure the current directory structure of our project to be maven compliant and planning to do an "svn move" for each directory. The restructuring is planned to be done on the "trunk".

There are branches under active development that are not ready to be merged with trunk yet. Does svn track the previous locations of the files/directories and maps them? How will the "move" affect the merging later on?

Does this have to be a "stop the world" scenario? Have all branches merged with trunk, stop the development, change the directory layout on the trunk, then have everyone branch of the trunk to continue development?

Any suggestions, ideas are highly appreciated! Thank you!


Solution

  • Does svn track the previous locations of the files/directories and maps them?

    No,svn move doesn't track the previous locations of the moved files/directories, because it is equivalent to an svn copy followed by svn delete.

    How will the "move" affect the merging later on?

    Your branches in active development might modifies files/directories that will not exist at the time of merging because they will have been moved, so lots of tree conflicts are highly probable.

    Does this have to be a "stop the world" scenario? Have all branches merged with trunk, stop the development, change the directory layout on the trunk, then have everyone branch of the trunk to continue development?

    This surely turn down the difficult in merging lots of conflict.

    I guess the hard point here is assessing how long an active development branch might be waiting the completion of such heavy merge.