psvn:一个emacs的插件,官方有比较详细的介绍:http://www.xsteve.at/prg/vc_svn/,不过是E文的。
当然也可以看这里(中文的):http://lifegoo.pluskid.org/wiki/EmacsSubversion.html和http://emacser.com/svn-status-mode-line.htm
首先下载命令行的subversion,下载地址在这里(到官方下载还要注册。。。):http://www.open.collab.net/files/documents/60/3564/CollabNetSubversion-client-1.6.12-1.win32.exe,安装。
然后到这里下载psvn.el。
最后在你的.emacs配置文件中加入下面两行:
;; psvn
(require 'psvn)
C-x v v | 提交代码 |
C-c C-c | 确认提交 |
C-x v = | 弹出一个 buffer 显示你自从上次 commit 之后所做的改变 |
C-x v u | 丢弃上次更改 |
C-x v d | 打开工作目录 |
C-x v l | 查看修改日志 |
C-u C-x v = RET RET RET | 查看两个版本之间的区别 |
C-x v ~ 1 RET | 查看第一个版本 |
M-p | 在写日志的时候显示上一次的日志 |
M-x vc-update | 更新当前文件(从SVN中Update) |
M-x vc-resolve-conflicts | 消除冲突标记 |
用 M-x svn-status 来打开一个 svn-status 的 buffer,这个 buffer 处于 svn-status mode 中,可用的命令如下:
g
- svn-status-update:
run 'svn status -v'
M-s
- svn-status-update:
run 'svn status -v'
C-u g - svn-status-update:
run 'svn status -vu'
=
- svn-status-show-svn-diff
run 'svn diff'
l
- svn-status-show-svn-log
run 'svn log'
i
- svn-status-info
run 'svn info'
r
- svn-status-revert
run 'svn revert'
X v
- svn-status-resolved
run 'svn resolved'
U
- svn-status-update-cmd
run 'svn update'
M-u
- svn-status-update-cmd
run 'svn update'
c
- svn-status-commit
run 'svn commit'
a
- svn-status-add-file
run 'svn add --non-recursive'
A
- svn-status-add-file-recursively
run 'svn add'
+
- svn-status-make-directory
run 'svn mkdir'
R
- svn-status-mv
run 'svn mv'
D
- svn-status-rm
run 'svn rm'
M-c
- svn-status-cleanup
run 'svn cleanup'
b
- svn-status-blame
run 'svn blame'
X e
- svn-status-export
run 'svn export'
RET
- svn-status-find-file-or-examine-directory
^
- svn-status-examine-parent
~
- svn-status-get-specific-revision
E
- svn-status-ediff-with-revision
X X
- svn-status-resolve-conflicts
s
- svn-status-show-process-buffer
e
- svn-status-toggle-edit-cmd-flag
?
- svn-status-toggle-hide-unknown
_
- svn-status-toggle-hide-unmodified
m
- svn-status-set-user-mark
u
- svn-status-unset-user-mark
$
- svn-status-toggle-elide
w
- svn-status-copy-filename-as-kill
DEL
- svn-status-unset-user-mark-backwards
* !
- svn-status-unset-all-usermarks
* ?
- svn-status-mark-unknown
* A
- svn-status-mark-added
* M
- svn-status-mark-modified
* D
- svn-status-mark-deleted
* *
- svn-status-mark-changed
.
- svn-status-goto-root-or-return
f
- svn-status-find-file
o
- svn-status-find-file-other-window
v
- svn-status-view-file-other-window
I
- svn-status-parse-info
V
- svn-status-svnversion
P l
- svn-status-property-list
P s
- svn-status-property-set
P d
- svn-status-property-delete
P e
- svn-status-property-edit-one-entry
P i
- svn-status-property-ignore-file
P I
- svn-status-property-ignore-file-extension
P C-i - svn-status-property-edit-svn-ignore
P k
- svn-status-property-set-keyword-list
P y
- svn-status-property-set-eol-style
P x
- svn-status-property-set-executable
h
- svn-status-use-history
q
- svn-status-bury-buffer
C-x C-j - svn-status-dired-jump