新トップページへ | Tip

SVNを使うメモ

LastUpdate : 08/05/18

 CVSからSVNに移行しちゃう的な雰囲気な近年、とりあえず、SVNを使って環境構築をしてみた際の、メモです。

※今回の方針として、認証・識別にはIDとパスワードのみを使います(BASIC認証)。また、snv単体での使用は、行いません。
*tracについては、helpをみながら、全部カンでやってますので、内容が正しくない箇所があるかもしれません。注意してください

SVNの環境についてですが、svn単体で動作させることが可能です(この方法だと、すぐインストールが終わります)。それでは面白くないので、apacheを使い、リポジトリ内のデータをブラウザで見れたり、Tracと連携させてみたり、とやってみます。

インストール
svn & apacheのインストール
tracのインストール&設定 *tracについてはさわってみただけ
Ticketの登録の際選択できるオプションたちの設定方法
SVNのTip
Eclipse用プラグインのインストール

svn & apacheのインストール

 svnをapacheを経由して使用します。リポジトリをブラウザで閲覧できたりします。

手順として3つほどあります。

(1)必要なソフトウェアのインストール
(2)apacheの設定
(3)セキュリティーの設定

子面倒ですが、順番に行っていきます。

(1)必要なソフトウェアのインストール

yumを使い、必要なソフトウェアをインストールします。
yum install subversion mod_dav_svn

(2)apacheの設定

 次に、apacheの設定を行います。yumにて、mod_dav_svnというモジュールをインストールしましたので、それの設定ファイルの編集を行います。設定ファイルは以下のパスにあります(CentOSの場合)。
/etc/httpd/conf.d/subversion.conf
これに変更を加えていきます。
<Location svn>
        DAV svn
        SVNParentPath /var/svn
</Location>
とりあえず動作確認のため、上記だけを書いて、動くかどうかたしかめます。
※ ここでSVNParentPathと書いてある場所は、SVNPathと書いたりもします。ただし、SVNPathでパスを指定した場合は、リポジトリが1個しか指定できません(たぶん、リポジトリの数だけ、Locationを書いてくのかしら?)。SVNParentPathで指定を行った場合は、指定したディレクトリ以下にリポジトリを複数あることを示します・・・らしいw
そして、上で指定したディレクトリはまだ作っていませんので、これから作成をします。。
[root@svn_server svn]# cd
[root@svn_server ~]# mkdir -p /var/svn/test1
[root@svn_server ~]# svnadmin create /var/svn/test1
[root@svn_server ~]# chown -R apache /var/svn/
[root@svn_server ~]# ls /var/svn/test1/
conf  dav  db  format  hooks  locks  README.txt
[root@svn_server ~]#
リポジトリ格納用のディレクトリを作成し、svnadminコマンドで、test1をリポジトリとして作成しました。test1の中には、自動的に必要なファイルが生成されます。
では、これで、httpdを再起動させる。その後、クライアントより、ブラウザで「 http://SVNサーバのアドレス/svn/test1/ 」にアクセスします。apache経由でSVNにアクセスする場合、標準の80番ポートを使用するので、WWW用のポートをOPENの状態にしておいてください。
このよーな画面が表示されるはずです。

(3)セキュリティーの設定

 とりあえず、(2)で、リポジトリにアクセスできるようにはなっていますが、セキュリティーの設定がまだ済んでいません。当初の方針通り、BASIC認証のみを取り扱います(というか、それ以外、やったことがないので、わかりません)。

アクセス方法の設定なので、設定ファイルを変更します(/etc/httpd/conf.d/subversion.conf)。

/etc/httpd/conf.d/subversion.conf
<Location /svn>
        DAV svn
        SVNParentPath /var/svn
        SVNListParentPath on

        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /var/svn/users
        Require valid-user
</Location>
AuthType
Basic認証を行うように、Basicと設定します。
AuthName
好きな名前を入力しておきます。
AuthUserFile
ユーザ名+パスワードのファイル(htpasswdコマンドで作成する。htpasswdはapacheのツールですので、apacheがインストールされていれば入ってるはず)

これら三つを書き加え+Require項目の書き加えで、とりあえず、書き換えは完了です。

上記のsubversion.confのユーザ・パスワードファイルは/var/svn/usersというファイルを使うことを指定したので、このusersというファイルを作成します。usagiとnekoというユーザ2人が登録されているファイルを作成します。

