Difference between revisions of "Undoing-a-commit"
From BRL-CAD
(Adding a clear example of backing out an unintentional commit) |
(finish first cut at the example) |
||
Line 6: | Line 6: | ||
... revision: 9999 | ... revision: 9999 | ||
− | We want to "uncommit" the change. But if we don't want to lose the changes we made, we either need to copy the changed file(s) to an unversioned directory or save the differences before we commit the merged changes. | + | We want to "uncommit" the change. But if we don't want to lose the changes we made, we either need to copy the changed file(s) to an unversioned directory '''before''' we do the merge or save the differences '''before''' we commit the merged changes. |
First get the URL of the trunk (shortened example): | First get the URL of the trunk (shortened example): | ||
Line 21: | Line 21: | ||
Last Changed Rev: 9999 | Last Changed Rev: 9999 | ||
Last Changed Date: 2012-05-23 15:10:33 -0500 (Wed, 23 May 2012) | Last Changed Date: 2012-05-23 15:10:33 -0500 (Wed, 23 May 2012) | ||
+ | |||
+ | Save the changed file(s) if desired. | ||
Do the merge: | Do the merge: | ||
$ svn svn merge -r9999:9998 https://brlcad/svnroot/trunk | $ svn svn merge -r9999:9998 https://brlcad/svnroot/trunk | ||
+ | U test_vls.c | ||
Check that the trunk has changed to the state before the bad commit: | Check that the trunk has changed to the state before the bad commit: | ||
Line 31: | Line 34: | ||
... | ... | ||
− | + | Save the diffs if desired. | |
+ | |||
+ | Commit the change ('''caution''': this will undo local changes that were originally committed!): | ||
+ | |||
+ | $ svn commit -m "Undoing change committed in r9999." | ||
+ | Sending test_vls.c | ||
+ | Transmitting file data . | ||
+ | Committed revision 10000. |
Revision as of 17:27, 23 May 2012
Undoing an svn commit
Sometimes one may inadvertently commit a change that was not intended. For example:
$ svn ci test_vls.c ... revision: 9999
We want to "uncommit" the change. But if we don't want to lose the changes we made, we either need to copy the changed file(s) to an unversioned directory before we do the merge or save the differences before we commit the merged changes.
First get the URL of the trunk (shortened example):
$ svn info Path: . URL: https://brlcad/svnroot/trunk Repository Root: https://brlcad/svnroot Repository UUID: 2f96ce8b-6d43-0410-b8df-bffccc660ffb Revision: 9999 Node Kind: directory Schedule: normal Last Changed Author: tom Last Changed Rev: 9999 Last Changed Date: 2012-05-23 15:10:33 -0500 (Wed, 23 May 2012)
Save the changed file(s) if desired.
Do the merge:
$ svn svn merge -r9999:9998 https://brlcad/svnroot/trunk U test_vls.c
Check that the trunk has changed to the state before the bad commit:
$ svn diff ...
Save the diffs if desired.
Commit the change (caution: this will undo local changes that were originally committed!):
$ svn commit -m "Undoing change committed in r9999." Sending test_vls.c Transmitting file data . Committed revision 10000.