Memo/Subversion/Install

https://dexlab.net:443/pukiwiki/index.php?Memo/Subversion/Install
 

インストール

はじめに

特徴

  • UTF-8ベースで管理しています。(日本語との親和性が高い)
  • Subversion は、ディレクトリやファイルの変更履歴を保持します。CVS はファイルに対する変更しか保持しません。
  • HTTP、HTTPS、そしてSSH でのアクセスと認証機構をサポートしています。
  • Subversion はリポジトリにあるファイルやディレクトリに関連するメタデータ情報の履歴も保持できます。
  • 各ファイルのリビジョン管理だけでなく、プロジェクト全体から見たリビジョンの管理もできます。
  • バイナリで差分を作成します。CVSはバイナリ効率が悪いです。
  • WebDAVでリポジトリを公開できます。
  • manやhelpも日本語化されています(v1.2.1で確認)

サーバインストール

  • Fedora Core 1 の場合
  1. 既にパッケージが入っている場合は削除
    # apt-get remove mod_dav_svn
    # apt-get remove subversion
  2. パッケージの取得
  1. インストール
    # rpm -ivh subversion-1.2.1-0.1.1.fc1.rf.i386.rpm
    # rpm -ivh subversion-devel-1.2.1-0.1.1.fc1.rf.i386.rpm
    # rpm -ivh mod_dav_svn-1.2.1-0.1.1.fc1.rf.i386.rpm
  2. svnのルートを設定
    # svnadmin create --fs-type=fsfs /home/svnroot
    # htpasswd -cm /home/svnroot/.htpasswd test
    # chown -R apache:apache /home/svnroot
  3. SELinuxを使用している場合
    # chcon -R system_u:object_r:httpd_sys_content_t /home/svnroot
  4. 設定ファイルの編集
    # vi /etc/httpd/conf.d/subversion.conf

    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    
    <Location /svn/repos>
       DAV svn
       SVNPath /home/svnroot
    
       # Limit write permission to list of valid users.
       <LimitExcept GET PROPFIND OPTIONS REPORT>
          # Require SSL connection for password protection.
          # SSLRequireSSL
    
          AuthType Basic
          AuthName "Authorization Realm"
          AuthUserFile /home/svnroot/.htpasswd
          Require valid-user
       </LimitExcept>
    </Location>
  5. httpdの再起動
    # service httpd restart
  6. ブラウザでアクセスしてみる
    http://SERVER_NAME/svn/repos
    svn.png

クライアントインストール

TortoiseSVN.png

  1. 本体のインストール
  2. 言語パックのインストール
  3. オプションの設定
    • 自動置換

      「$Id: 4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt 81 2010-03-03 18:03:21Z dex $」「$Id: 4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt 81 2010-03-03 18:03:21Z dex $」 や 「$Revision: 81 $」「$Revision: 81 $」を自動置換させる事ができる。
      今はクライアントでは設定せずに、インポート後、サーバ側で設定する方が良いようだ。スペルミスでした。
      「 File not found: "svn-mime-type.txt" at page "Memo/Subversion"[添付]」を参考に。

  • クライアント側 例:(*.phpに属性を自動付加する場合)
    「;」(セミコロンで複数オプション指定可能)
    TortoiseSVN -> 設定 -> 一般 -> Subversionの設定ファイル:編集
    
    [miscellany]
    enable-auto-props = yes
    [auto-props]
    *.php = svn:keywords=Id Revision
    Linuxの場合
    vi ~/.subversion/config
  • サーバ側
    svn checkout http://SERVER_NAME/svn/repos
    svn propset svn:keywords "Id Revision" *.php
    svn commit
    一気に設定するには
    $ svn propset svn:keywords "Id" `find . \( -name .svn -prune \) -o -type f -print | xargs grep -l '\$Id:'`
    $ svn commit
  • デフォルトキーワード
Date
このキーワードはファイルがリポジトリ中で修正された最後の時刻 をあらわし、$Date: 2010-03-04 03:03:21 +0900 (Thu, 04 Mar 2010) $のようなものです。これは LastChangedDateと指定することもできます。
Revision
このキーワードは、ファイルがリポジトリで変更された最後のリビジョン をあらわし、$Revision: 81 $のようなものです。これは LastChangedRevisionまたは Revと省略することもできます。
Author
このキーワードはリポジトリ中のこのファイルを最後に変更したユーザ をあらわし、$Author: dex $のようなものです。これは LastChangedByと省略することもできます。
HeadURL
このキーワードはリポジトリ中のファイルの最後のバージョン に対する完全なURLをあらわし、 $HeadURL: https://192.168.1.5/svn/dexlab/trunk/htdocs/pukiwiki/wiki/4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt $ のようなものです。これはURLと省略する こともできます。
Id
このキーワードは、他のキーワードの圧縮された組み合わせです。 その置き換えは、 $Id: 4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt 81 2010-03-03 18:03:21Z dex $のようなもので、ファイル calc.c が最後に変更されたのは リビジョン148 で、時間は July 28, 2002 の夜、変更した人は、 sallyであることを意味しています。

添付ファイル: filesvn.png 693件 [詳細] fileTortoiseSVN.png 698件 [詳細] filesvn-mime-type.txt 440件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (94d)