I just started working on some changes against trunk on an SVN repo, thinking they would be somewhat small. Now, I actually am beginning to realize that I probably should have just started a new branch instead. Rather than making a branch, and then moving each individual piece into it, is there any way to make a new branch and then commit the changes in my working copy to it?
views:
145answers:
3
+2
Q:
Is there any way to commit changes that I've made to my SVN checkout of trunk to a branch instead?
+6
A:
- make a new branch from the place where you started developing
- switch to the newly created branch
- commit the local changes (will commit to the new branch)
DO NOT MAKE ANY CHECKOUT
I do it with svn 1.6.5, it works without trouble but if you are really paranoid you could do following:
- create a patch from current working copy
- create a branch
- switch to it
- apply the patch
- commit
jdehaan
2009-10-03 18:41:32
The only problem is that branching from my working copy never seems to work well for me. I suppose I should try the second set of steps.
Jason Baker
2009-10-03 18:50:55
Actually branching can be done without working copy. If you use TortoiseSvn for example with the repository browser or from command line.
jdehaan
2009-10-03 19:12:07
I wanted to post a reference but svnbook.red-bean.com seems to be unreachable at the moment at least from europe...
jdehaan
2009-10-03 19:15:51
This worked perfectly for me (along with wcoenen's advice to svn up).
Jason Baker
2009-10-05 14:31:13
+1
A:
What about creating a patch from your current work with svn diff
, then making a new branch, and applying the patch to the branch with patch -p0
?
Alex Martelli
2009-10-03 18:42:23
+2
A:
You can directly branch the state of your working copy to a URL with the svn copy
command. The created branch will include the local modifications.
Some gotchas:
- you may get errors stating something
like "File already exists". This is
caused by a mismatch of base revisions in
your working copy, more specifically between a file and its parent folder. One
possible solution
is to do a
svn update
before attempting to branch in this way. - after the
svn copy
, the working copy will be unchanged. It will still point to the trunk. It will also still show the local modifications in its status. You should first revert these modifications, whether you continue using the working copy as is or switch it to the new branch.
Wim Coenen
2009-10-04 00:16:54