#author("2021-03-13T03:44:04+00:00","","")
#topicpath();

////////////////////////////////////////////////////////////////////////////////
* 目次 [#maacf98d]
#contents();

////////////////////////////////////////////////////////////////////////////////
* コマンド [#command]
//==============================================================================
** svn co <URI> / svn checkout <URI> [#za6d5742]
- 新規にリポジトリから作業コピーを取得する。
-- 取得対象を <URI> で指定する。書式は以下のようになる:
 file://     # ホスト内のパスを指定する場合
 http://
 https://
 svn+ssh://<host-name>:<path>  # ssh経由でホストとそのパスを指定する場合

//==============================================================================
** svn info [#i86933be]
- 作業コピーの情報を表示する
-- 実行例
 $ 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 [#o8fbe4a4]
- 作業コピー内の状態を表示する
-- 実行例:
 $ 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 以外のコマンドで削除されている。 |

//==============================================================================
** svn add <path> [#e7a38ede]
- 管理対象外のファイルを、新規に管理対象に加える。
- svn add 実行後、 svn ci (commit) する必要がある。


//==============================================================================
** svn ci / svn commit [#gcfc97fe]

//==============================================================================
** svn revert <file-path> [#j759eb10]
- 指定したファイルを、最終 commit の状態に復元する。

//==============================================================================
** svn log [option] [path] [#fce9c2e0]
- ログを表示する。
- オプション
|~option |~description |
|[path]  |その [path] のログのみを出力する。 |
|-v      |詳細表示。具体的には、その commit で変更されたパスの情報が追加で表示される。 |
- 作業コピーにはログの情報はないため、親となるリポジトリと通信出来ない場合はログを表示出来ない。

//==============================================================================
** svn diff [#wa9bd421]
- 差分を表示する
- 書式


//==============================================================================
** svn blame <path-to-file> [#d50853ad]
- 指定したフィルの、行単位での最終 commit 情報を出力する。

//==============================================================================
** svn help [sub-command] [#d84bcfa8]
- svn のヘルプを表示する。
- 使い方、詳細を知りたい場合は、man svn よりもこちらを見ると良い。
- 引数に [sub-command] を与えなかった場合は、svn の全般的な説明と、使用出来るサブコマンドの一覧を表示する
- 引数に [sub-command] を与えた場合は、指定したサブコマンド詳細説明を表示する



////////////////////////////////////////////////////////////////////////////////
* 参考ページ [#wb167742]
- [[Subversion メモ>http://www-aos.eps.s.u-tokyo.ac.jp/~takagi/SubversionMemo.html]]
- [[Subversion によるバージョン管理>http://subversion.bluegate.org/doc/book.html]]

////////////////////////////////////////////////////////////////////////////////
* tools [#b0d546ef]
** psvn.el (+ emacsen) [#j0d4764c]
emacsen 上でSubversionを使うツールがある。psvn.el というファイル名で、ネットで容易に手に入る。

- [[psvn.el 一次配布元>http://www.xsteve.at/prg/emacs/psvn.el]]
- [[Commentaryの和訳(www.chibutsu.org)>http://www.chibutsu.org/faf/WebWiki/column/psvn.html]]

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))

////////////////////////////////////////////////////////////////////////////////
** dsvn.el (+ emacsen) [#r313fffc]
psvn.el よりも動作が軽快。但しpsvn.el とは共存出来ないので注意。&br;
#個人的にはほとんど使っていないので参考程度(お試しで使ってみた程度)
- [[dsvn.el>http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el]]
- [[参考サイト>http://dev.ariel-networks.com/Members/matsuyama/dsvn]]

////////////////////////////////////////////////////////////////////////////////
** eSvn [#j3a34e28]
eSvnは、Linux(でも)使える、Subversionコマンド(svn)のGUIフロントエンドである(Windowsでも動作する)。
[[TortoiseSVN>http://tortoisesvn.bluegate.org/Help/dailyuseguide.html]]に慣れてしまった(元)Windowsユーザ向け、と言えなくもない。
Linuxに、GNOMEと並んで良く採用されている統合環境KDEと同じQtを使って書かれていて、動作も安定している。
但し、eSvnでsvn+ssh:// なリポジトリにアクセスしに行く場合は、コマンドラインからではなく、必ずメニューなどに登録して置いて、そこから起動する必要がある。そうしないと、パスワードを訊かれても入力するダイアログが開かない(コマンドラインで起動した場合、その起動したコンソールにパスワードを訊くプロンプトが出るが、そこからは入力が出来ない)ので、にっちもさっちもいかなくなってしまうので注意が必要である。
- 本家:[[eSvn>http://zoneit.free.fr/esvn/changelog.php]]
- 入手先:[[eSvn>https://sourceforge.net/projects/esvn/]]
- %%解説:[[Subversion/eSvn - てんぷらメモ>http://terai.xrea.jp/Subversion/eSvn.html]]%%

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS