Pergunta

I looked at how to create trunk directory in existing svn repo without a trunk and move all, and it might be applicable, however, I have a "trunk" but the manner in which the developer, a senior one at that, imported the project to the svn repos may provide a difference worth review.

It appears, looking at the log, that the developer locally created a svn tree, a trunk/branches/tags directory, created all the files in the branches directory, then on the initial import to svn, committed trunk and tags as part of the branches commit.

This means there's no history of a copy to a branch. The log, in near-fidelity, is:

% cd work
% mkdir -p project/trunk project/branches project/tags
% cd project/branches
... begin a bunch of work on a java service v1.0
... happy lets import to svn
% cd ..
% pwd project
% svn import -m"Initial import"
A branches
A branches/file-n
A branches/file-n ...
A tags
A trunk
Sending...
Committed rn
% svn mv $repos/project $repos/project_name
...
Committed rn

So svn merge does not really work here. trunk is part of the initial commit, history is not really allowing a clean merge.

Could I use the copy and commit suggestion above? Or is there another way that is necessary in this case?

Foi útil?

Solução

I solved this with a combination of a couple of things here at SO.

Ultimately, a move would not have worked for our organization's build process. This would have kept the branch history on trunk, but left the branch empty. Our builds would not have liked that.

I instead copied the files to the trunk directory, sans .svn directories of course, via svn export and committed them.

Now, some might say, you just lost history. I'm not so sure about that. The history of the branch is still there, and a new branch was created from trunk. The previous branch remains active and can be retired is process allows, tagged EOL, etc.

Feedback welcome.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top