[root@svn_server svn]# pwd
/var/svn
[root@svn_server svn]# htpasswd -c -m users usagi
New password:
Re-type new password:
Adding password for user usagi
[root@svn_server svn]# htpasswd -m users neko
New password:
Re-type new password:
Adding password for user neko
[root@svn_server svn]#

htpasswdに-cオプションを作ると、ファイルを生成します(既存のファイルはたぶん、削除されてしまった気がした)。追記していく場合は-cをはずします。-mオプションをつけるとパスワードがMD5形式になります。

上記の、subversion.confとパスワードファイルの作成が完了したならば、apacheを再起動させます。
これで、設定は完了です。htpasswdで作成したユーザ名・パスワードでアクセスができるはずです。

tracのインストール&設定

tracについては、以下のサイトを参照してください。

http://trac.edgewall.org/

 最近はやりの、svn+tracに挑戦してみたいと思います。
方針としては、trac + apache&python_module + SqLiteで、動作させたいと思います(たぶん、これが一般的な気がしないでもなくもない)。

インストール手順と、設定手順に分かれています。

(1)インストール手順
(2)設定手順
(3)認証・識別の追加
(4)ブラウザからソースをみたら、日本語が文字化けする場合

(1)インストール手順

必要なライブラリ・プログラムと、「yum list installed|grep プログラムの名前」なんかをやって、何が足りないのか、指定されたバージョンを満たしていないのかを、探していましたが、yumにてリポジトリを追加してやれば、yumでインストールできるらしいです。導入のめんどくささがネックなtracですが、これはかなりすばらすぃ。
 そのリポジトリの追加についての記述は、「 http://trac.edgewall.org/wiki/TracInstallPlatforms 」に書かれています(それぞれのディストリビューションについて、インストール方法が記述されています)。
 この中で、CentOSの記述はないですが、私の使っているCentOSは5.1なので、RHEL5のところを見てみます。
