简体   繁体   中英

How do I “undo” merging a specific change set in svn

I have the following scenario.

1) Get a local copy of a repo.

2) Undo a change set I don't want (revision 120). svn merge -c -120 .

3) Do my work modifying files.

4) Now I want to "undo" what I did in (2) without undoing all my changes from (3). Is that possible with svn?

BTW, I'm using Subversion version 1.5.2, in case that matters.

You can svn merge -c 120 . This will exactly undo svn merge -c -120 , done in (2).

You can just call svn merge -c -X on the revision created in (2). If by (3) you mean you have changes in the working tree that are not committed, you can do something like this:

 svn diff >saved.diff
 svn revert -R .
 svn merge -c -X
 patch -p0 <saved.diff

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM