If you want to discard your current set of changes and revert to the
last version checked in, use C-x v u (vc-revert-buffer
).
This leaves the file unlocked; if locking is in use, you must first lock
the file again before you change it again. C-x v u requires
confirmation, unless it sees that you haven't made any changes since the
last checked-in version.
C-x v u is also the command to unlock a file if you lock it and then decide not to change it.
To cancel a change that you already checked in, use C-x v c
(vc-cancel-version
). This command discards all record of the
most recent checked-in version. C-x v c also offers to revert
your work file and buffer to the previous version (the one that precedes
the version that is deleted).
If you answer no, VC keeps your changes in the buffer, and locks the file. The no-revert option is useful when you have checked in a change and then discover a trivial error in it; you can cancel the erroneous check-in, fix the error, and check the file in again.
When C-x v c does not revert the buffer, it unexpands all version control headers in the buffer instead (see section Inserting Version Control Headers). This is because the buffer no longer corresponds to any existing version. If you check it in again, the check-in process will expand the headers properly for the new version number.
However, it is impossible to unexpand the RCS `$Log$' header automatically. If you use that header feature, you have to unexpand it by hand--by deleting the entry for the version that you just canceled.
Be careful when invoking C-x v c, as it is easy to lose a lot of work with it. To help you be careful, this command always requires confirmation with yes. Note also that this command is disabled under CVS, because canceling versions is very dangerous and discouraged with CVS.
Go to the first, previous, next, last section, table of contents.