file:// # ホスト内のパスを指定する場合 http:// https:// svn+ssh://<host-name>:<path> # ssh経由でホストとそのパスを指定する場合
$ svn info パス: . Working Copy Root Path: /home/user-name/work/svn/devel URL: svn+ssh://127.0.0.1/home/user-name/work/svn_repos/devel Relative URL: ^/ リポジトリのルート: svn+ssh://127.0.0.1/home/user-name/work/svn_repos/devel リポジトリ UUID: 499b9f36-9277-442f-a6fa-65a94d53d8f6 リビジョン: 102 ノード種別: ディレクトリ 準備中の処理: 特になし 最終変更者: user-name 最終変更リビジョン: 102 最終変更日時: YYYY-DD-MM HH:MM:SS +0900 (YYYY年MM月DD日 (曜日))
$ svn st M test/c++/funcptr/Makefile ? test/c++/funcptr/Makefile.bkup
mark | description |
---|---|
A | svn add で追加された(未commit)。 |
C | 管理対象。コンフリクトしている。 |
D | 管理対象。svn rm で削除されている(未commit)。 |
I | 無視。 |
M | 管理対象。最終 commit の状態から内容に変更がある。 |
R | 管理対象。リプレースされた。 |
X | |
? | 管理対象外。 |
! | 管理対象。svn 以外のコマンドで削除されている。 |
option | description |
---|---|
[path] | その [path] のログのみを出力する。 |
-v | 詳細表示。具体的には、その commit で変更されたパスの情報が追加で表示される。 |
emacsen 上でSubversionを使うツールがある。psvn.el というファイル名で、ネットで容易に手に入る。
psvn.el の便利なところの一つは、M-x:svn-status とした後、リポジトリとの修正差分を比較・編集したいときに、リスト中の対象ファイル名の上にカーソルを合わせて "E" とTypeするとediffモードで差分の比較・編集が行えるところである。
emacsen使いなら、Subversionクライアントに関しては、これ一つがあれば十分であろう。 一時期、XEmacsでは動作しなかったが、現在では emacs, XEmacs どちらでも問題なく動作する。
${HOME}/.emacs (XEmacsの場合は、${HOME}/.xemacs/init.el)には、次のように記述する:
(setq svn-status-svn-environment-var-list '("LC_MESSAGES=C")) ; commit時など、日本語になってしまうと少々厄介なので (load-library "~/.xemacs/psvn.el") ; psvn.el を、${HOME}/.xemacs/psvn.el に置いた場合 ;;(setq process-coding-system-alist (cons '("svn". euc) process-coding-system-alist))
bindings | command | description |
---|---|---|
M-x svn-status | 'svn -status -v'を実行し, 結果をsvn-statusバッファに表示する | |
g | svn-status-update: | 'svn status -v'を実行 |
C-u g | svn-status-update: | 'svn status -vu'を実行 |
= | svn-status-show-svn-diff | 'svn diff'を実行 |
l | svn-status-show-svn-log | 'svn log'を実行 |
i | svn-status-info | 'svn info'を実行 |
r | svn-status-revert | 'svn revert'を実行 |
V | svn-status-resolved | 'svn resolved'を実行 |
U | svn-status-update-cmd | 'svn update'を実行 |
c | svn-status-commit-file | 'svn commit'を実行 |
a | svn-status-add-file | 'svn add --non-recursive'を実行 |
A | svn-status-add-file-recursively | 'svn add'を実行 |
+ | svn-status-make-directory | 'svn mkdir'を実行 |
R | svn-status-mv | 'svn mv'を実行 |
C-d | svn-status-rm | 'svn rm'を実行 |
M-c | svn-status-cleanup | 'svn cleanup'を実行 |
b | svn-status-blame | '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 よりも動作が軽快。但しpsvn.el とは共存出来ないので注意。
#個人的にはほとんど使っていないので参考程度(お試しで使ってみた程度)
eSvnは、Linux(でも)使える、Subversionコマンド(svn)のGUIフロントエンドである(Windowsでも動作する)。 TortoiseSVNに慣れてしまった(元)Windowsユーザ向け、と言えなくもない。 Linuxに、GNOMEと並んで良く採用されている統合環境KDEと同じQtを使って書かれていて、動作も安定している。 但し、eSvnでsvn+ssh:// なリポジトリにアクセスしに行く場合は、コマンドラインからではなく、必ずメニューなどに登録して置いて、そこから起動する必要がある。そうしないと、パスワードを訊かれても入力するダイアログが開かない(コマンドラインで起動した場合、その起動したコンソールにパスワードを訊くプロンプトが出るが、そこからは入力が出来ない)ので、にっちもさっちもいかなくなってしまうので注意が必要である。