RPMforegを使えるようにして、yum install tracをすると、インストールができるんだよー、っと書いてあります。なので、とりあえず、PRMforgeのリポジトリをyumの設定ファイルに追加します。
あなたの、ディストリビューション・アーキテクチャに合った最新のrpmforge-release packageをインストールしてね、と書いてあるので、それに従います。私の環境はCentOS5.1の64Bit版なので、たぶん、RHEL5の64Bit版でOKなはず。っということで、それをインストールする。
[root@svn_server ~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
〜〜〜 中略(入力が長いと表示が崩れるため、コピペできなかったw 〜〜〜
warning: /var/tmp/rpm-xfer.qxqipX: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]
[root@svn_server ~]#
ワーニングがでていますが、なんのことやら分からないので、気にしない方向で(ぉ
また、キーのインポートは手動で行う必要はないらしいです(「  This will automatically install the configuration and GPG keys that are for safely installing RPMforge packages.  」って書いてある)
さて、これにて、yumのリポジトリが追加されてはずです(/etc/yum.repos.d/rpmforge.repo というファイルが出来る)。
しかし、RPMforgeは、それらのプログラムをインストールすると、既存のyumでインストールしているプログラムなんかを上書きしてしまったりなど、なにかしら不具合が起きる可能性があるため、通常運用では、OFFにするらしいですよ?。
 そのため、現状ではONになっているので、必要な場合のみ使うようにするため、OFFにしておきます。
/etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
#enabled = 1
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
enabledのところを1から0に変更しています。
さてはて、これで、準備が整ったため、yumでtracをインストールします。先ほど作業したRPMforgeはOFFにしてしまったため、使うように指示します(「--enablerepo=rpmforge」を付け加える)。
[root@svn_server ~]# yum --enablerepo=rpmforge install trac
〜〜〜 長いので中略 〜〜〜
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 trac                    noarch     0.10.4-1.el5.rf  rpmforge          768 k
Installing for dependencies:
 clearsilver             x86_64     0.10.4-2.el5.rf  rpmforge          296 k
 python-clearsilver      x86_64     0.10.4-2.el5.rf  rpmforge          233 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): python-clearsilver 100% |=========================| 233 kB    00:05
(2/3): clearsilver-0.10.4 100% |=========================| 296 kB    00:06
(3/3): trac-0.10.4-1.el5. 100% |=========================| 768 kB    00:25
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: clearsilver                  ######################### [1/3]
  Installing: python-clearsilver           ######################### [2/3]
  Installing: trac                         ######################### [3/3]

Installed: trac.noarch 0:0.10.4-1.el5.rf
Dependency Installed: clearsilver.x86_64 0:0.10.4-2.el5.rf python-clearsilver.x86_64 0:0.10.4-2.el5.rf
Complete!
[root@svn_server ~]#
っという感じになるはずです。

(2)設定手順

apacheにmod_pythonが組み込まれているか確認をします。
私の環境では、すでに組み込みが完了されていました。たぶん、CentOSをインストールする時点でhttpdのインストール項目のところで、mod_pythonにチェックがはいっていたのかもしれません(実際どうだったのか、忘れた)。なかったら、普通にyumでインストールできたと思いました(あやふやですが)。

 CentOSの場合、httpdの設定ファイル系は/etc/httpdにある様子です。
/etc/httpd/conf.dディレクトリの中にある設定ファイルを読み込むように、httpd.confにて設定されているため、/etc/httpd/conf.d/python.confにて、LoadModule python_module modules/mod_python.so されているため、OKかと思います。
プロジェクトを作成する
tracのツールを使い、プロジェクトを作成します。
・・・その前に、svnのリポジトリと連携させた状態で、プロジェクトを作成したいので、svnにて、何かてきとーなリポジトリを作成しておいてください。今回、私は「 test 」というプロジェクトを用意しました。リポジトリのパスは「 /var/svn/test 」です。
[root@svn_server ~]# trac-admin /var/trac/testproject initenv
〜〜〜 長いので中略 〜〜〜
Project Name [My Project]> testproject
〜〜〜 長いので中略 〜〜〜
Database connection string [sqlite:db/trac.db]>
〜〜〜 長いので中略 〜〜〜
Repository type [svn]> svn
〜〜〜 長いので中略 〜〜〜
Path to repository [/path/to/repos]> /var/svn/test
〜〜〜 長いので中略 〜〜〜
Templates directory [/usr/share/trac/templates]>
〜〜〜 長いので中略 〜〜〜
---------------------------------------------------------------------
Project environment for 'testproject' created.

You may now configure the environment by editing the file:

  /var/trac/testproject/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 /var/trac/testproject

Then point your browser to http://localhost:8000/testproject.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://trac.edgewall.org/

Congratulations!

[root@svn_server ~]#

 と、こんな感じで、プロジェクトのページを作成します。途中、プロジェクトの名前、データベース接続のための文字列、リポジトリの形式、リポジトリのパス、テンプレートに使うファイルのパス、を聞かれます。特別設定する必要のあるのは、プロジェクトの名前と、リポジトリの形式、リポジトリのパス、ぐらいだと思います。それ以外は何も入力せずエンターキーでOKみたいです(※ trac-adminの次にしているパスは、tracのプロジェクトのファイルの格納先です。好きな場所を指定してください。)。

 まず、いきなり、apacheで動かさず、スタンドアロンサーバ(tracd)にて、ちゃんと動くかどうかテストを行います。
[root@svn_server ~]# tracd --port 8000 /var/trac/testproject/
として、tracdを動かします。そして、ブラウザにて、「 http://192.168.11.68:8000/ 」と打ち込み、ページが表示されるか確認を行います(8000番ポートを使うので、8000番ポートをOPENにして下さい)。
(※ tracdに指定している/var/trac/testprotect/ は、tracのプロジェクトのディレクトリです(上記のtrac-adminにて、指定したパス))
これでダメなら、どこか設定などを変えないと動かないと思います。

 続いて、apacheで動かすための設定を行います。
/etc/httpd/conf/httpd.conf ファイルを以下の設定を追加します(Locationの引数がどのパスにアクセスした際、これを表示するのかを指定しています)。
<Location "/projects/testproject">
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/trac/testproject
        PythonOption TracUriRoot /projects/testproject
</Location>
httpd.confに上記の設定を加え(好きなところでOK・・・だったと思いましたが・・・)ます。
現在の設定のままだと、tracのプロジェクトのデータ格納先のファイル所有者がrootのため(今までrootで作業を行っているため)、ファイルの所有者をapacheに変更します( chown -R apache /var/trac/ とかやる。)。
パーミッションの変更が終わったら、httpdを再起動させます。

 そして「 http://サーバのアドレス/projects/testproject 」でアクセスすると、以下のように表示されるはずです。

(3)認証・識別の追加
 現在のままでは、誰でもアクセス可能な状態になっています。識別・認証がしたい場合は、設定が必要です。
nekoとusagiというユーザのパスワードファイルを作成します。ファイルの位置はてきとーです。分かりやすい場所に・・・
[root@svn_server trac]# pwd
/var/trac
[root@svn_server trac]# htpasswd -c -m htpasswd neko
New password:
Re-type new password:
Adding password for user neko
[root@svn_server trac]# htpasswd -m htpasswd neko
New password:
Re-type new password:
Updating password for user neko
[root@svn_server trac]#
htpasswdというファイルに、neko,usagiという二人のユーザのID・パスワードが書き込まれたファイルを作成しました。このファイルの位置はとりあえず、/var/trac/htpasswdにしました。

そして、ログインページについての設定を/etc/httpd/conf/httpd.confファイルに追加します。
<LocationMatch "/projects/[^/]+/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /var/trac/htpasswd
        Require valid-user
</LocationMatch>
こんな感じのものを追加します。tracのページでログインというリンクを押すと プロジェクトの名前/login というところにアクセスするので、その設定です(と、私は思ってやってるw)。

そして、tracには細かくユーザごとに権限の付与したりしなかったりが可能みたいです。現在の権限付与の状態を表示してみます(Actionの欄に表示されているのが権限の名前です。)。
[root@svn_server trac]# trac-admin /var/trac/testproject/ permission list

User       Action
--------------------------
anonymous  BROWSER_VIEW
anonymous  CHANGESET_VIEW
anonymous  FILE_VIEW
anonymous  LOG_VIEW
anonymous  MILESTONE_VIEW
anonymous  REPORT_SQL_VIEW
anonymous  REPORT_VIEW
anonymous  ROADMAP_VIEW
anonymous  SEARCH_VIEW
anonymous  TICKET_CREATE
anonymous  TICKET_MODIFY
anonymous  TICKET_VIEW
anonymous  TIMELINE_VIEW
anonymous  WIKI_CREATE
anonymous  WIKI_MODIFY
anonymous  WIKI_VIEW


Available actions:
 BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW,
 MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY,
 MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY,
 REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW,
 TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY,
 TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE,
 WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW

[root@svn_server trac]#

とりあえず、上記で追加したnekoに管理者権限を与えます。

[root@svn_server trac]# trac-admin /var/trac/testproject permission add neko TRAC_ADMIN
[root@svn_server trac]# trac-admin /var/trac/testproject/ permission list

User       Action
--------------------------
anonymous  BROWSER_VIEW
anonymous  CHANGESET_VIEW
anonymous  FILE_VIEW
anonymous  LOG_VIEW
anonymous  MILESTONE_VIEW
anonymous  REPORT_SQL_VIEW
anonymous  REPORT_VIEW
anonymous  ROADMAP_VIEW
anonymous  SEARCH_VIEW
anonymous  TICKET_CREATE
anonymous  TICKET_MODIFY
anonymous  TICKET_VIEW
anonymous  TIMELINE_VIEW
anonymous  WIKI_CREATE
anonymous  WIKI_MODIFY
anonymous  WIKI_VIEW
neko       TRAC_ADMIN


Available actions:
 BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW,
 MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY,
 MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY,
 REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW,
 TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY,
 TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE,
 WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW

[root@svn_server trac]#
TRAC_ADMINは全権限をもっている、という意味らしいです。これでnekoは管理者権限が与えられました(与える権限の名前はAvailable actionsの中から選ぶ)。
デフォルトの状態ではanonumousでも、結構いろいろなことが出来てしまいます。

次に、権限を取り上げる方法についてメモしておきます。
trac-admin <tracのファイルの場所> permission remove <ユーザ名前> <権限>

例 → trac-admin <tracのファイルの場所> permission remove neko TICKET_ADMIN
また、ユーザ名・権限のところに*を指定可能。*を指定した場合、すべてを意味する(ユーザの場合、全ユーザ、権限の場合、全権限)
※上記のnekoを「 trac-admin /var/trac/testproject/ permission remove neko TRAC_ADMIN 」とすると、nekoがいなくなります。


次に、識別・認証されたユーザのみ、アクセス可能のように設定を行います。
httpd.confの設定にて、ログインページについて設定したかと思います(<LocationMatch "/projects/[^/]+/login">の項目の追加)。これをログインのページのみではなく、tracのプロジェクトのページ全体にかけてしまおうという方法です。上のほーで書いた、/etc/httpd/conf/httpd.confにてログインページの設定を以下の様に変更しました
#<LocationMatch "/projects/[^/]+/login">
<LocationMatch "/projects/testproject">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /var/trac/htpasswd
        Require valid-user
</LocationMatch>
プロジェクトのパスそのものに対してマッチングさせています。これで、アクセスすると、ID・パスワードの入力を求められます。/var/trac/htpasswdに記されているユーザ・パスワードでなければアクセスできません。

また、プロジェクトが増えた際には、この項目をひとつ追加して、LocationMatchを、もうひとつ追加して、LocationMatchの引数のパスの変更、AuthUserFileを新しく作成してやれば、同じことが出来ます。
気分の問題ですが、anonymousの権限はすべてキャンセルした状態にしたいですね。authenticatedにTRAC_ADMINとか(いきなりTRAC_ADMNを与えるのもどうかと思いますが)の権限を与えた状態にしたり・・・(ちなみに、anonumousとauthenticatedは特別で、前者は未認証のアクセスすべてを、後者は認証されているアクセスすべてを表すらしい)。
 ちなみに、この方法だと、アクセスし、ID、パスワードを入力し、識別・認証されると、ログインした状態になっています。
(4)ブラウザからソースをみたら、日本語が文字化けする場合
いろいろと仕組みはある様子で・・・。正直、完璧には把握できてないです。ごめんなさいtt
まぁ・・・とりあえず・・・の話なんですが、utf-8以外の文字コードで書かれたものの場合、tracのプロジェクトディレクトリ(今までの例だと、/var/svn/test)の中の設定ファイルにて、文字コードを変更してやります。
conf/trac.iniファイルの編集を行います。
99行目あたりに、
default_charset = iso-8859-15
という記述がありますので、この文字セットを(たとえば、Windows版Eclipseを使っている場合MS932となっていると思います。ほぼshift_jisと正しくマップされていたと思ったので、まぁ・・・通常は問題なかろーと・・・)
default_charset = shift_jis
に置き換えます。
これだけで完璧かというと、そういうわけでもない様子・・・。コミットするときに、文字コードを統一して(必ずUTF-8にする・・・など)ここで、default_charsetにutf-8を指定するなどしたほうが、よさそうです(個人的に、これが一番単純で分かりやすい解決方法かもしれません)。

※ pythonのバージョンによって、日本語codecが付属している、していない、という状況があるそうです。2.4以上ならば付属している・・・とのことです。私の環境では、pythonは2.4のため、上記の設定をするだけでOKの様子です。

Ticketの登録の際選択できるオプションたちの設定方法

 Ticketの登録画面は以下のような感じです。

こんな感じで、選択可能な箇所が5個ほどあります。それぞれの分類用に作ってある様子ですが、プロジェクトごとに独自のポリシーをもって運用していくんじゃなかろーかと思います。

で、そのときに、任意にそれぞれのコンボボックスの内容を追加したり削除したいわけです。Type , Priority , Milestone , Component , Version のそれぞれのコンボボックスの選択項目の追加・削除について、書いています(実際に私がやってみた方法)。
「 trac-admin --help 」とやると、コマンドの例がでます。基本的にこれをみてやってます。

*対象のtracのプロジェクトのパスを /var/trac/testproject とします。

Typeの追加・削除・変更・一覧表示
追加 → [root@svn_server ~]# trac-admin /var/trac/testproject/ ticket_type add その他
削除 → [root@svn_server ~]# trac-admin /var/trac/testproject/ ticket_type remove その他
変更 → [root@svn_server ~]# trac-admin /var/trac/testproject/ ticket_type change task task1
一覧 → [root@svn_server ~]# trac-admin /var/trac/testproject/ ticket_type list
Priorityの追加・削除・変更・一覧表示
追加 → [root@svn_server ~]# trac-admin /var/trac/testproject/ priority add normal
削除 → [root@svn_server ~]# trac-admin /var/trac/testproject/ priority remove normal
変更 → [root@svn_server ~]# trac-admin /var/trac/testproject/ priority change minor minor1
一覧 → [root@svn_server ~]# trac-admin /var/trac/testproject/ priority list
Milestoneの追加・削除・変更・一覧表示
< これは、Milestoneの画面から追加・削除できるので、省略 >
Componentの追加・削除・変更・一覧表示
追加 → [root@svn_server ~]# trac-admin /var/trac/testproject/ component add com1 1san (1sanはコンポーネントのオーナーです)
削除 → [root@svn_server ~]# trac-admin /var/trac/testproject/ component remove com1
変更 → [root@svn_server ~]# trac-admin /var/trac/testproject/ component rename com1 com2
一覧 → [root@svn_server ~]# trac-admin /var/trac/testproject/ component list
Versionの追加・削除・変更・一覧表示
追加 → [root@svn_server ~]# trac-admin /var/trac/testproject/ version add 9.2 (オプションで、後ろに "2008-05-11"など日付が指定できる(ダブルコーテーションで囲むこと。ソート順序に使われているっぽいが、それ以外なにで使うのかは分かりませんでした))
削除 → [root@svn_server ~]# trac-admin /var/trac/testproject/ version remove 2.0
変更 → [root@svn_server ~]# trac-admin /var/trac/testproject/ version rename 12 12.0 (12 を 12.0 に変更)
変更 → [root@svn_server ~]# trac-admin /var/trac/testproject/ version time 11.2 "2008-06-10" (version11.2にtimeをつけます。)
一覧 → [root@svn_server ~]# trac-admin /var/trac/testproject/ version list

Eclipse用プラグインのインストール

svnをEclipseより使用するためのプラグインの一つとして、subclipseというプラグインがあります。詳細は以下のページを見てください。

http://subclipse.tigris.org/

上記アドレスのサイト内に画面キャプチャつきのわかりやすいインストール方法がありますので、基本的にこれをみていれば、間違いないです(アドレス → http://subclipse.tigris.org/install.html)。

ただし、このページ内にも記述されていますが、使用しているEclipseのバージョンによって、インストールするプラグインのバージョンが異なります。使用しているEclipseのバージョン(サードパティにより拡張されたものを使っている場合は、ベースにしているEclipseのバージョンをみればいいのではと・・・)をあらかじめ調べておく必要があります。

 さて、私が使っているのはEclipse3.3.2なので、subclipseは1.2系をインストールすることになります。
プラグインのインストール方法は普通のEclipseのプラグインインストール方法と同じです。

 メニューから [ヘルプ]→[ソフトウェア更新]→[検索とインストール] より、[インストールする新規フューチャーを検索]を選択し、「新規リモート・サイト」ボタンを押下し、出てきたダイアログにて、名前は好きな文字を入力し(subclipseとかわかりやすいのが、やっぱり無難)、URLに、「 http://subclipse.tigris.org/update_1.2.x 」を入力し「OK」ボタンを押下します。
 これで、一覧にSubclipseという項目が加わったはずです。チェックボックスにチェックがついているかを確認し、「終了」ボタンを押下します。
 すると、次の画面で、Subclipseのどのモジュールをインストールするのか、選択を求められます。「Subclipse Plugin」と「Integrations」がありますがIntegrationsのほうはオプションです。

 こんな感じで、Eclipse用のプラグインのみ、インストールを行わせます(「次へ」ボタンを押す)。
 すると、ダウンロードが開始され、しばらく待つと、署名されてませんがインストールしますか?的なメッセージがでてきます。ここで、しないを選択すると、悲しいことになるので、とりあえず、インストールします。この署名警告について、http://subclipse.tigris.org/install.htmlのStep9にてふれられています。
 そして、Eclipseが再起動をし、インストール完了です(一応、再起動するかしないか問い合わせダイアログはでてきますが)。

 これで、SVNをEclipseより使えるようになりました。Subclipseのパースペクティブを開いて使用します。[ウインドウ]→[パースペクティブを開く]→[その他]より、「SVNリポジトリー・エクスプローラ」を選択すれば、パースペクティブが開きます。

※svnサーバにアクセスしようとしても、接続が出来ない場合・・・!
 サーバ側のファイヤーウォールの設定を確認する(apache経由ならば80番ポートがOPENになっているかどうかを確認する)。
 マシンにインストールしているファイヤーウォールの設定を確認する。eclipseの外部との通信を拒否設定になっていないか確認を!!(←これで、ハマったw