Subversionメモ
をテンプレートにして作成
[
Front page
] [
Page list
|
Search
|
Recent changes
|
RSS of recent changes
]
Start:
cvsにいい加減むかついていたのでsvnに移行することにした。~
ここはそのsvnのコマンドのメモや、はまったところなどを記録...
----
**インストール [#kcc7fc49]
環境:w2k~
+Subversion1.3.2のバイナリをダウンロードしてきてコピーし...
+Subversion/binへパスを通した。
+日本語メッセージが文字化けしたのでAPR_ICONV_PATHを環境変...
**cvsからの移行 [#bc59af6f]
cvsからの移行にはcvs2svnというツールを使うらしい。cvs2svn...
-shiftjisをを使ってる場合は''--encoding SHIFT_JIS''なるオ...
-sort -Tを呼び出してるとこでエラーになるので(windowsのso...
-''cvs rcsfile co''コマンドの呼び出しで~
''cvs [rcsfile aborted]: -q or -Q must be specified befor...
みたいなわけのわからないエラーがでたので''--use-cvs''オプ...
~
以上の修正で一応通ったような気がする。最終的にはsortの部...
python cvs2svn --encoding SHIFT_JIS --use-cvs -s c:/temp...
みたいな。最後まで滞りなく進むとかかった時間などのリポー...
~
~
複数のプロジェクトを一つのsvnリポジトリに納めるには、cvs2...
python cvs2svn --encoding SHIFT_JIS --use-cvs --dumpfile...
python cvs2svn --encoding SHIFT_JIS --use-cvs --dumpfile...
svnadmin create --fs-type fsfs svnroot
svn mkdir -m "mkdir hbmark" file:///temp/svnroot/hbmark
svn mkdir -m "mkdir tksqlite" file:///temp/svnroot/tksql...
svnadmin load --parent-dir hbmark svnroot < hbmark.dump
svnadmin load --parent-dir tksqlite svnroot < tksqlite.d...
//最終的にはこうなった
//python cvs2svn\cvs2svn --use-cvs --fs-type=fsfs --encod...
リポジトリのレイアウトの仕方は適当っぽい・・・。プロジェ...
**ディレクトリ構成 [#yfc45665]
svnではタグやプランチを管理するために、
projname
trunk
tags
branches
のようなディレクトリ構成になっていて、開発はtrunkで行うら...
**とりあえず良く使うコマンド [#h63134bc]
-登録(リポジトリの作成)~
svnadmin create /path/to/proj
svn mkdir file:///path/to/proj/trunk
svn mkdir file:///path/to/proj/tags
svn mkdir file:///path/to/proj/branches
cd path/to/proj
svn import file:///path/to/proj/trunk
リポジトリにプロジェクトを登録する。''svn import [<パス>]...
-チェックアウト~
svn checkout(co) file:///path/to/proj/trunc
svn checkout(co) file:///path/to/proj/trunc proj
パスはfile:///みたいなURLで書く。チェックアウトしたディレ...
タグ、ブランチはtags,branches以下にコピーしたリポジトリな...
svn co file:///path/to/proj/tags/version1.0 proj
みたいな。
-ファイルやディレクトリの追加、削除、リネーム~
svn add path ファイルの追加
svn mkdir path ディレクトリを作成してaddする
svn delete path ディレクトリやファイルを削除する
svn move oldname newname リネーム、移動
deleteはファイルはすぐにワーキングディレクトリから消える...
-マージ~
svn merge -r M:N file:///path/to/proj/branches/version0.9
svn marge file:///path/to/revM file:///path/to/revN
上の例ではversion0.9のブランチでリビジョンMからNの差分を...
つうかtrunkとbranch/version2.1の二つの枝で作業を継続する...
-コミット~
svn commit
-ワーキングディレクトリを最新に更新~
svn update
これはcvs updateと違って、実際にファイルを更新してしまう...
どれが更新されているか調べるだけの場合は、''svn status''...
-ワーキングディレクトリを他のブランチに変更~
svn switch path
ブランチを指定してcheckoutするのと同じだけど、差分だけや...
-タグをつけたり~
svn copy(cp) file:///path/to/proj/trunk file:///path/to/...
ブランチもタグも同じただのリポジトリのコピーらしい。ブラ...
-履歴を見る~
svn log <option> file 基本はこんな感じ
svn log -r 170 リビジョンを指定
svn log -r 170:175 170から175までのリビジョンの履歴
svn log -r {2006-07-01} 日付は{}でくくる
svn log -r HEAD リポジトリで最新
svn log -r BASE 現在のワーキングディレクトリの...
''-q''オプションでコメント無しの簡易表示。~
''-v''で変更のあったパスのリストも表示される。
-その他色々情報の取得~
svn info 現在のワーキングディレクトリの情報を見る
svn list(ls) リポジトリ内のls. -Rで子も再帰
svn status ワーキングディレクトリの更新情報
svn status -u リポジトリの更新情報
svn status -v リビジョン番号情報
svn ls file:///path/to/proj/tags タグの一覧はこうするし...
**バックアップなどリポジトリの管理 [#y07fa45f]
-バックアップ~
svnadmin dump cvnrepos
svnadmin load svnrepos
リポジトリ全体を標準出力に出力/入力。''--incremental''で...
svnadmin hotcopy old new
リポジトリのコピーを作る。他のプロセスが使用中でも使える...
-アイテムを消したり取り出したり~
間違えて追加しちゃったり、ゴソゴソsvnを手探りでいじりなが...
svnadmin dump path/to/svnroot/ |svndumpfilter exclude tk...
みたいな。これは/tksqlite以下のディレクトリをリポジトリか...
svnadmin dump path/to/svnroot/ |svndumpfilter include tk...
みたいな。で、ダンプしたやつを新しいリポジトリにsvn load...
**CVSROOTのような環境変数を自動で読んでくれる機能はない [...
URLとかパスを書くのがめんどくさい。~
http://svn.haxx.se/users/archive-2005-07/0303.shtml
によれば、環境変数にSVNROOTをセットしとけばいいじゃんって...
まあそうかな・・・。
**.cvsignore? [#pe363c67]
cvs2svnだとなんかしらんが勝手に.cvsignoreを読んで設定して...
~
svn propdel <属性名> [<パス>...]
svn propedit svn:ignore . エディタが立ち上がるので編...
svn propget svn:ignore <path> 属性の表示。
svn proplist -v src -vで付加情報表示。srcディ...
svn propset svn:ignore . -F .cvsignore .cvsignoreを読み...
これらで設定した属性情報はディレクトリの属性変更としてコ...
**リンク [#q959d60c]
-Subversion http://subversion.tigris.org/
-cvs2svn http://cvs2svn.tigris.org/
-UNIX USER 2003 8: Subversionで管理せよ (draft) http://uk...
End:
cvsにいい加減むかついていたのでsvnに移行することにした。~
ここはそのsvnのコマンドのメモや、はまったところなどを記録...
----
**インストール [#kcc7fc49]
環境:w2k~
+Subversion1.3.2のバイナリをダウンロードしてきてコピーし...
+Subversion/binへパスを通した。
+日本語メッセージが文字化けしたのでAPR_ICONV_PATHを環境変...
**cvsからの移行 [#bc59af6f]
cvsからの移行にはcvs2svnというツールを使うらしい。cvs2svn...
-shiftjisをを使ってる場合は''--encoding SHIFT_JIS''なるオ...
-sort -Tを呼び出してるとこでエラーになるので(windowsのso...
-''cvs rcsfile co''コマンドの呼び出しで~
''cvs [rcsfile aborted]: -q or -Q must be specified befor...
みたいなわけのわからないエラーがでたので''--use-cvs''オプ...
~
以上の修正で一応通ったような気がする。最終的にはsortの部...
python cvs2svn --encoding SHIFT_JIS --use-cvs -s c:/temp...
みたいな。最後まで滞りなく進むとかかった時間などのリポー...
~
~
複数のプロジェクトを一つのsvnリポジトリに納めるには、cvs2...
python cvs2svn --encoding SHIFT_JIS --use-cvs --dumpfile...
python cvs2svn --encoding SHIFT_JIS --use-cvs --dumpfile...
svnadmin create --fs-type fsfs svnroot
svn mkdir -m "mkdir hbmark" file:///temp/svnroot/hbmark
svn mkdir -m "mkdir tksqlite" file:///temp/svnroot/tksql...
svnadmin load --parent-dir hbmark svnroot < hbmark.dump
svnadmin load --parent-dir tksqlite svnroot < tksqlite.d...
//最終的にはこうなった
//python cvs2svn\cvs2svn --use-cvs --fs-type=fsfs --encod...
リポジトリのレイアウトの仕方は適当っぽい・・・。プロジェ...
**ディレクトリ構成 [#yfc45665]
svnではタグやプランチを管理するために、
projname
trunk
tags
branches
のようなディレクトリ構成になっていて、開発はtrunkで行うら...
**とりあえず良く使うコマンド [#h63134bc]
-登録(リポジトリの作成)~
svnadmin create /path/to/proj
svn mkdir file:///path/to/proj/trunk
svn mkdir file:///path/to/proj/tags
svn mkdir file:///path/to/proj/branches
cd path/to/proj
svn import file:///path/to/proj/trunk
リポジトリにプロジェクトを登録する。''svn import [<パス>]...
-チェックアウト~
svn checkout(co) file:///path/to/proj/trunc
svn checkout(co) file:///path/to/proj/trunc proj
パスはfile:///みたいなURLで書く。チェックアウトしたディレ...
タグ、ブランチはtags,branches以下にコピーしたリポジトリな...
svn co file:///path/to/proj/tags/version1.0 proj
みたいな。
-ファイルやディレクトリの追加、削除、リネーム~
svn add path ファイルの追加
svn mkdir path ディレクトリを作成してaddする
svn delete path ディレクトリやファイルを削除する
svn move oldname newname リネーム、移動
deleteはファイルはすぐにワーキングディレクトリから消える...
-マージ~
svn merge -r M:N file:///path/to/proj/branches/version0.9
svn marge file:///path/to/revM file:///path/to/revN
上の例ではversion0.9のブランチでリビジョンMからNの差分を...
つうかtrunkとbranch/version2.1の二つの枝で作業を継続する...
-コミット~
svn commit
-ワーキングディレクトリを最新に更新~
svn update
これはcvs updateと違って、実際にファイルを更新してしまう...
どれが更新されているか調べるだけの場合は、''svn status''...
-ワーキングディレクトリを他のブランチに変更~
svn switch path
ブランチを指定してcheckoutするのと同じだけど、差分だけや...
-タグをつけたり~
svn copy(cp) file:///path/to/proj/trunk file:///path/to/...
ブランチもタグも同じただのリポジトリのコピーらしい。ブラ...
-履歴を見る~
svn log <option> file 基本はこんな感じ
svn log -r 170 リビジョンを指定
svn log -r 170:175 170から175までのリビジョンの履歴
svn log -r {2006-07-01} 日付は{}でくくる
svn log -r HEAD リポジトリで最新
svn log -r BASE 現在のワーキングディレクトリの...
''-q''オプションでコメント無しの簡易表示。~
''-v''で変更のあったパスのリストも表示される。
-その他色々情報の取得~
svn info 現在のワーキングディレクトリの情報を見る
svn list(ls) リポジトリ内のls. -Rで子も再帰
svn status ワーキングディレクトリの更新情報
svn status -u リポジトリの更新情報
svn status -v リビジョン番号情報
svn ls file:///path/to/proj/tags タグの一覧はこうするし...
**バックアップなどリポジトリの管理 [#y07fa45f]
-バックアップ~
svnadmin dump cvnrepos
svnadmin load svnrepos
リポジトリ全体を標準出力に出力/入力。''--incremental''で...
svnadmin hotcopy old new
リポジトリのコピーを作る。他のプロセスが使用中でも使える...
-アイテムを消したり取り出したり~
間違えて追加しちゃったり、ゴソゴソsvnを手探りでいじりなが...
svnadmin dump path/to/svnroot/ |svndumpfilter exclude tk...
みたいな。これは/tksqlite以下のディレクトリをリポジトリか...
svnadmin dump path/to/svnroot/ |svndumpfilter include tk...
みたいな。で、ダンプしたやつを新しいリポジトリにsvn load...
**CVSROOTのような環境変数を自動で読んでくれる機能はない [...
URLとかパスを書くのがめんどくさい。~
http://svn.haxx.se/users/archive-2005-07/0303.shtml
によれば、環境変数にSVNROOTをセットしとけばいいじゃんって...
まあそうかな・・・。
**.cvsignore? [#pe363c67]
cvs2svnだとなんかしらんが勝手に.cvsignoreを読んで設定して...
~
svn propdel <属性名> [<パス>...]
svn propedit svn:ignore . エディタが立ち上がるので編...
svn propget svn:ignore <path> 属性の表示。
svn proplist -v src -vで付加情報表示。srcディ...
svn propset svn:ignore . -F .cvsignore .cvsignoreを読み...
これらで設定した属性情報はディレクトリの属性変更としてコ...
**リンク [#q959d60c]
-Subversion http://subversion.tigris.org/
-cvs2svn http://cvs2svn.tigris.org/
-UNIX USER 2003 8: Subversionで管理せよ (draft) http://uk...
Page:
HTML convert time: 0.002 sec.