含有章节索引的中文 文章模板
-- hoxide [2004-08-15 23:26:13]
emacs中的subversion
简述
安装
- 下载psvn.el,
可以在http://xsteve.nit.at/prg/emacs/psvn.el或http://svn.collab.net/repos/svn/trunk/contrib/client-side/psvn/psvn.el(StefanReichoer)找到最新版.
配置
- 如前所述,在.emacs里加入:
(load "d:/emacs/site-lisp/psvn.el")
使用
- svn的emacs接口与rcs,cvs的接口不太一样不能用C-x v v等操作,而是通过 M-x svn-status 进入一个类似目录管理的界面,这个界面的有关键邦定:
;; g - 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' ;; V - svn-status-resolved run 'svn resolved' ;; U - svn-status-update-cmd run 'svn update' ;; c - svn-status-commit-file run 'svn commit' ;; a - svn-status-add-file run 'svn add' ;; + - svn-status-make-directory run 'svn mkdir' ;; R - svn-status-mv run 'svn mv' ;; C-d - svn-status-rm run 'svn rm' ;; M-c - svn-status-cleanup run 'svn cleanup' ;; b - svn-status-blame run 'svn blame' ;; RET - svn-status-find-file-or-examine-directory ;; ^ - svn-status-examine-parent ;; ~ - svn-status-get-specific-revision ;; E - svn-status-ediff-with-revision ;; 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 ;; 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 ;; . - 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 ;; 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 ;; h - svn-status-use-history ;; q - svn-status-bury-buffer
上面的纯粹是从psvn.el的代码里抄出来的, 可以看的资料实在不多, 如果想深入了解,还是那句话---看代码.
svn的菜单
- 在svn-status模式下,emacs会有一个svn菜单,汇集了几乎所有的svn命令.
commit
- 同样缩写是ci,svn里面叫commit,cvs里也叫commit.用起来其实差不多,执行commit命令后会出现一个编辑窗口要求输入日志,输完日志后怎么吧它传给svn,困惑了我半天,后来用了一下VC才根据mini-buffer的提示才知道原来是C-c C-c,在svn里面也是这个命令(居然没提示,偶这只菜鸟想了半天:P).
同时处理多个文件
- svn-status下add了一堆文件后做commit. 嗯?怎么只能commit一个文件? 回头看了一下少得可怜的帮助,发现有个mark功能,试试吧所有要ci的文件全mark,然后在ci,果然可以了,ci一堆文件.