#author("2022-01-04T17:29:25+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] を与えた場合は、指定したサブコマンド詳細説明を表示する //////////////////////////////////////////////////////////////////////////////// * 参考リンク [#link] //////////////////////////////////////////////////////////////////////////////// * 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]]%%