I have two working copies of the same project, each switched to a different branch. Is it possible to merge local changes in one project to the other working copy?
3 Answers
You can't merge two separate working copies, but there are some things you can do.
If the changes are made to existing files, the easiest way is to create a patch with svn diff
, and then just apply that patch to the other working copy. Eg. in the first working copy you do:
svn diff > patch
And then you apply it in the other one:
patch -p0 < patch
And as usual you want to run patch
with the --dry-run
option to make sure it works first.
However if the branches don't have the same file layout, then you can't just take a patch and apply it. In this case what you need to do is simply just first commit the other local changes, and then use svn merge
as usual

- 55,302
- 10
- 87
- 77
-
Is `patch` also a svn command? It looks like it is not installed on my Windows machine. – Mot Aug 25 '10 at 09:41
-
Nope, patch is just a generic tool for applying patch files. You can get it for windows here: http://gnuwin32.sourceforge.net/packages/patch.htm – reko_t Aug 25 '10 at 09:55
-
4You can patch from the TortoiseSVN right click menu if you use TortoiseSVN. – Albin Sunnanbo Aug 25 '10 at 11:36
-
Does TortoiseSVN works also for externals, e.g. if I have changes in the (outer) working copy and some in a nested external working copy? – Mot Aug 26 '10 at 06:26
You could create a patch on one working copy (svn diff
) and apply it to the other one (patch
).
http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

- 10,269
- 4
- 46
- 64
If your changes include deletions, using GNU patch won't cut it. If you want the changes committed to both branches, commit them in one, then svn merge those changes to the other branch. If you did the changes in branch A and need them in branch B instead, svn switch your branch A working copy to branch B.

- 12,119
- 5
- 32
- 34