Using Subversion from Emacs
Emacs has a menu for CVS which offers things like
- checking in the file you are working on
- updating the file you are working on
- getting previous versions of the file you are working on
- comparing different versions of a file
There is an emacs plugin for svn called psvn.el. Unfortuntately it doesn't work from the menu. Below is are the instructions on how to use it.
the important things are
- to do any svn command on a file you must first do this: escape-X svn-status.
- once you have done that, you can issue commands. the most useful are
| U | svn update |
|---|---|
| c | svn commit (this pops up a buffer for your comment. ctrl-c ctrl-c to finish) |
| "~" | get specific version (ignore the quotes: wiki workaround) |
| E | use ediff on a specific version |
to install psvn.el add this to your .emacs file
(require 'psvn)
This is the help from the psvn.el file
;; To use psvn.el put the following line in your .emacs: ;; (require 'psvn) ;; Start the svn interface with M-x svn-status ;; psvn.el is an interface for the revision control tool subversion ;; (see http://subversion.tigris.org) ;; psvn.el provides a similar interface for subversion as pcl-cvs for cvs. ;; At the moment the following commands are implemented: ;; M-x svn-status: run 'svn -status -v' ;; and show the result in the *svn-status* buffer. This buffer uses ;; svn-status mode in which the following keys are defined: ;; 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 --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' ;; 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 ;; * 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 ;; 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




