CodeCraft tips
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
UNIX/Subversion
をテンプレートにして作成
開始行:
* UNIX/Subversion [#g1f8a074]
** リポジトリ生成 [#xb2d3776]
svnadmin create --fs-type fsfs リポジトリディレクトリ
~
** リポジトリ移行 [#ucc819a4]
1.3リポジトリから1.4リポジトリ等
svnadmin dump リポジトリディレクトリ > リポジトリダンプ...
svnadmin create --fs-type=fsfs リポジトリディレクトリ
svnadmin load リポジトリディレクトリ < リポジトリダンプ...
~
** 環境設定 [#e4b6e11f]
-ディレクトリ作成~
mkdir /etc/subversion/conf/
mkdir /etc/subversion/hooks/
mkdir /etc/subversion/hook-scripts/
~
-/etc/subversion/passwd.default~
複数リポジトリで共通で使用するpasswdファイルを用意する。~
[users]
username1 = password1
username2 = password2
username3 = password3
~
-/etc/subversion/conf/svnserve.conf~
passwd.defaultファイルを使用するように変更したsvnserve.co...
リポジトリ生成スクリプトでコピーする。~
realmも自動に設定できるように、置換用キーワードを埋め込ん...
[general]
anon-access = none
auth-access = write
password-db = /etc/subversion/passwd.default
realm = {REPOSITORY_NAME}
~
** tagsへのコミット防止HOOKスクリプト [#pa94cc7f]
-/etc/subversion/hooks/pre-commit~
pre-commit.tmplをsvnperms.pyを使用するように変更。~
また、リポジトリ生成スクリプトで使用するの置換用キーワー...
#!/bin/sh
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" > /...
if [ $? -ne 0 ]; then
echo "error: There isn't comment." >&2
exit 1
fi
/etc/subversion/hook-scripts/svnperms.py -r "$REPOS" -t ...
# All checks passed, so allow the commit.
exit 0
~
-/etc/subversion/hook-scripts/svnperms.py~
スクリプト本体。~
subversionをインストールしたらどこかにあると思われる。~
cp -p どこかのディレクトリ/svnperms.py /etc/subversion/h...
~
-/etc/subversion/conf/svnperms.conf~
svnperms用の設定ファイル。~
リポジトリ構成が/project-name/{trunk,tags,branches}の場合~
[tagrestrict]
.*/ = *(add,remove,update)
trunk/.* = *(add,remove,update)
tags/[^/]+/ = *(add,remove)
branches/[^/]+/.* = *(add,remove,update)
リポジトリ構成が/{trunk,tags,branches}/project-nameの場合~
[tagrestrict]
trunk/.* = *(add,remove,update)
tags/.*/ = *(add,remove)
branches/.* = *(add,remove,update)
~
** リポジトリ生成スクリプト [#f301663e]
-svnrepcr.sh~
次の処理を行うスクリプトです。~
・リポジトリ生成。~
・trunk/tags/branchesのインポート。~
・リポジトリディレクトリへ/etc/subversion/{conf,hooks}の...
#!/bin/sh
### 引数チェック
if [ "$1" = "" ]; then
echo "usage : svnrepcr.sh [REPOSITORY-DIR]"
echo
echo "ex. svnrepcr.sh /var/data/svn/category/newreposi...
exit 0
fi
REPOSITORY_DIR=$1
### 環境設定
umask 0002
ETC_DIR=/etc/subversion
REPOSITORY_NAME=`basename ${REPOSITORY_DIR}`
### リポジトリ生成
svnadmin create --fs-type=fsfs ${REPOSITORY_DIR}
### リポジトリ初期登録
TEMP_DIR=`mktemp -d`
mkdir ${TEMP_DIR}/trunk
mkdir ${TEMP_DIR}/branches
mkdir ${TEMP_DIR}/tags
svn import ${TEMP_DIR} file://${REPOSITORY_DIR} -m "Init...
rm -rf ${TEMP_DIR}
### リポジトリ環境設定
cp ${ETC_DIR}/conf/* ${REPOSITORY_DIR}/conf/
sed "s/{REPOSITORY_NAME}/${REPOSITORY_NAME}/" ${ETC_DIR}...
sed "s:{REPOSITORY_DIR}:${REPOSITORY_DIR}:" ${ETC_DIR}/h...
chmod +x ${REPOSITORY_DIR}/hooks/pre-commit
echo "create repository done."
~
** ユーザー環境設定 [#vf2cc036]
*** 置換キーワードの設定 [#j82fea33]
-C:\Documents and Settings\user\Application\Subversion\co...
[miscellany]
enable-auto-props = yes
[auto-props]
*.java = svn:eol-style=native;svn:keywords=Id Date Autho...
この設定により、JavaDoc等に
/**
* @author $Author$
* @version $Revision$ $Date:: 2008-05-26 19:06:45 +0900 $
*/
と記述した場合、次のように置換される。
(Dateは文字化け対策のため、始めから置換した形で記述する...
/**
* @author $Author: user $
* @version $Revision: 1173 $ $Date:: 2008-05-26 19:06:4...
*/
ただし、この設定はファイル新規追加時にしか効果がない。~
既にSubversion管理下のファイルに、上記の設定を反映させる...
~
*** Eclipse上でSubversion管理下ファイルの設定を変更する。...
フォルダ、ファイルを右クリック-->チーム-->プロパティの設定~
プロパティ名 :svn:eol-style~
プロパティの内容:native~
プロパティ名 :svn:keywords~
プロパティの内容:Id Date Author Rev URL~
~
** 関連ページ [#s308afb5]
-[[Debian GNU Linux/3.1 sarge/Subversion]]
終了行:
* UNIX/Subversion [#g1f8a074]
** リポジトリ生成 [#xb2d3776]
svnadmin create --fs-type fsfs リポジトリディレクトリ
~
** リポジトリ移行 [#ucc819a4]
1.3リポジトリから1.4リポジトリ等
svnadmin dump リポジトリディレクトリ > リポジトリダンプ...
svnadmin create --fs-type=fsfs リポジトリディレクトリ
svnadmin load リポジトリディレクトリ < リポジトリダンプ...
~
** 環境設定 [#e4b6e11f]
-ディレクトリ作成~
mkdir /etc/subversion/conf/
mkdir /etc/subversion/hooks/
mkdir /etc/subversion/hook-scripts/
~
-/etc/subversion/passwd.default~
複数リポジトリで共通で使用するpasswdファイルを用意する。~
[users]
username1 = password1
username2 = password2
username3 = password3
~
-/etc/subversion/conf/svnserve.conf~
passwd.defaultファイルを使用するように変更したsvnserve.co...
リポジトリ生成スクリプトでコピーする。~
realmも自動に設定できるように、置換用キーワードを埋め込ん...
[general]
anon-access = none
auth-access = write
password-db = /etc/subversion/passwd.default
realm = {REPOSITORY_NAME}
~
** tagsへのコミット防止HOOKスクリプト [#pa94cc7f]
-/etc/subversion/hooks/pre-commit~
pre-commit.tmplをsvnperms.pyを使用するように変更。~
また、リポジトリ生成スクリプトで使用するの置換用キーワー...
#!/bin/sh
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" > /...
if [ $? -ne 0 ]; then
echo "error: There isn't comment." >&2
exit 1
fi
/etc/subversion/hook-scripts/svnperms.py -r "$REPOS" -t ...
# All checks passed, so allow the commit.
exit 0
~
-/etc/subversion/hook-scripts/svnperms.py~
スクリプト本体。~
subversionをインストールしたらどこかにあると思われる。~
cp -p どこかのディレクトリ/svnperms.py /etc/subversion/h...
~
-/etc/subversion/conf/svnperms.conf~
svnperms用の設定ファイル。~
リポジトリ構成が/project-name/{trunk,tags,branches}の場合~
[tagrestrict]
.*/ = *(add,remove,update)
trunk/.* = *(add,remove,update)
tags/[^/]+/ = *(add,remove)
branches/[^/]+/.* = *(add,remove,update)
リポジトリ構成が/{trunk,tags,branches}/project-nameの場合~
[tagrestrict]
trunk/.* = *(add,remove,update)
tags/.*/ = *(add,remove)
branches/.* = *(add,remove,update)
~
** リポジトリ生成スクリプト [#f301663e]
-svnrepcr.sh~
次の処理を行うスクリプトです。~
・リポジトリ生成。~
・trunk/tags/branchesのインポート。~
・リポジトリディレクトリへ/etc/subversion/{conf,hooks}の...
#!/bin/sh
### 引数チェック
if [ "$1" = "" ]; then
echo "usage : svnrepcr.sh [REPOSITORY-DIR]"
echo
echo "ex. svnrepcr.sh /var/data/svn/category/newreposi...
exit 0
fi
REPOSITORY_DIR=$1
### 環境設定
umask 0002
ETC_DIR=/etc/subversion
REPOSITORY_NAME=`basename ${REPOSITORY_DIR}`
### リポジトリ生成
svnadmin create --fs-type=fsfs ${REPOSITORY_DIR}
### リポジトリ初期登録
TEMP_DIR=`mktemp -d`
mkdir ${TEMP_DIR}/trunk
mkdir ${TEMP_DIR}/branches
mkdir ${TEMP_DIR}/tags
svn import ${TEMP_DIR} file://${REPOSITORY_DIR} -m "Init...
rm -rf ${TEMP_DIR}
### リポジトリ環境設定
cp ${ETC_DIR}/conf/* ${REPOSITORY_DIR}/conf/
sed "s/{REPOSITORY_NAME}/${REPOSITORY_NAME}/" ${ETC_DIR}...
sed "s:{REPOSITORY_DIR}:${REPOSITORY_DIR}:" ${ETC_DIR}/h...
chmod +x ${REPOSITORY_DIR}/hooks/pre-commit
echo "create repository done."
~
** ユーザー環境設定 [#vf2cc036]
*** 置換キーワードの設定 [#j82fea33]
-C:\Documents and Settings\user\Application\Subversion\co...
[miscellany]
enable-auto-props = yes
[auto-props]
*.java = svn:eol-style=native;svn:keywords=Id Date Autho...
この設定により、JavaDoc等に
/**
* @author $Author$
* @version $Revision$ $Date:: 2008-05-26 19:06:45 +0900 $
*/
と記述した場合、次のように置換される。
(Dateは文字化け対策のため、始めから置換した形で記述する...
/**
* @author $Author: user $
* @version $Revision: 1173 $ $Date:: 2008-05-26 19:06:4...
*/
ただし、この設定はファイル新規追加時にしか効果がない。~
既にSubversion管理下のファイルに、上記の設定を反映させる...
~
*** Eclipse上でSubversion管理下ファイルの設定を変更する。...
フォルダ、ファイルを右クリック-->チーム-->プロパティの設定~
プロパティ名 :svn:eol-style~
プロパティの内容:native~
プロパティ名 :svn:keywords~
プロパティの内容:Id Date Author Rev URL~
~
** 関連ページ [#s308afb5]
-[[Debian GNU Linux/3.1 sarge/Subversion]]
ページ名:
TrackBack(0)
|
外部リンク元
検索
サイト内
Web
最新の20件
2010-03-09
Software/Eclipse/3.4.x
2009-08-04
Ubuntu
Ubuntu/7.04 feisty
Ubuntu/8.04 hardy/システム環境設定
Ubuntu/8.04 hardy
2009-07-06
Linux/misc
2009-05-16
Debian GNU Linux/5.0 lenny/amd64/iceweasel
2009-05-03
Debian GNU Linux/5.0 lenny/システム環境設定
2009-03-22
Debian GNU Linux
Software/Eclipse/3.1.x
Software/Eclipse/3.2.x
Software/Eclipse
Debian GNU Linux/5.0 lenny
2008-08-12
UNIX/sendmail
UNIX/Subversion
2008-08-05
UNIX/proftpd
2008-08-01
UNIX
2008-05-13
UNIX/samba
2008-05-12
Debian GNU Linux/5.0 lenny/ユーザー環境設定
2008-04-15
Windows