サーバ上に
/opt/svnroot1 /opt/svnroot2
というSVNのリポジトリ*1があるとします。
<Location "/svn"> DAV svn SVNParentPath /opt </Location>
とhttpd.confに書いておくことで、
http://[サーバ名]/svn/svnroot1/ http://[サーバ名]/svn/svnroot2/
というURLでそれぞれのリポジトリにアクセス可能です。
あるサーバ内で複数のリポジトリやtrunk,branches,tagsなど複数のディレクトリをあつかっているときの、ディレクトリごとのアクセス制御方法です。
httpd.confで
<Location "/svn"> DAV svn SVNParentPath /opt AuthzSVNAccessFile /opt/hogehoge/dav_svn.authz AuthName "Subversion repository" AuthType Basic Require valid-user AuthUserFile /opt/hogehoge/.htpasswd </Location>
などと書いておき、dav_svn.authz で
[groups] developer = dev1 [/trunk] @developer=r
としておきます。
そうすると
http://[サーバ名]/svn/svnroot/trunk/ :dev1で読み可能 http://[サーバ名]/svn/svnroot/branches/ :読み書き不可 http://[サーバ名]/svn/svnroot/tags/ :読み書き不可
となります。
[/trunk] はリポジトリ名指定もできます。
[svnroot1:/trunk] @developer=r
などと書けば
http://[サーバ名]/svn/svnroot1/trunk/ :dev1で読み可能 http://[サーバ名]/svn/svnroot1/branches/ :読み書き不可 http://[サーバ名]/svn/svnroot1/tags/ :読み書き不可 http://[サーバ名]/svn/svnroot2/trunk/ :読み書き不可 http://[サーバ名]/svn/svnroot2/branches/ :読み書き不可 http://[サーバ名]/svn/svnroot2/tags/ :読み書き不可
となります。
たとえば
などとしたい場合は以下のようにしておきます。
[groups] admin = admin1 developer = dev1 tester = tester1,tester2 #基本的に誰でも読みは可能 #adminは読み書き可能 [/] * = r @admin = rw #さらにdeveloperはtrunkを読み書き可能 [/trunk] @developer = rw #さらにdeveloperはbranchesを読み書き可能 [/branches] @developer = rw
uthorofotus irucというサイトに載ってました。
$ rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -print`
なるほどー。
SVN管理しているEclipseプロジェクト上で「チーム >> ブランチ」を選択します。
ブランチが作成されました。
確かに作成されていますね。
Branchでいくらか開発が進捗して、その差分をTrunkにマージする方法です。考え方としては
まずはTrunkをcheckoutしてきたEclipseプロジェクトで「チーム >> マージ」を選択します。 表示されるダイアログで、URLをブランチのURL、Start Revisionを枝わかれしたときのリビジョン、Stop RevisionをHeadにします。
これでブランチを作成したときから今までのブランチの変更が、トランクのワーキングコピーに反映されました。後はコミットすればOKです。
svn add * svn commit
svn update
cvsでいうcvs -q -n*2 はどうすんのかな??
svn delete classes svn commit
この記事は
現在のアクセス:78088