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?
问题:
回答1:
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
回答2:
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/
回答3:
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.