如何使用 version control (SVN)将版本回退到指定的revision?

C-x v + (vc-update) 会update至最新revision,但有时候需要做版本回退,该如何操作呢?

C-x v l 会显示所有历史版本, 在你想要查看的版本上按 f 会打开这个版本的文件, 然后用这个版本的内容替换就好

我使用的 backend 是 svn,貌似直接在对应的版本上按 f,对文件是ok的,但是如果是目录,就会出现warning.

如果每次都只能对单个文件回退,那样效率好低。

version control 原生似乎是不支持你想要的操作 emacs 下magit 对git 有很好的包装, 如果你熟悉git 你可以试着用git来管理svn仓库

git svn clone svn://url

在你的仓库下运行magit-status 打开magit status buffer

然后 l l列出日志记录 在你想要回滚的版本上按v magit-revert-no-commit 并确认后当前状态应该就是对应版本号上的状态 你回到magit-status中,会看到有些修改未提交的文件,然后提交这些文件即可

另外? 是帮助键 可以提示你相应的快捷键如