Subversion/TIPS集
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**HTTPの代わりに、SSHを使う [#w1918e31]
SubversionはApacheなどWEBサーバを用いてHTTPでアクセスする...
svn+ssh://[アカウント名]@[サーバ名]/opt/svnroot/fugafuga/
とすればOKのようですね。んーでもアクセス制御とかはようわ...
-HTTPS+Digest認証によるアクセス
-SSHを用いたアクセス
どちらがよりセキュアなんですかね??
**匿名ユーザならチェックアウトのみ、匿名でなく(たとえばDi...
[[きのの、まずはやってみる>http://d.hatena.ne.jp/masatomi...
**複数のリポジトリを公開したい [#q672784a]
サーバ上に
/opt/svnroot1
/opt/svnroot2
というSVNのリポジトリ((つまりたとえば svnadmin create /op...
<Location "/svn">
DAV svn
SVNParentPath /opt
</Location>
とhttpd.confに書いておくことで、
http://[サーバ名]/svn/svnroot1/
http://[サーバ名]/svn/svnroot2/
というURLでそれぞれのリポジトリにアクセス可能です。
**ディレクトリごとにアクセス制御する [#xcfc021e]
あるサーバ内で複数のリポジトリや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/ :読み書き不可
となります。
たとえば
-全てのユーザはtrunk,branches,tagsを読み可能
-admin1は何でもできる
-dev1はtrunk,branchesに書き込みも可能(tagsにはコミットで...
-tester1,tester2はコミット不可能
などとしたい場合は以下のようにしておきます。
[groups]
admin = admin1
developer = dev1
tester = tester1,tester2
#基本的に誰でも読みは可能
#adminは読み書き可能
[/]
* = r
@admin = rw
#さらにdeveloperはtrunkを読み書き可能
[/trunk]
@developer = rw
#さらにdeveloperはbranchesを読み書き可能
[/branches]
@developer = rw
-[[ディレクトリごとのアクセス制御>http://discypus.jp/svnb...
**subversionの".svn"を削除するワンライナー [#ad7e66e0]
[[uthorofotus iruc>http://flyfront.blog.shinobi.jp/Entry/...
$ rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -p...
なるほどー。
**Eclipseでブランチを作る [#t77ce514]
SVN管理しているEclipseプロジェクト上で「チーム >> ブラン...
#ref(eclipse.gif)
ブランチが作成されました。
#ref(viewvc.gif)
確かに作成されていますね。
**ブランチからマージする。 [#w72dd1d9]
Branchでいくらか開発が進捗して、その差分をTrunkにマージす...
-ブランチが作られた(枝分かれした)時点から直近まで、のブラ...
-Trunkのワーキングコピーにその差分を反映
-Trunkにコミット
となります。
まずはTrunkをcheckoutしてきたEclipseプロジェクトで「チー...
表示されるダイアログで、URLをブランチのURL、Start Revisio...
#ref(merge.gif)
これでブランチを作成したときから今までのブランチの変更が...
**キーワード置換 [#t9f022eb]
CVSにもあるヤツ。ファイルごとに指定する方法は分かったんだ...
とりあえずファイルごとに指定するには
bash-3.2$ svn propset svn:keywords Id hoge.txt
property 'svn:keywords' set on 'hoge.txt'
bash-3.2$ svn proplist -v hoge.txt
Properties on 'hoge.txt':
svn:keywords : Id
bash-3.2$
でコミットすればOK。Idは置換されるようになります。
http://hrgs.xrea.jp/2006/12/23/subversion_auto_props
にあるのですが、svnは
~/.subversion/config
でクライアント側の設定を行うようです。でこのファイルに
enable-auto-props = yes
*.java = svn:keywords=Id
としておけば、新規作成時に自動的に上のコマンドが実行され...
Subversiveでは
#ref(pref.png)
#ref(keyword.png)
複数キーワードを指定する場合。
で設定できます。
***一度に設定を追加するワンライナー [#u2db3985]
svn propset svn:keywords Id `find ./ -name *.java`
ちなみに複数セットする場合は
svn propset svn:keywords "Id Revision" `find ./ -name *....
""で囲む必要があります。
ちゃんとセットされたかどうかは
svn proplist -v `find ./ -name *.java`
で確認できます。
http://ukai.jp/debuan/2002w/subversion.txt のサイトにもっ...
svn propset svn:keywords Id
`find . \( -name .svn -prune \) -o -type f
-print | xargs grep -l '\$Id:'` (実際は一行)
ちなみに -printはフルパス表示、-o はor検索、-type f はタ...
http://subversion.bluegate.org/doc/ch07s02.html#id3065660
**EclipseのクライアントSubversiveはキーワード部分の違いを...
SubversiveでクライアントをNative JavaHLで使ってるのですが...
これはいいなー。。
**コマンドの覚書 [#le295af0]
***初回のチェックアウト [#h9580f5f]
svn co http://hogehoge/trunk
とか
svn co http://hogehoge/trunk/project名
とか。
***ファイルの追加 [#wed0f752]
svn add *
svn commit
ちなみに svn add * はすでにバージョン管理下にあるディレク...
svn add * --force
という--forceオプションを付ければOKです。
-[[svn add>http://subversion.bluegate.org/doc/re01.html]]
***ファイルの更新 [#m63297ee]
svn update
cvsでいうcvs -q -n((確認だけ。更新しない)) はどうすんのか...
***ワーキングコピーへの修正の確認 [#x66903d8]
svn status
これでローカルで変更した内容が出力されます。ネットにはア...
***修正内容の確認 [#y462a3a0]
svn diff
***ファイルの削除 [#vda6b889]
svn delete classes
svn commit
**関連リンク [#h5cb69ca]
-[[ソフト/Subversion/メモ - discypus>http://discypus.jp/w...
----
この記事は
#vote(おもしろかった[36],そうでもない[5])
- SVNParentPath /opt としないで SVNPath /opt/svnrootなど...
- svn diffしてて思ったんだけど、Subversionはキーワードを...
- あれ、、タグ付けって、、、SVNリポジトリでやるんだっけ?...
- ブランチの状態をタグ付けするときって、Branchのタグ(Bran...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**HTTPの代わりに、SSHを使う [#w1918e31]
SubversionはApacheなどWEBサーバを用いてHTTPでアクセスする...
svn+ssh://[アカウント名]@[サーバ名]/opt/svnroot/fugafuga/
とすればOKのようですね。んーでもアクセス制御とかはようわ...
-HTTPS+Digest認証によるアクセス
-SSHを用いたアクセス
どちらがよりセキュアなんですかね??
**匿名ユーザならチェックアウトのみ、匿名でなく(たとえばDi...
[[きのの、まずはやってみる>http://d.hatena.ne.jp/masatomi...
**複数のリポジトリを公開したい [#q672784a]
サーバ上に
/opt/svnroot1
/opt/svnroot2
というSVNのリポジトリ((つまりたとえば svnadmin create /op...
<Location "/svn">
DAV svn
SVNParentPath /opt
</Location>
とhttpd.confに書いておくことで、
http://[サーバ名]/svn/svnroot1/
http://[サーバ名]/svn/svnroot2/
というURLでそれぞれのリポジトリにアクセス可能です。
**ディレクトリごとにアクセス制御する [#xcfc021e]
あるサーバ内で複数のリポジトリや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/ :読み書き不可
となります。
たとえば
-全てのユーザはtrunk,branches,tagsを読み可能
-admin1は何でもできる
-dev1はtrunk,branchesに書き込みも可能(tagsにはコミットで...
-tester1,tester2はコミット不可能
などとしたい場合は以下のようにしておきます。
[groups]
admin = admin1
developer = dev1
tester = tester1,tester2
#基本的に誰でも読みは可能
#adminは読み書き可能
[/]
* = r
@admin = rw
#さらにdeveloperはtrunkを読み書き可能
[/trunk]
@developer = rw
#さらにdeveloperはbranchesを読み書き可能
[/branches]
@developer = rw
-[[ディレクトリごとのアクセス制御>http://discypus.jp/svnb...
**subversionの".svn"を削除するワンライナー [#ad7e66e0]
[[uthorofotus iruc>http://flyfront.blog.shinobi.jp/Entry/...
$ rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -p...
なるほどー。
**Eclipseでブランチを作る [#t77ce514]
SVN管理しているEclipseプロジェクト上で「チーム >> ブラン...
#ref(eclipse.gif)
ブランチが作成されました。
#ref(viewvc.gif)
確かに作成されていますね。
**ブランチからマージする。 [#w72dd1d9]
Branchでいくらか開発が進捗して、その差分をTrunkにマージす...
-ブランチが作られた(枝分かれした)時点から直近まで、のブラ...
-Trunkのワーキングコピーにその差分を反映
-Trunkにコミット
となります。
まずはTrunkをcheckoutしてきたEclipseプロジェクトで「チー...
表示されるダイアログで、URLをブランチのURL、Start Revisio...
#ref(merge.gif)
これでブランチを作成したときから今までのブランチの変更が...
**キーワード置換 [#t9f022eb]
CVSにもあるヤツ。ファイルごとに指定する方法は分かったんだ...
とりあえずファイルごとに指定するには
bash-3.2$ svn propset svn:keywords Id hoge.txt
property 'svn:keywords' set on 'hoge.txt'
bash-3.2$ svn proplist -v hoge.txt
Properties on 'hoge.txt':
svn:keywords : Id
bash-3.2$
でコミットすればOK。Idは置換されるようになります。
http://hrgs.xrea.jp/2006/12/23/subversion_auto_props
にあるのですが、svnは
~/.subversion/config
でクライアント側の設定を行うようです。でこのファイルに
enable-auto-props = yes
*.java = svn:keywords=Id
としておけば、新規作成時に自動的に上のコマンドが実行され...
Subversiveでは
#ref(pref.png)
#ref(keyword.png)
複数キーワードを指定する場合。
で設定できます。
***一度に設定を追加するワンライナー [#u2db3985]
svn propset svn:keywords Id `find ./ -name *.java`
ちなみに複数セットする場合は
svn propset svn:keywords "Id Revision" `find ./ -name *....
""で囲む必要があります。
ちゃんとセットされたかどうかは
svn proplist -v `find ./ -name *.java`
で確認できます。
http://ukai.jp/debuan/2002w/subversion.txt のサイトにもっ...
svn propset svn:keywords Id
`find . \( -name .svn -prune \) -o -type f
-print | xargs grep -l '\$Id:'` (実際は一行)
ちなみに -printはフルパス表示、-o はor検索、-type f はタ...
http://subversion.bluegate.org/doc/ch07s02.html#id3065660
**EclipseのクライアントSubversiveはキーワード部分の違いを...
SubversiveでクライアントをNative JavaHLで使ってるのですが...
これはいいなー。。
**コマンドの覚書 [#le295af0]
***初回のチェックアウト [#h9580f5f]
svn co http://hogehoge/trunk
とか
svn co http://hogehoge/trunk/project名
とか。
***ファイルの追加 [#wed0f752]
svn add *
svn commit
ちなみに svn add * はすでにバージョン管理下にあるディレク...
svn add * --force
という--forceオプションを付ければOKです。
-[[svn add>http://subversion.bluegate.org/doc/re01.html]]
***ファイルの更新 [#m63297ee]
svn update
cvsでいうcvs -q -n((確認だけ。更新しない)) はどうすんのか...
***ワーキングコピーへの修正の確認 [#x66903d8]
svn status
これでローカルで変更した内容が出力されます。ネットにはア...
***修正内容の確認 [#y462a3a0]
svn diff
***ファイルの削除 [#vda6b889]
svn delete classes
svn commit
**関連リンク [#h5cb69ca]
-[[ソフト/Subversion/メモ - discypus>http://discypus.jp/w...
----
この記事は
#vote(おもしろかった[36],そうでもない[5])
- SVNParentPath /opt としないで SVNPath /opt/svnrootなど...
- svn diffしてて思ったんだけど、Subversionはキーワードを...
- あれ、、タグ付けって、、、SVNリポジトリでやるんだっけ?...
- ブランチの状態をタグ付けするときって、Branchのタグ(Bran...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: