WinXP SP3にTortoiseSVN 1.6.1を入れたところ、次のような現象が出ました。 ・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない ・コミット時に次のようなメッセージが表示され、コミットできない 「Cannot accept non-LF line endings in 'svn :log' property」 結局、1.5.9に戻しました。 皆さんのところでは1.6.1はきちんと動いていますか?
>eclipseで○○だとコンフリクトでない >さあ○○は? >というか、そもそもeclipseはsvnクライアントではないし、 なんだ、おまいら、そんな事で顔真っ赤にしてたのか。 はいはい。大阪城を建てたのは大工さんだよ。 これで満足かい?ブタ野郎w
Windows でホームページを見る。 Windows はウエブラウザじゃ無いだろ?
インターネットエクスプローラでホームページを見る。 あほ、液晶モニタで見てるんだろw
>>332 ・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない
→ 特に問題なし
・コミット時に次のようなメッセージが表示され、コミットできない
「Cannot accept non-LF line endings in 'svn :log' property」
→ 1.6.0でも起きる。ログを改行なしでコミット、その後にログ編集で改行加えて対処した。file://管理だと起きる気がする。
ログに改行があるとコミット出来ないやつは、svnadmin update やったら出来た覚えがある
>Cannot accept non-LF line endings in 'svn :log' property これ、Rubyのレポジトリを1.6.0でsvnsyncしようとしたときにも発生したなぁ (結局1.5.6のsvnsync使ったけど) 1.6.1では直ってるのかな?
>Cannot accept non-LF line endings in 'svn :log' property あるリポジトリだと起きて、あるリポジトリだと起きなかった。 リポジトリのバージョンなのか、プロトコルの違いなのかは分かんない。
ところで、SubclipseってTortoiseSVNよりマージ機能が優れているの? どれもこれも同じだと思っていたんだけど。
subversiveかも知れんぞ。 ってまあ、何使ってもご本尊は一緒だべ。
emacsのpsvnよりはどっちもつかいやすい
>>332 『)』『た』『体』『等』なんかの一部の文字の後に改行してるとその現象出てくる。
これらの文字の後に半角スペース入れて改行するとコミットできるのでとりあえず自分はそれで回避してる。
上の人も言ってるけど1.6.0からで、file://だと発生するぽい(
http://とかは知らない )。
Subversionで svn commit -F logfile した時だと同じ内容でもコミットできたり。
(改行コードはCRでもLFでCR+LFでもいけた)
TortoiseSVNのバグなんかね。
Subversion 1.4.5を使っているものです。 以下の事をしたいのですが、諸兄だったらいかがいたしますか。ご教示下さい。 <前提条件> ・開発用PC*n台、サーバA、サーバBの構成。全てWindows。 ・サーバAはリポジトリサーバとして使用。 ・サーバBはWebサーバとして使用。 ・開発用PCとサーバBに同等のワーキングコピーがある。 <実現したいこと> ・開発用PCでcommitすると、サーバBのワーキングコピーが自動的にupdateされるようにしたい。 試しているがNGなのが、以下のやり方。 サーバAのpost-commit-hookに、サーバBのワーキングコピーのsvn updateを仕込む。(が、動作せず。) svn up \\server-b\svnwork\pub\ >> \\server-b\svnwork\pub\svnup.log 同じコマンドの手動(コマンドプロンプトへの直打ち)実行は成功したので、コマンドミスではないです。 また同様のフックスクリプトで対象がローカルドライブのものは成功するので、フックは動作していると判断。 フックスクリプトでのネットワークパス(UNC)参照のやり方がマズいのか。単に仕様上不可なのか。 2日間悩んでますが、解答が得られずにいます。ボスケテ。長文スマソ。
まさか・・・ ドライブを割り当ててないでバッチファイルを動かしてるとか そんな初歩的なんじゃないだろね・・・
>>345 レスありがとうございます。
net useの事であれば試しましたが、結果は失敗でした。
コマンドプロンプトでは成功するコマンドが、フックスクリプト内で失敗する理由をご存知ですか?
初歩的な質問ですみません。
347 :
344 :2009/04/15(水) 00:50:22
>>345 えーとその時は確かこんな風でした。
net use X: \\server-b\svnwork
svn up X:\pub\ >> X:\pub\svnup.log
net use X: /delete
これも手動でバッチを実行すると成功しますが、フックから呼び出すと失敗でした。
何か根本的に考え方が間違っておりますか?
>>347 何かエラーメッセージは出てないの?
こんな風にエラーメッセージを記録してみては?
net use X: \\server-b\svnwork >> X:\pub\svnup.log 2>&1
svn up X:\pub\ >> X:\pub\svnup.log 2>&1
net use X: /delete >> X:\pub\svnup.log 2>&1
351 :
347 :2009/04/15(水) 01:39:45
>>349 >>350 ありがとうございます。
349さんのリンク先にティップとしてこんな事が。
「・・・環境変数は全く設定されない状態で実行します。このため多くの管理者は手でフックスクリプトを実行するとうまくいくのに、Subversion によって実行されたときにはうまくいかないことに困惑します。・・・」
これかもしれません、すっかり見落としていました。明日早速確認してみます。
日中はレスできませんので、また夜に結果をご報告します。
350さんのやり方でエラーメッセージの確認もしてみます。
もしこれだったら、本当にありがとうございます。
svnsyncしてミラー先でpost-commit-hookとか、server-bのタスクスケジューラで定期updateとか考えていましたが、
そんなことをしなくても済むかもしれません。
それでは、おやすみなさいませ。
352 :
332 :2009/04/15(水) 10:29:31
>>336-339 >>343 >>348 ありがとうございます。
確かにfile://を使っています。
1.6.1で報告されている不具合だったんですね。
とりあえず1.6系列をウォッチしながら1.5系列を使い続けたいと思います。
ちなみに1.6で作ったリポジトリは「バージョンが違う」とか出て
1.5のクライアントではアクセスできませんでした。
おお、TortoiseSVN で1.6.1にしたらいきなりコミットできなくて焦った。 Nightly にして無事コミットできるようになった、情報サンクス。
354 :
デフォルトの名無しさん :2009/04/15(水) 22:28:22
あるファイルだけ内容に関係なくUpdate,Commitをかけるたびに毎回更新されるようにしたいのですが、どうすればよいでしょうか。 というのは、リビジョン番号をフォルダーごとCommit掛けるたびに最新の番号に置換したいのです。 そのファイルを変更すればコミットがかかるのですが、変更しなければコミットがかからないので、最新のリビジョン番号を そのファイルに取得できないのです。
なんでそんな運用を・・・??
356 :
354 :2009/04/15(水) 23:02:43
最新のリビジョン番号をソースファイルに埋め込んでコンパイルしたいのです
Makefileに「最新リビジョン番号を取得してVersion表示ファイルの該当箇所を置換する処理」を記述する
FOR /F "usebackq" %%I in (`svnversion -n`) DO SET R=%%I ECHO #define REVISION %R% >revision.h make みたいな・・・
すまん。 プロジェクト(フォルダ?)の最新リビジョン番号が欲しいんであってファイルのリビジョン番号とは違うのか。 上のURLの情報はたぶんとっくにご存知のようだな・・・
revision.c にこう書いておいて static char *revision = "9999"; バッチでこうるす FOR /F "usebackq" %%I in (`svnversion -n`) DO SET R=%%I perl -i.bak -pe "s/revision = .+?;/revision = \"%R%\";/;" revision.c make みたいな・・・
だから、 SubWCRev でいいだろ。
それゲイツOS専用じゃないの?
SubWCRev って TortoiseSVN に入ってるみたいね。 linux 版にも入ってるの? つか、linux に TortoiseSVN ってあるの? ゲイツOS専用じゃ使えね~よ。 これだからマウスの付いたパソコンしか使った事の無いヤロウはダメなんだ・・・
ゲイツOS使ってるならSubWCRevを使う、UNIX系OSならMakefileに自前の処理でいいじゃない。 あと今時 UNIX = linux と思ってるやつがいることに驚愕。
Linux⊂UN*X
>>368 > あと今時 UNIX = linux と思ってるやつがいることに驚愕。
今時「だからこそ」、じゃないのかね?
今時の人はLinuxを知っていてもUNIXは知らない
MacOSXv10.5がいつのまにかUnix認証を受けてやがる
マトモで使いやすいOSを追求していったらUnixに辿り着いた、 ってことかw
だからぁ、 「Makefileに自前の処理」 を具体的にどう処理するかを聞いてるんじゃないか。 もう、このスレの住人はバカばっかし。レベルが低すぎる。
>>374 で初だろ?聞いたのは。
svnコマンドで最新のリビジョン番号を取得する方法はわかるよな?
あとはLinux板のシェルスクリプトスレで聞きな。
SubWCRev、SubWCRev、SubWCRev って連呼してるバカに言ってるんだよ
377 :
デフォルトの名無しさん :2009/04/17(金) 16:59:15
試してないけど、こんな感じじゃないかな。 ---- main: main.o /tmp/revision.o $(LINK.cc) /tmp/revision.c: revision.c /bin/sed s/REVISION/`svnversion`/g < $^ > $@
けっきょく、svnversion と sed か perl でFAだな。 この方法なら Windows でも UNIX/LINUX でもいける。
.svnしか残ってないフォルダの一覧を 探すのってbashでどう書けばいいですか? なんかいい方法ないかしら?
>>380 .svnしか残ってないフォルダの一覧を
探すのってphpでどう書けばいいですか?
なんかいい方法ないかしら?
これでどうよ。 .svnしか残っていないフォルダの一覧を 探すのってsvnでどう書けばいいですか? なんかいい方法ないかしら?
そんなのfindですぐだろ。 "bashで書く"って表現するあたりが河合祖杉。
>>384 .svnしか残っていないフォルダの一覧を
探すのってふぃんdでどう書けばいいですか?
なんかいい方法ないかしら?
知らないならレスしないでください
早く春休みが終わればいいのに
一生終わりません
んで、.svn「しか残ってない」ディレクトリ一覧を、findでどうやれば得られるんですか。 他のコマンドも組み合わせる?
ま、春風のいたずらってことで。
ま、スレ違いってことで
393 :
デフォルトの名無しさん :2009/04/19(日) 22:26:48
>393 冗長なプロトコルといい、Subversionはアホが作ってる感があるな。
ちょw
>>393 svn:logではなく、svn:ignoreだけの話のように読めます。
>>396 いや、svn:logでも同じような問題が発生してる。
仕様もなにも↑で修正されてるじゃん
trunkにも取り込まれてないがな
400 :
351 :2009/04/20(月) 21:32:02
亀レスですが、ご報告まで。 リポジトリサーバのpost-commit-hookで別サーバのワーキングコピーをsvn updateする件ですが、成功しました! アドバイスを下さった皆様、ありがとうございました! ポイントは2点ありました。 1. net useでネットワークドライブのマップを行う。 2. スクリプト(バッチファイル)内の実行ファイルはフルパスで指定。 出来なかったときは、net useコマンドにパスが通っていなかったのですね。 下のような記述で成功しました。 (\\server-b\svnwork\pub配下のワーキングコピーをupdateしたい場合。) C:\WINDOWS\system32\net use X: \\server-b\svnwork C:\Program Files\Subversion\bin\svn up X:\pub >> X:\pub\svnup.log 2>&1 C:\WINDOWS\system32\net use X: /delete 改めて感謝です!では!
non-LF の問題は行末に空白入れると回避できるな。
svnversion で末尾に P が付くのは何?
403 :
デフォルトの名無しさん :2009/04/28(火) 05:44:35
>>402 それ P やない、改行や。
とエスパーに挑戦してみる。 TortoiseMerge のアレのことなんだろうな、と。
C:>svnversion 128P C:>svnversion --help 4123P まばらチェックアウト機能を用いて作られた部分的な作業コピー google "まばらチェックアウト" で検索 |翻訳メモ: | * sparse checkout は「まばらチェックアウト機能」としておいた。 ・・・で、「まばらチェックアウト機能」て何?
プギャーで台無し
svn up --non-interactiveをsvn upのデフォルトにしたいんですが configにそんな項目増えてたりしないんでしょうか。 まぁ、困るのはバッチ処理の時だけといえばそうなので そこにいちいち書きくわえればいいといえばそうなんですが。。。
>>408 バッチファイル(シェルスクリプト)でラップすればいいのではないでしょうか。
410 :
デフォルトの名無しさん :2009/04/30(木) 16:01:59
svn diff で、diffに渡されてるデフォルトのオプションって何? -u -r -N であってる?
411 :
410 :2009/04/30(木) 16:28:10
自己解決しました
412 :
デフォルトの名無しさん :2009/04/30(木) 16:32:28
svn diff で、diffに常に渡したいオプションがあるんだけど どうやって指定すればいい? cvsのときなら.cvsrcに記述できたんだけど、.subversion/configには書くところがない
直上のレスぐらい見ろ
まぁ、シェルならふつーaliasだよね。
>>413 エイリアスやバッチで処理すれば出来ることはわかっています。
私は、オプションを常に指定する方法を調べています。
ソース弄るしかないんじゃない? エイリアスのほうがインテリジェントだと思うけど。 そんな偉そうなら、用途をもっと明確にしてみそ?
そういや、svn diffって特定のもの以外のオプションをdiffコマンドに与えるのがクソ面倒だったような…
そう? svn diff --diff-cmd=/usr/bin/diff -x -wu程度の話だと思うけど。
>>418 うん、そうなんだけど…なんでいちいち--diff-cmdがいるんだって話さね
あとあれ -L を勝手につけるのうざいよね。
そもそも1行に diff が3回も出てる時点でどうかしてる
>>418 これを「程度」とか言っちゃう神経がキモい
Tortoise使ってて文句つけるならわかるが、コマンドラインに文句つけるヒマあったら、 さっさとエイリアスかバッチ組むよ俺ならw
>>423 美しくない ってことでしょ。
いきあたりばったりの実装で、設計思想に一貫性が無いという話。
所詮、ツールだし そう言うもんだろうで終わらせるよ、俺なら
>>425 君の話はどうでもいい
そこらの電柱にでも話しかけていてくれたまえ
>>426 うわあ…mod_rewriteぐらい使えよ
どうでもいいところをこだわっていて仕事になっているんなら、いいんじゃないか。 俺は利益に大きく結びつくところ以外は捨ててしまうが
こういう部分でエンジニアとしての程度が知れるな
切り捨てて良い部分に無駄にこだわって時間潰してるのを 有能と呼ぶなら俺は無能で良いわ
Subversion関係ねぇじゃん。
てゆか
>>426 はみっともない上にSEOにもかかわってくる可能性もあるしな
まあこの話題はそろそろ打ち止めってことで
無駄にこだわって時間潰す→無能 下手な設計で動くんだからいいじゃんと居直る→無能 最初から美しく設計する→有能
つまりSubversionを使うやつはみんな無能って事か
実際さっさと git とかに移りたいんだけど 仕事で使ってるとなかなかそう簡単にはいかんのよねぇ・・・
git はオマンド体系とか違いすぎてなぁ 覚えるコストに見当った性能はあるのかしらん?
分散リポジトリ系のは今後どれが主流になるかもわからんし ローカルでガリガリ書く時もコミットしたいってぐらいなら svk でお茶を濁してていいんじゃね?
仕事で分散使う意味がわからん
>>440 svkはあるケースで遅くなるのがなぁ…
>>441 移動中にノートPCで開発してる奴なんて普通にいる
そういう場合に有利>分散
>>443 多分そーゆー基本的なことを知りたいわけじゃないと思うよ
gitはUnix系では便利に使ってるけど、Windowsでは使えたもんじゃない。 svkはWindowsでもなんとかいける。
svkはGUIないから広めにくいんだよな。 最近は、Dropbox使う奴が周りでてきてる。 (もちろん、共有プロジェクトとか仕事では勧めてないが) バージョン管理する必要がない、バージョン管理ソフトとして使えるのがいいらしい。 これくらいのシームレス差がほしいもんだけど
>442 >移動中にノートPCで開発してる奴なんて普通にいる そういうの、会社によるんじゃない? うちの会社じゃ、そんなシチュエーション全く無い。
>>447 普通はそうだよな。
俺の会社でも10人程度の開発者がいるけど、全員が一つの机で顔をつきあわせながら開発するよ。
そういう状況で分散型VCSなど害悪でしかない。
当然ながらgitだのhgだのは一切使わないように支持が出されている。
>>448 速度面はどうよ。
ブランチとか使ってないの?
たしかに普通に社内で仕事する分には別に svn で困ることってそんなに無いんだよな。 履歴管理しなきゃいけない程の修正だったらブランチ切るし、 そもそも大きい修正なら一人で作業しない場合も多いし。 単に流行ってるからって理由で git 採用、とかは当然ながら止めといたほうがいいわな。 ただ OSS 関係は軒並分散リポジトリに移行しつつあるから追随しとかないと 参加出来なくなりつつあるけど。
> 単に流行ってるからって理由で git 採用、とか いや全然流行ってねーしw
うちは、Linuxの設定ファイルの管理とか、ネットワーク的に断絶してる 外向きWebコンテンツの管理とかはMercurialで、プログラムのコードは 全部Subversionという使い分け。 自分の机以外で仕事のコードを書く事はほぼ皆無。 Mercurialは、難しくて使いにくいと他の社員から大不評をかっているので、 TortoiseHGの熟成をあと2年ぐらいは待ちたい感じ。
>>451 いや、流行ってるよ。
フリーでリポジトリ提供してるところで採用してるところ増えてるし
github とか使ってる人多いしな。
仕事で使ってるって話は 2ch の専用スレぐらいでしか聞かんけど。
google code自体があんまり流行ってないってのもあるがな。
>>454-455 んー確かに。
ソースコードホスティングでいえば、githubばかりが目立つね
規模はgoogle code projectがでかいんだろうし、流行という感じでもないから、
sourceforgeみたいに、長く枯れるまで続けていくんだろうけどさ。
>>454 gitは使えねえので絶対に採用しませんとはどこにも書いてないわけだが
何にしてもどこもかしこも分散型!って感じではあるな。 仕事関係は未だに CVS のところもあるというのに。
>>449 通常ブランチはよほどのことが無い限りすぐ本家に戻る
>>447 うちは持ち出し厳禁だし、ノートの持ち込みも入り口で名前書かされるし
出入りでカバンを簡単にチェックされるんで、svk使って持ち出しとかは出来ないんだよね
ネットワーク上に、新しいTortoiseSVNと古いTortoiseSVNを使うPCが 混在しても大丈夫でしょうか?リポジトリの作成を古いバージョンで 行えばよいように思いますがどうでしょうか?
2年ほど前に切ったブランチで開発し続けてたものをいきなりトランクにマージしろと言われました そのブランチとトランクはもはや別のプログラムと言っていいほど違うものになってるんですが大丈夫なんですかね… なんかコマンド打つのも怖いのですが
>>464 ↓こっちのがいいんじゃね?
svn mv trunk branches/dead-trunk
svn mv branches/active trunk
>>465 その方が良いですね
交渉してみます
ありがとうございました
おまいら全部コマンドうちなの? 亀使わないの?
亀以外にもフロントエンドは色々あるわけだし、 ここで話するときは共通言語のコマンドで書くってだけの話じゃね?
469 :
デフォルトの名無しさん :2009/05/08(金) 16:49:02
特定のファイルをリポジトリから完全に削除ってdumpを使って出来るじゃないですか? で、ある特定の日付以前に削除されたファイルを完全削除して掃除ってできますか? cronとかで毎日掃除して、無駄な容量の増加を防止するとか
>>469 削除したブランチを消去するフィルターが欲しいなあ
471 :
デフォルトの名無しさん :2009/05/10(日) 13:45:06
>>471 - BUG: Error message about non-LF commit messages when using messages with
non-ASCII text. (Stefan)
わーい、直った。
結局TortoiseSVN側での対応か。 本家のtrunk(r37666)では未だエラーになる。
>>473 TortoiseSVNの開発者に感謝するよ。
でもこの問題ってdump/loadは影響しないのかな?
1.6.2って何かおかしくねえ・・・・? 同僚含めてちゃんとインストール出来ないんだけど・・・ 修復セットアップしたら何とか入ったけど言語パックはどうやっても入らない
何の問題もなく入ったけど、、、ってx64版だし参考にはならんか
うちでは、1.6.1をアンインストールして1.5.9を入れたところ、
言語パックを入れてもLanguageのリストにEnglishしか存在しない。
これも
>>475 と関係あるのかな?
うちは1.6.2にしたらエクスプローラが死ぬようになったから NightlyBuild版に戻したよ。
こっちも何かインストールが上手く行かなかったけど、 アンインストールして綺麗にしてからやったら上手く行った。
>>477 Languageフォルダーを削除してから、もう一度インストールしてみて。
481 :
21 :2009/05/11(月) 17:36:09
本家の 1.6.2 はリリースされないの?
リリースされました。 User-visible changes: * vastly improve memory usage with 'svn merge' (issue #3393) * make default depth for merge 'infinity' (r37156) * make 'status --quiet' show tree conflicts (issue #3396) * allow '--set-depth infinity' to expand shallow subtrees (r37169) * return an error if attempting to reintegrate from/to the repo root (r37385) * don't store bogus mergeinfo for '--ignore-ancestry', foreign merges (r37333) * don't allow merge of difference between two repos (r37519) * avoid potential segfault with subtree mergeinfo (r36613, -15, -31, -41) * recommend sqlite 3.6.13 (r37245) * avoid unnecessary server query for implicit mergeinfo (r36509) * avoid unnecessary server query during reverse merges (r36527) * set depth=infinity on 'svn add' items with restricted depth (r37607) * fixed: commit log message template missing paths (issue #3399) * fixed: segfault on merge with servers < 1.6 (r37363, -67, -68, -79) * fixed: repeat merge failures with non-inheritable mergeinfo (issue #3392) * fixed: another memory leak when performing mergeinfo-aware merges (r37398) * fixed: incorrect mergeinfo on children of shallow merges (issue #3407) * fixed: pool lifetime issues in the BDB backend (r37137) Developer-visible changes: * don't fail if an embedding app has already initialized SQLite (issue #3387) * resolve naming collisions with static stat() function in svnserve (r37527) * fix an expectation for a failing dirent windows test (r37121)
483 :
477 :2009/05/12(火) 10:12:35
>>480 いちどLanguageフォルダーを削除してから言語パックを入れたところ
English以外もリストに表示され、選択することができました!
ありがとうございました。
484 :
デフォルトの名無しさん :2009/05/16(土) 13:11:05
ドライブの中にいろんなところからチェックアウトしたワーキングコピーが ちらばっているのだけど,どこから何をチェックアウトしたのか ドライブ全体をくまなく探索して列挙してくれるようなツールってない? 「お前,随分前にチェックアウトして変更点あるのにコミットしてない ワーキングコピーがあるよ?」とか警告してほしい. WindowsでTortoiseSVNを動かしていればそのキャッシュには すべてのワーキングコピーの所在に関する情報が含まれて いるんだろうけど,そこにアクセスする手段がない. TortoiseCacheにAPIが実装されていればなぁ・・・
485 :
デフォルトの名無しさん :2009/05/16(土) 13:42:01
TortoiseSVN でローカルのファイルシステムにリポジトリを作るとき 作成するリポジトリのフォーマットのバージョンを指定することって できないでしょうか. 互換性のためひとつ前のバージョンのフォーマットで リポジトリを作りたいのですが,昔のTortoiseSVNを インストールするしかないでしょうか.
>>484 .svnで検索
アイコンオーバーレイの範囲も狭められるからチェックアウトするフォルダぐらい決めておけよ。
487 :
デフォルトの名無しさん :2009/05/16(土) 19:46:46
>>486 まぁ基本的にはチェックアウトするフォルダは限定するよな.
それはそうなんだけど,
svn:externals でチェックアウトしたワーキングコピーに
修正をかけても,その上位のワーキングコピーの
オーバーレイアイコンには反映されないので,忘れてしまう.
>>487 externalsのフォルダーもオーバーレイアイコンは反映されるけど?
コミット時もグレイ化された状態で一覧にも出るけど。
1.6.2です。
489 :
デフォルトの名無しさん :2009/05/16(土) 20:43:32
>>488 上の階層にまではそれが伝播しないんじゃない?
とりあえず最新のTortoiseSVNにしてみるか.
>>489 ルートの方へのexternalsはコミット時に出るかはやったこと無いけど、サブディリクトリ方向には伝播して表示する。
オーバーレイするディリクトリのマスクから外れたワーキングコピーは伝播しなかったと思う。
c:\working* のように*は入ってる?
491 :
デフォルトの名無しさん :2009/05/26(火) 04:32:34
TortoiseSVN 1.6.2
sambaの共有フォルダ上で使用しています。
変更ファイルに対して"元に戻す"を実行しても「ファイルリストは空です」になってしまい元に戻せません。
ググって
http://blog.longkey1.net/archives/0000000656 等も試したのですがダメです。
ローカルドライブであれば問題ありませんので原因はsambaでの設定かなと考えています。
("SVN更新"、"SVNコミット"は問題なく利用できています。)
何か情報をお持ちの方ヒントを下さい。
よろしくお願いします。
492 :
491 :2009/05/26(火) 04:46:40
あ、あああ・・ 「変更ファイルに対して」ではなくて「変更ファイルのフォルダに対して」、"元に戻す"で対象ファイルが 表示され無事元に戻すことができました。 お騒がせしてすいませんでしたm(_ _)m #1.6.2で仕様変更されたんですかね・・・Orz
svn moveのオプションなんですが、hgやらbzrにある --afterみたいなオプションは無いですか? WC内でmvコマンドを使って実際に移動させてから svn moveする、という使い方がしたいわけです。 というのも、svn moveはcopy+deleteなので、 WC内ファイルのハードリンク情報が消えてしまうからなんです。 なんかいい方法ないでしょうか?
494 :
デフォルトの名無しさん :2009/05/26(火) 11:55:29
cp svn mv cp
Subversionのマルチユーザー(というか複数人で使う)運用についてお聞きします。 ssh+svnで運用したいのですが、リポジトリにコミットするときのユーザーが問題です。 ユーザーsvn_userさんを作って svn+ssh://example/test-repo/trunk などでアクセスすると思うのですが、 svn_userさんに.ssh/authorized_keys などを適切に設定し、他の人もsshでログインできるようにした状態で、 svn_userさんでアクセスすると、他の人がコミットしたユーザーも全てsvn_userさんだけになってしまいます。 複数人で使う場合に、コミットするユーザーを分けようとすると、 これはコミットする人ごとにユーザーを作ってsshでログインできるようにして(.ssh/authorized_keysなどを適切に設定)、 コミットしなければならないということでしょうか? Mercurialなどではローカルでユーザー名を設定して、 ユーザーhgを作って、 ssh://hg@example.com/hg-test-repo などのようにアクセスしてコミットとpushするだけで、マルチユーザーで使えるのですが…。 どのようにしたものなのでしょうか?
>>495 svn_userのauthorized_keysで
command="/usr/bin/svnserve -t -r /repository/dir" --tunnel-user userA ......公開鍵A
command="/usr/bin/svnserve -t -r /repository/dir" --tunnel-user userB ......公開鍵B
って感じで認証鍵で振り分けるのはどうよ。これなら一つのユーザで済むと思う。
>>496 でダブルクォーテーションの括り方がおかしかった、スマソ。
499 :
493 :2009/05/26(火) 16:10:26
>>494 すいません。ちょっと意味が分からないので詳細教えてください。
最初にコピーするというのは、mvする前にどっかに避難させるということでしょうか?
cpしたらリンクが消えてしまうので一緒の気がするのですが、違いますでしょうか?
500 :
495 :2009/05/26(火) 16:49:59
authorized_keys で以下のように書くことで、svn_userのみで鍵に応じてfoobarさんで 無事にコミットできるようになりました。 command="svnserve -t --tunnel-user=foobar" (以降公開鍵) そこで、つまづいてしまったのですが、 上記方法だと、svn_userでsshでシェルログインして svnadmin create などもできなくなってしまいます。 もし、sshシェルアクセスもさせたい場合は別の鍵を追加するしかないのでしょうか?
TortoiseSVNとEclipseのsubversiveを併用してるんだけど、 subversiveでチェックアウトしてる作業コピーをTortoiseSVNでいじった後に、subversiveでコミットしようとしたらバージョン違いがどうたらってエラーが出た。 今までバージョンがあるのはリポジトリだけだと思ってたんだが、作業コピーにもバージョンってあるのな。 でもsubversiveのためにTortoiseSVNのバージョン下げるとかめんどい・・・。
Subversiveはまだ開発途上です。 いずれSubclipseが主流になる日が来るかもしれません。 でも今は未だそのときではありません。 Subversiveが成長するまで温かく見守ってあげましょう。
Subversiveはまだ開発途上です。 いずれSubclipseの座を奪って主流になる日が来るかもしれません。 でも今は未だそのときではありません。 Subversiveが成長するまで温かく見守ってあげましょう。
最近 subversive は標準になるなる詐欺なんじゃないかと思うときがあるよw
>>507 今年中にはbzr-svnが実用レベルになる。
bzrはやるやる詐欺
>>509 色々手を出しすぎて完成度が低かったけど、bzr2.0に向けて着々と
完成度上がってきてるよ。
本当にbzr-svnがsvk以上になるかどうかはさておき。
1.1の頃に作ったリポジトリ(途中で一回bdb->fsfsに移行した)をダンプして 1.5で作り直したら800MB->500MBになったのだが、ここまでになるとは 思っていなかったので驚いた。 おまいらはメジャーバージョンが上がったらdump/create/loadしてる? それともsvnadmin upgradeで誤魔化してる?
ひとつのリポジトリでリビジョン番号が約 25000、 総容量(fsfs)が 60GB くらいあるので、 dump/load なんてやる根性ないっス。
>>512 画像や音声データが入ってるな。ゲームの開発か?
ドキュメントの版管理やったらギガは結構すぐ行くな ExcelとかPowerPointで10Mくらいあるのガンガン更新したりするし
512でつ。 商用ソフトの開発でつ。 画像なんかは入っていません。 純粋にVC++のソースと、そのときのコンパイル済みバイナリ(*.exe/*.dll)、 それからインポートライブラリです。 インポートライブラリが大きいといえば確かに大きいですが、 これをコミットするのはモジュールI/Fが変わったときだけなので、 総コミット数からみると何十回かに一回くらいじゃないかと思います。 6年前にCVSでSCM化したときから始まっています。 ちなみにリビジョン1のコミット日時は 2003-03-31 10:55:20 +0900 とあります。 最も古いソースは10年ほどになりますか。 商品自体はもっと前からありますが、これ以前は私は他の事業部にいたので、 「このソースは私のローカルが最新」なんて世界だったそうです。
>「このソースは私のローカルが最新」なんて世界だったそうです。 SCM化してるにもかかわらずこんなことのたまう人がたまに居たりして 頭痛くなるんだよねw
>>516 金曜日に帰宅する前にdump/loadを自動で仕掛けておけば、翌週には
リポジトリがスリムになっているだろうな。是非やってみてくれ。
6年分とか怖くて出来ないな…。
> はてながgitに移行できた、たった1つの方法。
> 2008/04にSVNリポジトリが壊れた!
> リビジョン35000くらいのリポジトリ破壊!
> おわたおわたー!
デブサミ2009「株式会社はてなの開発戦略」講演メモ - RX-7乗りの適当な日々
http://d.hatena.ne.jp/rx7/20090212/p1 はてなみたく次に乗り換えるのはぶっこわれた時、なんてならんようにな…
うちもリビジョン3000くらいのリポジトリが先月破損したけど 水銀と天秤に掛けた上で結局svnで再構築した
使い始めてまもないんだけど 時々壊れるものなん?
どんなツールでも壊れることはあるよ 俺はCVSとVSSでも壊れたの見たことある
>>520 みたいにHDDが壊れたとかはsvnのせいじゃないしなあ。
ところでこの記事に、「gitはブランチの作成が一瞬」ってあるけど、svnもそうだよな。
作業コピーの切り替えのことかな?
おまいらdumpもろくにしないのか?一度フルで取っておけば、 後はそのリビジョンから部分的にdumpするだけでいいのに。 そして怖いっていうのが良く分からん。 既存のリポジトリはそのまま温存しておいて、新規にリポジトリを作成して そこにloadすれば良いんだぞ。
壊れるのが怖いならディスクにデータ書き込めない罠 何年も付けっぱなしのサーバでファイルが破損ってのはリポジトリに限らずあり得る話だし 特にバイナリファイルは
>>525-526 リポジトリが壊れるのが怖くてリポジトリのダンプを今度はバージョン管理下におくわけですね。わかります。
わかってねぇな
>>518 512でつ。
thx.
土日も害中三がコミットしてくるので、あらかじめアナウンスしとく必要があります。
来月には新しいバージョンをリリースするので、そのときにスケジュールとってやってみます。
dump/loadは使っていませんが、リポジトリのバックアップ自体はとっています。 fsfsなのをいいことに、毎晩、地理的に離れた場所にあるサーバにssh+rsyncしています。 まぁこれも、dumpで差分だけコピるようにすればはるかに効率的なんですが、 スクリプト書く手間が面倒だからズボラしているというのが正直なところです。 でも、その言い訳をするわけではありませんが、 dump/loadだとリビジョンが2万も3万もあるリポジトリを復旧するまで業務が止まってしまうので、 毎晩のrsyncに多少時間がかかっても、会社組織での運用という面ではこれもアリなのかなぁ...と。 rsync自体も今のところ1~2時間で終わっているので、当分の間は十分に許容範囲です。
>>529 >>518 だが、やったら是非結果をレポートしてくれ。
一つ言っておくと、リポジトリを置いてあるマシン周辺のディスク容量に問題が
無ければ、毎晩リビジョンを2000ずつとか、一晩で終わりそうな分だけdump/load
するというのもあり。これだとダウンタイムほぼ無しで行ける。
>>530 それでも良いかもね。ただし、特定のリビジョンが壊れているといけないので、
バックアップを取った後にsvnadmin verifyはかけておいた方がいいな。
>>531 色々thx.
来月、スケジュールを立ててやってみて、結果をご報告します。
その前にディスク容量を空けとかないと。(藁
svnadmin verifyまでは考えが及びませんでした。
リモートのサバ缶(うちの害中三)に伝えておきます。
>>527 ネタにもなってないし、言い回しは腐ってるしw
>>530 rsync使う場合、マスタのfsが壊れてそれに気づかずにバックアップ側にrsyncかけて
バックアップまでこわしちゃう可能性があるから、やっぱり万が一に備えて時々
差分dumpを取って物理的に離れたストレージに保存する方がいいよ。
たまにLinuxのディス鶏なんか ぶっ壊れたisoがミラーにばらまかれて全米が泣いたりすることあるしな
でもはてながリポジトリのバックアップ取ってなかったってお笑いだよな。
取ってないってか取れないだろうなリビ3万越えとか バージョン管理が目的じゃなくてバックアップすることが目的くらいの勢いになっちゃうわ
>>537 お前は今までのスレの流れを読んだ上でそんなことを言ってるのか?
インクリメンタルバックアップを取れば良いだけの話だ。
539 :
デフォルトの名無しさん :2009/06/07(日) 18:13:31
実際バックアップ取ったことないだろ。 そんな簡単な話じゃないぞ。
実際にやっているから言っているんだが。何がどう難しいか言ってみろ。
541 :
デフォルトの名無しさん :2009/06/07(日) 18:28:45
インクリメントする元の過去の部分が壊れててもだれも気がつかない
>>541 ???
リポジトリの特定リビジョンが壊れていたらそもそもdumpに失敗するわけだが。
やったことない奴が会話に紛れこんでるってことか どっちかしらんが
流れからしてsageてないやつが犯人
dumpする側じゃなくてマージする側だろ 最新版は取り出せても過去のものは取り出せなくなる
>>545 そんなものは運用の問題だろうが。
dumpしたファイルのmd5sumでも取っておけば済む話。
ダンプする側じゃないと何度言えば ダンプしたときは壊れて無くても ファイルを置いておけば壊れる可能性がある その壊れたものにマージしていったら過去の部分は壊れたまま そこが必要になって取り出してみるまで気がつかない
そして本体が破損してバックアップから戻そうとすると そっちも壊れていることが発覚して全米が泣くと
549 :
デフォルトの名無しさん :2009/06/07(日) 18:46:55
ぶっちゃけ実務で必要なのって近1週間分くらいだからバックアップ取らないんだろはてなも ソースコード保存マニアなら、最古のコードまで保存したいんだろうけど
リポジトリじゃないけど、DBの差分バックアップで泣いたことは確かにあるわ。 バックアップの度にベリファイしてたらきりないし、結局トレードオフだよね。
>>547 だからdumpファイルのmd5sumを取ればいいと言ってるだろうが。
こんな簡単なことも考えつかないのか?
552 :
デフォルトの名無しさん :2009/06/07(日) 18:49:50
まぁだからOracleもわざわざコールドバックアップなんてものをやるわけだから 結局フルバックアップしない限り、バックアップが完璧になることはないよ
>>551 意味ないでしょそれ比較しても
本当にdumpしてる?
554 :
デフォルトの名無しさん :2009/06/07(日) 18:53:59
壊れたファイルのmd5sum取っておいて あとで比較して一致したのでめでたしめでたしと壊れたファイルを保存するオチだな バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
>>553 だからどう意味が無いんだ?
定期的にmd5sumをチェックすれば
> ダンプしたときは壊れて無くても
> ファイルを置いておけば壊れる可能性がある
という問題は完全に防げるだろうが。
>>554 dumpした直後にファイルが壊れるような信頼性の低いシステムを使うことが間違い。
> バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
お前の言うような信頼性の低いシステムでは、そんなことをしても正当性を
チェック出来ないぞ。
>>553 お前の使うシステムではdump直後にファイルが壊れてる確率がそんなに高いのか?
558 :
名無し募集中。。。 :2009/06/07(日) 19:12:03
なんかもう人格否定じゃん
どこが人格否定なんだよ
システムの信頼性に疑問がないならそもそもバックアップいらないんじゃねみたいな
おまいら、頭を冷やせ 非現実的な極論ばかり言っても仕方ないだろ
人のやり方を否定するより、 私はこうやってますよ。あなたの方法よりこんな点が優れてますよ。 って書いて欲しい
うちは hotcopy で毎日バックアップ取ってる(前7日分まで保持)。 dump/load は、Subversion のバージョンアップの際、 リポジトリフォーマットの互換がない場合にしか使わないなー。
>>563 リポジトリが大きすぎなければ、hotcopyが一番楽だよな。
dumpは運用としては現実的じゃないよね
うちはリポジトリ(9個ある)ごとに、svnadmin hotcopyして、svnadmin verifyして、tar.gz で圧縮して別ディスクに格納。これを最新10日分保存。 以上の作業を行うシェルスクリプトを、Hudsonで1日1回, 5:45から実行している。 スクリプトの実行時にエラーが発生したらメールで通知されるし、スクリプトが標準出力・標準エラー出力に表示した文字はすべてHudsonがログを保存してくれるので便利だ。
>>565 それはケースによるね。上で議論になっていた60GBもあるような
巨大なリポジトリだとhotcopyが非現実的になり得るわけだから。
巨大リポジトリだとそれこそ過去の分は不必要だろうから はてなみたいに捨ててしまえばいいのさ
論理が飛躍しすぎていて何を言っているのか分からん
>>512 が関わっているようなリポジトリで過去の分が不必要だなんてことは無いだろ
dump は、 rev0-rev1000 みたいに部分的に取ることもできるし、 --increment を使わないで古いリビジョンを捨てたdumpを取る 事もできる。 マスタが壊れたときには、 --increment を使わない「浅い」dumpを 復元して一時的に運用を続け、深いdumpを時間を掛けて復元すれば良い。 ・・・で、合ってる?
subversionを捨てればいいんじゃないか、
必要な時だけ読めれば良いとか、そんな程度でしかないと思うけど
SVNのリポジトリは過去リビジョンのファイルは変化しないので、HOTCOPYを差分バックアップすれば済むと思うんだけど、どうかな
>>573 昔の部分が壊れた場合、差分バックアップのときに壊れた部分も差分として
バックアップされない?
その後、差分の中から壊れてない部分を抽出するのが面倒。
逆に、 dump と dump --incremental でまずいのは何?
>>573 運用で避けられるし使わないことが多いと思うが、過去のリビジョンの
プロパティを変更出来るので結局差分バックアップは完全ではないんだよな。
やっぱりhotcopyが一番楽かつ安全性が高いということになる。
結局、「大容量のファイルをいかにバックアップするか」という普通のバックアップの話になると思う。 毎月フル、毎週差分、毎日修正ファイルのみ、みたいな。
svn のバージョンアップに強いのは dump? or hotcopy?
>>577 当然dump。dump/loadは基本的にコミットログのリプレイだから。
リポジトリを完全にアップグレードするにはdumpするしかない。
svn commit のときに changelist に含まれないものだけコミットする方法はありますか?
580 :
デフォルトの名無しさん :2009/06/17(水) 17:11:30
subversionの運用について教えてください。 svn + apacheでmod_svnを使った運用を考えています。 リポジトリとプロジェクトの関係で2つの方法があると聞きました。 1.1リポジトリに対して複数のプロジェクトを管理 /home/svnにsvnadmin createして、配下にsvn importしていく。 りビジョンが通しで付くので1プロジェクトに対し一貫性がない。 svnadmin createが1回だけですむ。hookscriptを一度定義すればよい。 2.1リポジトリに1プロジェクト /home/svnの下にプロジェクトごとにsvnadmin create する。 リビジョンはプロジェクト単位で一貫性がある ただしプロジェクトが発生するたびにsvnadmin createする必要がある。 hookscriptなどをその都度用意する必要がある。 皆さんはどんな風に運用していますか? 設定は2で、1のように1リポジトリに複数という形式もありかなあと思っていますが、 実運用っぷりをきいてみたいです。
運用、運用って言うけど、 結局、どのくらいの頻度で新しいプロジェクトが立つかだけじゃないの? リビジョン番号の一貫性云々言うけど、 どうせ branch + trunk でごちゃごちゃになるし、 別にたいした問題だとは思わないけどね。
>>580 1リポジトリで複数プロジェクトにしておけば、
あとは特定のディレクトリ以下を別リポジトリに独立させることができるよ。
ただし、ディレクトリ作成を独立したコミットにしておく必要がある。
レポジトリのログを一覧して見たときに、 自然なまとまりになるであろうようにする。 それが俺ルール。
リポジトリ vs レポジトリ 論争がまた始まりそうな予感
あろうようにする
586 :
デフォルトの名無しさん :2009/06/21(日) 23:50:40
前回も確かそうだったが、最近Subversion本体よりTSVNの方が (少なくともWebでは)先にリリースされとるな。 チーム内で何か確執でもあるのだろうかw
サーバーを1.5.4で運用しているのだが、クライアントを1.6.xにすると どの程度遅くなる?無視できる程度? ちなみに使っているプロトコルはsvn+sshです
ちと質問。 勉強でTortoiseSVN1.5.6を使用し始めて、その後コマンドライン版svn1.5.6を使用中。 リポジトリはTortoiseSVNでローカルに作成したものを使ってます。 OSはWindowsXP。 1.6.3が出るようなのでサービスを稼働させる前にバージョンアップしようかと思ってますが、 どの程度互換性があるのか今一つわかってません。 ・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト ・リポジトリは互換性あり、気になるならバックアップしておく程度でよし というのがこのスレ読んで考えた対処法ですが、合ってますでしょうか。
>>587 TortoiseSVN の開発チームは Subversion 開発チームとはまったく別。
TortoiseSVN のビルド~リリース手順は Subversion 側のタグ作成が済んだら始まる。
その手順が Subversion 側のタグ作成~リリースの手順よりも速いってだけ。
>>338 >>472 の件、ようやく本家で対応されますた
Version 1.6.3
(19 Jun 2009, from /branches/1.6.x)
http://svn.collab.net/repos/svn/tags/1.6.3 User-visible changes:
* fix segfault in WC->URL copy (r37646, -56)
* let 'svnadmin load' tolerate mergeinfo with "\r\n" (r37768)
* make svnsync normalize svn:* props to LF line endings (issue #3404)
(略)
TortoiseSVN1.6..3にバージョン上げたんだけど コミットする時の対象一覧が常に空と表示されるようになって 選択されてない状態になるんだけど
俺も変更リストが空になってる。 ignore-on-commit使ってるのが悪いのかしら。
>>596 そのようだね。ignore-on-commitがあるとチェックが外れるみたいだ。
svn help XXX のメッセージが日本語と英語がかなり混在しているけど 日本語への翻訳はもうしていないの?
svnbookの1.6対応日本語版マダー?
>>589 ,
>>592 1.3 の頃に作った300MB、リビジョン1400のリポジトリを 1.6 で dump/load したら
100MBぐらいになりました。
そこから更に dump したのを 1.3 で load したら元のサイズになったので、
中身が飛んだりはしてないらしいです。
作り直しが効果的だった例ということで。
601 :
デフォルトの名無しさん :2009/06/28(日) 12:18:41
レンタルファイルサーバのWebフォルダ(WebDAV)上にリポジトリを作成してそれをWindowsから使いたいんですが、
TortoiseSVNで右クリックしても「リポジトリを作成」が出てこなくて、一旦ローカルでリポジトリを
こさえてからエクスプローラでコピー、またはTortoiseSVNの再配置を使ってWebフォルダを指定しても
「リポジトリは恒久的に'
http:// ~'へ移動しました。relocate(参照URLの変更)を実行してください。」
とエラーメッセージが出てきて先に進めないのですが、どうすればうまくいくのでしょうか?
普通にSambaファイルサーバ上のリポジトリにアクセスするのと同じようにはいかないのでしょうか?
>>598 subversion/po/ja.po のコミットログを見てもらえればわかるとおり、
訳してた人が1年以上動けてないみたい。
リアルな生活が忙しくてそれどころではないという噂を聞いたです。
>>599 svnbookの1.6対応版ってtrunkかなぁ
tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、
TortoiseSVNのマニュアルが滞っててそれどころでもなかったり。
603 :
589 :2009/06/29(月) 00:31:21
>>592 >>600 ありがとうございます、全くの反対方向に理解してたことがよく分かりました。
とりあえず1.6.3を落としてきました。
先に教えてもらったページを読み込んでからバージョンアップに挑戦してみます。
>>601 普通はサーバ上で本家のSubversionを動かし、さらにそいつでレポジトリを作っておく。
そうしておいて、クライアント側からTortoiseSVNなどでチェックアウトするというのが素直なやり方だと思う。
知らないならレスしないでください
>>605 お前、もう誰からもまともなレスは付かないぞ。
さっさと知恵袋にでも逝けw
自分がどれだけアホな質問をしてるのか、それは数年後にわかるだろう
IDなしだから、605は私じゃありませんと言い出すんだよね
ていうか、
>>605 みたいなレスをあちこちに投下してる愉快犯がいやがる。
OpenGLスレでも同じようなキチガイがいたな
IDなしの板で質問するのがアホ
612 :
601 :2009/06/29(月) 19:58:15
> 知らないならレスしないでください これはIDなし板での恒例のレスだろww
そういうレスを面白半分に投下する奴は人間の屑だと俺は思うが。
面白半分じゃなくてID推進活動の一環だろ。 質問はトリ付けることを推奨でいいんじゃね。 IDは変わりやすい人もいるからIDあってもトリ付いてた方がいいし。
2ちゃんねる的にはIDを付けなければならんほど、住人の民度が落ちた、 ということで、IDが付くのは、ある意味、終わったということなんだが。 そんなにム板を終わらせたい奴がいるわけ?
住民がどう以前に関係ないやつがおもしろ半分にあちらこちらで暴れてるんだからどうしようもないだろ
こんなの恒例なんだから、スルすればいいだけのことだよ
「鍋太郎」氏のサイトのが1.5相当だったかと。
621 :
デフォルトの名無しさん :2009/07/06(月) 20:40:19
すっごい初歩的な質問なのですがMac OS X 10.5+Xcode 3.1+subversionな環境で エラー:155007(Path is not a working copy directory)説明:'/path/to/hogehoge' is not a working copy と出る場合はどうすればいいですか?
>>619-620 半分ぐらいしか訳せてなくて申し訳ないのだけれど。
一応リファレンスだけは訳したつもり。
>>621 「チェックアウトしたディレクトリではありません」ということです。
何をしたいのかによりますが、
チェックインしたいなら、先にチェックアウトしてみてください。
Subversionって管理者権限を持ってると変更履歴の改竄は可能ですか?
履歴とは何 ログなら可能
>>626 ログメッセージじゃなくログそのものですね
xxというソースを追加したとか変更したとか
↑ いちいち余計なひとことで他人をムッとさせるタイプのひと。 ログ ヒストリー 履歴 たしかに統一してほしいけど、読めばわかるだろ。
どう見てもお前さんのレスこそ他人をむっとさせるだろw
むっ
改竄だと rev.NNNを無かったことにする -rNNN:NNN+1 の差分を変更する とかじゃないの?
むっ
>>631 そうです
あるリビジョンで追加したファイルがなぜか変更扱いになってたりとあとで
改竄できるのかなあと思いまして
当然追加を変更扱いするわけなのでもっと前のリビジョンで追加されてたことにするわけですが
なんで自分のやりたいことを具体的に説明できないのかねぇ。 まぁ、きちんと説明できるくらいなら自力で調べることもできそうではあるが。
>>633 聞いた限りでは、ただの勘違いにしか思えないな。
>>633 履歴の削除はできます。
削除した場所に別の履歴を入れたりは難しいです。
普通は履歴を改竄する必要はないはずです。
よっぽどのこと(顧客の個人情報をコミットしてしまった等)があった場合には、
その部分の履歴を削除することはありますが、
それ以外では、単に追加・更新していくだけで大丈夫なはずです。
ソフトウェアの情報を見ると バージョン番号の次にリビジョン番号(1.2.3-r45678)がくるものがあるけど C/C++のソースコードにsubversionのリビジョン番号をソースコードの中に組み込む事ってできるんですか?
何でドキュメントを読まないの?
オレのドキュメントは2ちゃん
>>637 過去ログで何回も出てるけど、
svn:keywords, svn info --xml, svnversion, subwcrev (TortoiseSVN)とか。
あと、継続的実行 (Continuous Integration。わからなければググレ)してるなら、そっちの機能でも出来たりすることがある。
643 :
デフォルトの名無しさん :2009/07/17(金) 19:20:27
TrutoriseSVNでsvn+sshで接続できなかったので初心者質問です。 前任の人が入れていったSubversionを利用したくて、Subversion初心者なりに頑張ったのですが ダメでしたので質問です。 ・前任者がパスフレーズと、「ssh_rsa.ppk」なるファイルを残していった ・Puttyではこのppkファイルとパスワードで接続できた ・TrutoriseSVNのネットワーク設定でこのppkファイルを食わせて、ユーザー名とパスフレーズを入れてもログインしてくれない 自分の環境はWindowsXP、TrutoriseSVN1.6.2 接続先はSubversion1.4.6 LinuxはRed Hat Enterprise Linux ES release 4 (Nahant Update 5) と記述してありました。 Unix文化やセキュリティというものに親しんでこなかったので、何が悪いのか調べる方法に困っている状況です お知恵を頂ければありがたいです
644 :
643 :2009/07/17(金) 19:34:24
一応前任の方のメモ書きを参考にしたのですが、どうしてもパスフレーズを求められて メモに書かれたものを入れてもログインできません。(Puttyだと通った) ・リポジトリブラウザに入れたパスの問題なのか ・パスフレーズの問題なのか ・それ以外なのか ちょっとどれが有力なのかも自分の中で絞れない感じです 前任者のメモの要約です。 (miyaが前任者の名前) 【TortoiseSVNの設定】 ・エクスプローラー上で右クリック→TortoiseSVNの設定→ネットワークを表示 ・SSHクライアントのボックスに以下を入力 C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l miya -i 秘密キーファイルのパス ・リポジトリブラウザで以下のURLにアクセス svn+ssh//hostname/home/miya/svn/project/hogeprj/reps/trunk (hogeprjがプロジェクト名) よろしくお願いいたします
>>643 えっと、参考になるか分からないけど、自分の設定を晒しときます。
SSHクライアントはPutty付属のplinkw.exeを使って -batch オプションを付けてます。
で、接続する前にこれまたPutty付属のpageant.exeを起動して秘密キーを登録しておきます。
これでレポジトリにアクセスできてます。
647 :
645 :2009/07/17(金) 19:57:58
追記。 レポジトリにアクセスするときにユーザ名を付けてます。 svn+ssh://user@host/svn/repo/trunk
subversionの環境を使いたいの? それとも、リポジトリを使いたいの?
リポジトリを使いたいだけなら、がんばってサーバでリポジトリをダンプして、 windowsでインポートすればOK
複数案件を、検証用サーバ、本番サーバに順不同でリリースしたい場合の例ってどこかにありますか? 具体的には、検証用サーバには案件A Bの順でリリースしたが、 本番サーバには案件B Aの順でリリースしたい場合です。 現在のリポジトリ構成 trunk 検証、本番 branches 案件A 案件B のような感じです。
「リリース」でSubversionで何をしたいのかがわからん
各サーバで普通にチェックアウトするだけじゃないのか
654 :
650 :2009/07/18(土) 01:58:14
言葉が足りずすみません。 既存システムの修正を行おうとしています。 修正の内容が2種類あり、それらのリリースタイミングが異なるため、別のブランチを作成します。 リリースはtrunkにマージしたものを本番サーバに配布することを指しています。 また、それぞれの案件が同じファイルを修正する可能性もあります。 検証用サーバを挟まない場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aをリリース) Aをtrunkにマージ 3 (Bをリリース) trunkの変更をBにマージ後、Bをtrunkにマージ という流れでいけると思っています。 しかし、検証用サーバを挟み、本番サーバへBを先にリリースしたい場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aを検証用サーバにリリース) Aをtrunkにマージ 3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ 4 (Bを本番サーバにリリース) とやってしまうと、Bを先に本番サーバへリリースを行おうとした時に、BのブランチにはAの内容が 含まれた状態になっているため、Bのみの内容を抽出することが難しいのではないかと懸念しています。 伝わるでしょうか。。。
リリース直前に専用のブランチを作って、そこで切ったタグからリリースしてはどうでしょう。 リリース直前の修正はブランチで行い、trunkへのマージはタグ切ってリリースした後で。 そもそも、本番サーバへのリリース計画と異なる手順で検証用サーバにリリースするのが間違いのような。 いったい何を検証するつもりなんでしょうか?
>>654 なんでtrunkにマージすんだよ。
branchの先端をリリースしろ、馬鹿。
657 :
653 :2009/07/18(土) 14:32:00
>>654 流れは大体合ってる。
>3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ
ここの後半で競合が起きるかもってことかな?確かに起きる。
TortoiseSVNであれば、このときはBをtrunkにマージではなくって、ブランチを再統合するを選べばOKだよ。詳しくはtortoiseSVNのヘルプの4.20ブランチの再統合を参照してね。
尚、Bの変更内容だけを抽出したいなら、trunkの変更をBにマージした時点でのBとtrunkとの差分をとればBの変更が抽出できる。
ありがとうございます。
>>655 確かに、同じファイルを変更する可能性があるため、後から検証サーバに配置したものについて、
厳密に検証が行えなくなることは認識しています。
専用のブランチというのは検証用サーバと同じ状態にあると見なすブランチということでしょうか?
>>656 Aブランチの先端をリリース、Bブランチの先端をリリースという順で行うと、同じファイルを変更した場合に
Aブランチの修正が消えてしまうのではないでしょうか。
>>657 競合が起きるのは仕方ないと思っています。TortoiseSVNの統合をもう少し見てみます。
Bの変更内容は確かにおっしゃる方法で抽出できると思うのですが、検証サーバでの修正を
どこにコミットすればいいのかが分かりません。
trunk(検証サーバの最新状態)に入れた場合、Bブランチに入れた場合ともに、Bのみの修正を抽出
しにくくなると思っています。
1 検証サーバの状態を保つためのブランチ(test)をtrunkから作成
2 (Aを検証サーバにリリース)
Aをtestにマージ
3 (Bを検証サーバにリリース)
Bから作業ブランチBsubを作成
Bsubにtestの変更をマージ
Bsubをtestにマージ
なども考えてみたのですが。。
もう少し考えてみます。
>>658 本番サーバと違うことを検証サーバでしようとするからおかしくなる。何のための検証サーバか。
開発スケジュールとリリーススケジュールがずれるのはいいとしても、
リリース時の手順はしっかり合わせた方がいい。
>>658 もっと単純に考えたほうがいいんじゃないかな。
trunk 本番
ベータ版ブランチを作成。ベータ版フィードバックをベータ版ブランチへ、その後trunkへマージを繰り返す。
最終的にtrunkからリリースブランチを作成。
そろそろうざいな。 必要なAの変更とBの変更をブランチだかtrunkだかにマージすればいいだけの話だろ。 ブランチ作成後にtrunkに変更を入れるのかどうか知らんけど、 リリースに必要な変更を全てマージすればいいだけの話。 ブランチが足りないなら、さらにブランチ作って、不要になったら消せ。
>>650 基本的には、本番環境にリリースする単位で検証しなければいけない。
branch作成後にtrunkにA,Bと関係ない変更を行わないという前提で考えれば、
1. trunkでAの修正を行う
2. branchBを作成し、Bの修正を行う
3. Aの修正が終わったら、trunkを検証にリリース(なぜこれを先にリリースする必要があるのかわからない)
4. Bの修正が終わったら、branchBを検証にリリース
5. branchBを本番にリリース
6. それと同時に、branchBをtrunkにマージ
7. マージしたtrunkを検証にリリース
8. trunkを本番にリリース
つまり、検証には三回リリースしなければならないということ。
>>658 それぞれのbranchでの変更は、そのbranchにcommitしろ。
マージはそのbranchがfixしてからだ。
>>659 > 本番サーバと違うことを検証サーバでしようとするからおかしくなる。
客からの要望が
・A Bをやりたいがどちらを先に本番リリースするかは決まっていない
・どちらも本番リリースすることは確実なので、対応できたものから検証サーバに配置して欲しい
というものなので、そうなってしまいました。
>>661 はい、必要なブランチを作成して不要になったら消そうとしています。
>>660 >>662 ありがとうございます。もう少し考えてみます。
1.branchAを作って、Aの修正を行い、検証サーバにリリースする。 2.branchBを作って、Bの修正を行い、検証サーバにリリースする。 3.branchA、branchBをtrunkにマージし、検証サーバにリリースする。 クライアントの要求に従って、(1、3)あるいは(2、3)の順でリリースする。 リリースの順番が早く決まるんなら、もう少し手順は省略できるが、わからないならこれしかないのでは。
666 :
665 :2009/07/18(土) 22:34:05
どう実現するかを考えるのももちろん必要だけど、リリース順序をクライアントに決めさせる努力も重要。 文脈から、クライアントが行う受け入れテストの基盤を「検証サーバ」と呼んでるような気がするが、 リリース順序の決定が遅れる場合は、受け入れテストの工数が増大することをクライアント側に説明 しておく必要がある。二回の受け入れテストで済むものが、三回必要になるかもしれないということ。 まぁ、開発側も受け入れ側も、Aの検証を行い、Bの検証を行えば、AとB両方入れてもOKっしょ的な、 運を天に任せるというやり方でもいいけど。
そんなトロい客とSEは回帰バグで死んでしまえ。
どちらも最終的に必要なのに、どちらが先かわからないということは、同時に用意することになるんだね。 ならば、AB同時にやって条件ifで片方の機能を殺して提出する方が楽かもね。
669 :
デフォルトの名無しさん :2009/08/02(日) 09:23:05
先生質問です ノ svn:keywords=Revと属性を付けておくと$Rev$を置換してくれますが、 あくまで、このファイル自体が変更されたタイミングですよね。 で、このファイルに変更が無くても、他のファイルをコミットするときに 置換して欲しいんですが、そういう方法ってありますか? 希望する動作: a.txtは属性svn:keywords=Rev b.txtは属性なし b.txtを変更してコミット a.txtは変更していないが$Rev:$が置換されている リポジトリは共有フォルダ(必要があればsvnserveも変更可能)、 クライアントはTortoiseSVNです。
それくらい、バチファイルで組め
どっちかというと、変更して無いファイルをコミットするコマンドがあるのかに興味があるな。
変更すればいいじゃん
673 :
デフォルトの名無しさん :2009/08/02(日) 20:02:00
>変更して無いファイルをコミットする 単にタイムスタンプを変更したいってこと?
>>673 コミットログ書き忘れたときに簡単にログだけを追加したいと思うことがある。
>>674 svnadmin setlog でOK
677 :
669 :2009/08/03(月) 12:08:06
>>670 >>672 ・コミットはTortoiseSVNから
・チームで開発してる
・漏れを無くしたい(自動的に、確実に)
という状況/考えだったので、
クライアント側はTortoiseSVNの操作だけにしたいな、と思いまして。
私だけならバッチで良いんですけどね。
ちなみに目的は、各環境のDB構造のバージョンアップ(alter文とか)
の際に↓のようなsqlを最後に流して、
その環境に、どのrevまでの変更を適用したか
より確実に残しておきたかったんです(今は手動でrevを書き換えてupdate)。
--rev.sql--
insert into upd_rev(dt,rev) values(now(), '$Rev: 0 $');
とりあえず、フックスクリプトで出来るかやってみようと思います。
>>674 たまにそれやって空行追加して再コミットしてるw
過去の内容変えるとsvnの差分バックアップとか
svkのミラーリングに入らないしね。
>>677 rev.sqlのヘッダ部分に日付を手作業で入れておく。
他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更してコミット。
これでrev.sqlには常に最新のリビジョンが入るよ。
そゆのって、チェックアウト側でやるもんじゃないの? チェックアウトして svnversion でリビジョンを取得して、 rev.sql を自動的に書き換えて DBに流し込む
>>677 ログが空ならコミットさせないようにすればいいじゃん
682 :
677 :2009/08/03(月) 19:29:22
>他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更して
ここが自動でないなら、今まで通り手動でRev入れるのと大差無いので。
>>681 空でコミット流石にしないかな。書き忘れたことがある場合ね。
フックスクリプト試したけど、
pre-commitだとトランザクション名指定して内容書き換えるの無理っぽいし、
post-commitなら変更出来るだろうけど毎回2コミットになって論外・・・。
クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
683 :
677 :2009/08/03(月) 19:32:54
頭が悪すぎる
頭悪くて申し訳ないけど、良い方法が有れば教えて頂けると助かります
いえ、クライアント側の設定不要で自動的に書き換わっている(=漏れが無い)のを求めていて、 置換自体は別に手間でないので。
ごはん食べずにお腹いっぱいになる方法、ありますか?
変えてないファイルのリビジョンをいじる必要があるのか考え直したほうがいいのでは?
690 :
デフォルトの名無しさん :2009/08/03(月) 21:08:35
>>677 よくわからないんだけど、
Excelで台帳作って、管理するとかじゃ支障があるものなの?
ねずみさんはひらめきました。 そうだ、猫の首に鈴をつければいい! ・・・で、いったい誰が?
管理はしたくない。 だって、管理し忘れたら意味無いだろ? ってことか。
693 :
デフォルトの名無しさん :2009/08/03(月) 21:26:16
個人的にはチーム開発ほどコミュニケーションが重要だと思う。 機械で自動化したからOKみたいな乗りだとちょっと怖いな。
打ってるんじゃない、打たされているんだ
>>682 あれ?
だから、書き忘れないように空コミットを防ぐスクリプト使えばよくね?って話で。
もしかして書き忘れって部分的な書き忘れ?
そんで、本題の方だけど、DBに新しいレイアウトを適用した人が責任を持って設定するのではダメ? もしくはalterなりなんなりのスクリプトをコミットするときにバージョン情報も更新するスクリプトを変更するようにするとか。 *.sqlがコミットされた場合に、version.sqlも一緒にコミットされていなければはじくスクリプトとかできるよね?
それを忘れた場合が困るんじゃね?
698 :
デフォルトの名無しさん :2009/08/04(火) 00:31:25
実際のDB環境環境と作業頻度みたいなのイメージがわかないから解らないが、ぶっちゃけどんぐらい大きさのなんだよ。 DB更新先が、10,000箇所とかあって、作業員も100人以上とかで並行作業で困ってるとかなら同情するが・・・
>>687 逆の発想で、アップデート時にリビジョン入りファイルを出力するのはどう?
TortoiseSVNを使っているなら post-update フックが使えるよ。
>>699 >>682 >クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
だって。
もうすべてきれいに忘れそうな勢い。w
しかも相手にしているのは小児病のメンバーってか?w
TortoiseSVN のマージで PEG リビジョンを指定するにはどうしたらいいのでしょうか?
703 :
デフォルトの名無しさん :2009/08/07(金) 13:26:04
704 :
デフォルトの名無しさん :2009/08/07(金) 13:29:18
>>702 マージダイアログでURLの後に“@番号”とつければいいのではないかと思います。
>>705 TortoiseSVN 1.6.4 で試しましたが、
「エラー: パス '/sandbox/!svn/bc/22/test/trunk@19' が見つかりません」
というエラーが出てきました。
1.6.4 アイコンの色合いとか微妙に変わったね
Windows Server 2003 VisualSVN Server2.0.5 Windowsのバッチファイルでsvnadmin等のエラーが発生したかどうか ERRORLEVELで判断することは可能ですか? svnadmin hotcopy if errorlevel 0 goto end if errorlevel 1 goto error svnadmin dump if errorlevel 0 goto end if errorlevel 1 goto error いろいろググってみましたがそもそも値が返るのかもよくわかりませんでした。
svnadmin が終了コードを返すのかどうかは知らないけど
>>710 は errorlevel の使い方が間違ってる。
まちがい
if errorlevel 0 goto end
if errorlevel 1 goto error
正しい
if errorlevel 1 goto error
if errorlevel 0 goto end
他のやり方その1
if %errorlevel;%==1 goto error
他のやり方その2
svnadmin hotcopy || goto error
くわしいことはバッチファイルのスレで質問して
712 :
デフォルトの名無しさん :2009/08/11(火) 13:45:53
フックでハマタ\(^o^)/
http://subversion.tigris.org/faq.ja.html > どうしてリポジトリのフックが動作しないの?
> フックは、外部プログラムを呼び出すことを期待されているんだけど、
> その呼び出しが、全然生じていないよう感じだ。
>
> Subversion はフックスクリプトを起動する前に、全ての環境変数を取り除く。
> その中には、Unixでは $PATHが、Windows では %PATH% が含まれる。
> 結果、スクリプトでは、絶対パス名の記述された他のプログラムだけを実行可能だ。
アドレスだけでいいから、テンプレに入れといて。
どおりで、PYTHONPATH設定しているのに、フックから見えないはずだな!
そんなことcrontab書いたことがあれば当たり前の話な訳だが。
svnのフックはcrontabじゃないわけだが
>>714 類似性に気付かないあたりが経験不足だな。
自分で痛い目に遭ったし人が痛い目に遭ってるのも見てるから、
crontabを挙げたくなる気持ちはよくわかる。
crontabもまあ似てるけれど、cgiの方で引っかかる人も多くない? apacheはどのユーザとして動いてんの?っていうの。 広げてもしょうがない話ではあるけれど…
Windowsなら、 ユーザーの環境変数は使用できないけれど、システムの環境変数は使える ってのが普通に予想される動作だろう 全ての環境変数を取り除くなんてのは、当たり前の動作じゃない
間違って変なものが動いてしまわないようにするのは良いことじゃん。
当たり前かどうかは人それぞれだと思います。
当たり前でない人のために、次のテンプレに
>>712 を入れるのがいいと思います。
環境変数に依存するのもどうかと思うよ。
システムの環境変数ってのも改めて考えてみると気持ち悪いな
そう?/etc/profile も嫌?
環境変数って結局グローバル変数だよ。 どこで誰が書き換えたかわかったもんじゃないし
プログラム側でPATH=/binとかいちいち指定するつもりか
環境変数は親から子へしか伝播しないのだからグローバル変数ほど悪くないよ
気持ち悪いなと思ったのは
/etc/profile とかって確かにシステムワイドではあるけど
sh がそれを読み込むというだけだし
だったらログインシェルがないユーザだと
どーなんかと
「システム」の環境というのとはちょっと違う気が。
あとまぁ
>>723 みたいなグローバル変数的なとこが気持ち悪いな。
>だったらログインシェルがないユーザだとどーなんかと これ解らないで口出すとかネタだよな? UNIX系じゃnologinのユーザ作ることあるけど その場合の動きが解らんと言う事か?
svnで直前のコミットを取り消すにはどうしたらいんでしょ。 ファイル自体は元にもどしたくありません。 コミットした後で、いくつかのファイルが保存されていないことに気づいたのです。 git commit --amend みたいなものです。
取り消したいファイルだけコミットし直せ
>>728 よく有る話だけど、あきらめて残りをコミットしてログに「前のリビジョンとセットです。スマソ」と書いておけばいいんじゃないかな。
リポジトリのcurrentってファイルに書かれてるリビジョン番号を戻せば可能ではあるけど 非常にオススメできない。
極端な話、取り消すことができたとしても間違えて取り消したら取り返しの付かないことになるからね。あまりそういう機能は欲しくないな。 どうしても消したいなら、落ち着いてdump&loadするしか
ログインシェルが指定されてないユーザならshとか標準のシェルが呼ばれるだけだろ (中身はcshやbashだったりするけど)
>>727 まさに nologin とか false だとどうなるんだろうと思ったのです
その場合 /etc/profile とか読まれないのだと思ってたけど
もしかして恥ずかしい勘違いだった?
>>729-732 サンクス
gitやhgだとできたけど、svnではできないのか…。なるほど。
とりあえず、
>>730 みたいに「すまそ」って書く方法でいきます。
BTSと連動はさせているから、チケットはコミットと複数関連付けできるし、問題ないのかもしれない。
ちっちゃいプロジェクトがいっぱいある会社には不向きだな
大変、困ったことがありまして、相談いたします。 以前、プログラムミスで (省略)\trunk\hoge\ というディレクトリを作るつもりで、 単体のファイル (省略)\trunk\hoge を生成して追加コミットしてしまいました。 その後、間違いに気づきそのファイルを消してコミットしました。 そして、'(省略)\trunk\hoge' というフォルダを再度作り追加しようとすると、 TortoiseSVNにて、 > '(省略)\trunk\hoge' > は、異なる種別のノードに置換できません。'(省略)\trunk\hoge' > を追加する前に、削除をコミットして親ディレクトリを更新しなければいけません と言われて、hogeディレクトリとそれ以下のファイルを追加することができなくなってしまいました。 すでに、削除してコミットはしてあります。 リポジトリブラウザで見ましても、'(省略)\trunk\hoge' というファイルは見当たりません。 もしかして、svnではかつてあった同名のディレクトリを追加することはできないものなのんでしょうか?
>>737 ファイルの削除を、ファイル単体でコミットしたんじゃないかなー?
trunk を一回最新に更新したらいけるかもね。
739 :
738 :2009/08/17(月) 14:22:35
>>737 あー、エラーメッセージの「親ディレクトリを更新しなければいけません」で言われてることだねぇ。
>>737 ワーキングディレクトリを更新するか
リポジトリからチェックアウトし直してみてください
741 :
737 :2009/08/17(月) 15:01:00
>>738-740 親ディレクトリ更新したら、すんなり無事にいけました。
って、ちゃんとエラーメッセージに書いてあるじゃん!!… orz
ともあれ、皆さんありがとうございました。
>>738 そのとおりのようでした
SVN リポジトリからチェックアウトできるオープンソースプロジェクトの ソースコードを自分のリポジトリのベンダーブランチにコピーしたいのですが ファイル属性を含めて簡単にコピーする方法はあるでしょうか?
>>742 ベンダーブランチに相手のリポジトリからマージ
リポジトリの位置が変わったらコマンドが使えなくなっちゃったんだけど スマートに変わったよって.svnに教えてあげるコマンドって何かありますか?
>>744 多分、svn switch --relocate
たしか svn switch --relocate ほげほげ して svn switch はげはげ じゃなかったかな
Tortoiseの再配置/Relocateで行けそうです。 ありがとうございます。
TortoiseSVN 1.6.4の「競合の解消」変じゃね? 実行しようとするとウィンドウ出るけど、固まるよ。
749 :
デフォルトの名無しさん :2009/08/19(水) 16:24:23
Xcodeでsubversion(SCM)をつかうとき ブランチをどのようにすれば切ることができるのでしょうか
>>743 ありがとうございます。
svn merge にそういう機能があることに気づきませんでした。
これならベンダーブランチも必要なさそうですね。
>>749 出来ますよ。
「SCM」「リポジトリ」でリポジトリパネを出して、
対象を選択後ツールバーの「コピー」ボタンをクリック。
754 :
デフォルトの名無しさん :2009/08/23(日) 00:39:04
svnコマンドを使わないで削除されたファイルに自動的に 削除フラグつける方法ってある?
>>756 tortoiseSVNならできるけど、コマンドラインは知らない。
>>757 "Check for modifications"してText statusでソートして
まとめてフラグをつけるとかそんな感じですか?
うちは未だに1.4系で運用してるからTortoiseSVNの機能も足りなかったりして。
ただ、出来ればコマンドラインでやりたいんですよね。
ファイル数がすごいあって、合計サイズもGBオーダーなので亀だと
CPU100%のまま固まってしまったりするし・・・。
>756 svn rm | `svn st|grep "\!"`
パイプの使い方間違ってないか? それに仮に文字列がrmコマンドに わたってもステータスをあらわす"!"も入ってしまうと思うんだ
そもそも > svnコマンドを使わないで て書いてるな
762 :
756 :2009/08/28(金) 01:32:37
>>761 ごめん、書き方悪くてとんちみたいになってるね。
そもそもsvn rmって消えてしまったものには使えないという先入観が
あったんだけど、試してみたら出来るね。というわけで、759みたいな
アプローチなら大歓迎。Windowsでもいけるとgoodだけどawkとか
駆使すれば出来るのかな・・・
句読点ぐらいちゃんと付けようぜ。
>>762 Cygwin入れれば普通にシェルコマンド使えますよ。
cygwin 使っていいなら普段はこんな感じでやってるな ファイル名に空白が入ってるとダメだけど svn st | awk '/^!/ {print $NF}' | cygpath -m -f - | xargs svn rm (cygpath 入れてるのは cygwin 版じゃなくて普通の win 版の svn コマンドでも動くように)
>>762 昔ならともかく、最近はWindowsの
コマンドラインも捨てたものではないが。
w
totoiseSVNの拡張コンテキストメニューにあるマージの再統合の使い方が分かりません。 実行しても何も変化がありません。ブランチの再統合との違いも分かりません。 正しい使い方を教えてください。
>>766 findstrで正規表現も使えるし、forではコマンドの出力使えたりするしね。
MS-DOS時代の印象で語っている人が多いよね。
でも、PowerShellは標準にして欲しかった。
確か 7 から標準でのるよ > PowerShell v1 が Vista とほぼ同時期だったからタイミングの問題 だったんだろう
PSは複雑すぎる重すぎる cmdの構文をまともなセンスで拡張した奴で十分なのに
772 :
デフォルトの名無しさん :2009/08/28(金) 23:57:41
PowerShellは重いからいやだとかじゃないだろ。 そんなやからはbashもまともに使えないのでは? cmdは、あまりにも低水準すぎるし、WSHだと偏りが大きい。 手軽に使える+奥深いのものと+オブジェクト指向的な要素も追求すると PowerShellとかCompiler as Serviceとかになるんでないかい? .NETのクラスライブラリを知ってる人間的には良いソリューションだと思うよ。
今時の高級言語から入った人ならすんなりいけるんじゃないの。
だったら高級言語で書けばいいやん
重いって言葉はよく聞くけど具体性のかけらもない
起動がまず重い。ngenしてもひたすら重い。 動作もdirからして糞遅い。 遅い遅いといわれてるrubyが羽が生えたように軽やかに感じられるよ。
777 :
デフォルトの名無しさん :2009/08/29(土) 01:01:31
重くて問題になるような部類はコンパイルして実行するタイプを選ぶべき。 シェルは遅くても手軽さの方が重要でしょ。
w
軽くて手軽なのがあるじゃん
780 :
デフォルトの名無しさん :2009/08/29(土) 17:03:25
ここはSubversionのスレですが、 MSはSQLServer2008からPowerShell搭載対応したし、 Windows7以降はShellとしてのいわゆるコマンドプロンプトやWSHは互換用に残す だけでしょ。 コマンドプロンプトのみで仕事が成り立つわけではないのだから、PowerShellで も学んでみたら?
どんなに高機能にしたところでシェルなんだからユーザーとの対話を第一に考えて欲しいな。
フロントエンドはテキストだけど、内部や パイプとかにはオブジェクトが存在すると いう、斬新なシェルだからな。 みんなが使いこなせるものなのかは 未知数だと思う。 どうなっていくのか、ちょっと楽しみ。
シェルの話は他でやれ
すまん、一応Subversion絡みということで…。 Subversionリポジトリを読み書きできるPowershellプロバイダがあればなんか便利そうな気はする。 Subversionに限らず、他のVCSのリポジトリでもそうなんだけど。 あとはパイプライン出力がPowershellオブジェクトにできれば面白いが。
>>784 svnのAPIがあるらしいけど仕様が見つかんね
786 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 17:51:56
PowerShellは周辺のコマンド類がオブジェクトの入出力に対応してくると 高級言語でコーディングが不要になるよな。それを扱うスキルは必要だけど。 将来どの辺まで結合してくるのかは楽しみだな。 ところで、Subversionを活用したファイルシステムって無いの? 勝手にコミットしてくれて、いつでもリビジョンごとに引き出せるようなもの。 運用方法はともかく、エンドユーザ的にはそういう部類のほうがわかりやすいんだけどな。
ボリュームシャドウコピーとかTimeMachineとかZFSとか
subversionなんぞをそのままファイルシステムにリンクさせたものなんぞ
使いにくくてしょうがないわな。大量のファイルを扱う場合の性能も
イマイチだしボリューム全体をこの仕組みにしたらとか想像すると怖すぎる
まぁ、gitとかでも十分遅いけどな。
>>787 が書いている様なリビジョンを
管理する別のアプローチが必須だよ
svkの質問もここでいいだろうか?
いきなりsvk syncに失敗するようになったんだけど、こういうときは
どうすればいい?
% svk sync //mirror/hoge
Syncing
https://example.com/repos/hoge Retrieving log information from 1205 to 1220
Transaction is out of date: '/mirror/hoge/fuga' is out of date
>>789 調べてみたところ、out of date = needs to be updated らしいです。
updateをかけてみるとどうでしょうか。
>>790 すいません、「updateをかける」というのがわからないです。
svk update はcheckout copiesに対する操作なのでミラーとは
関係ないですよね。試しにやっても
% svk update //mirror/hoge
path //mirror/hoge is not a checkout path.
と言われるだけだし。
>>791 すいません、検索して出てきたので
svkを使っている人ならわかるかと思って書きました。
svk syncって上流からミラーに持ってくるやつですよね。
ミラーがout of dateということは、
上流からミラーに持ってくる前に
作業用ブランチからミラーにコミットしちゃった、とか?
検索しても同様の事例は出てきません。
良くわかっていませんが、上流、ミラー、作業用ブランチのログと構造を
svnで見て、不整合が起きていないか確認するとか
作り直せるならミラーの作成からやり直すとか、だと思います。
>>792 「svkを使っている人ならわかるかと思って」というのは、
私はわかっていませんでしたが、ひょっとしたら
svkを使っている人に言えばわかる内容なのかも
と思ったということです。
言葉足らずですみません。
>>792 結局あきらめてミラーしなおしました。つきあってくれてありがとう!
ttp:// ~~~~~~
左端の1文字が欠けてるけど、
http:// だよな?
だったら普通のダウンロードソフトなら何でもいいよ。
ただ、svnと指定してあるんだからsvnで取得したほうが
いちばん手間がかからないと思う。
直リンになってリファラがつかないようにだとかの理由でhを抜くという慣習もあるのだよ まあどのURLにやってどれにやらなくていいとかよく分からんが
>>796 あんたみたいな人のためにViewVCで用意してあるんだ。
安心してWebBrowserでアクセスしてみてくれ。
ブラウザでアクセスできるだろw プログラム板でファイルをちまちま一つずつダウンロードしろとか言うのかw
>>797 昔、2chの転送量が危機的状況になったことがあって、
少しでも文字数を減らすためにリンク抽出されてアンカー
になるのを回避するためhを取るのが習慣になった、
と聞いた。倍以上になっちゃうからね。
転送量問題の時は、ばりばり掲示板スクリプトに手を入れてたから、 それが問題なら運営側でリンク抽出を止めてるよ。 抽出されたリンクがime.nu経由になるようにスクリプトが変更される前、 リファラで2chのスレだというのがバレるのを防ぐために、リンクに ならないようにhを抜いたのがh抜きの由来。
個人的なページなんかだと、2chなんかにURLが貼られたのがわかるとガクブルしちゃうから。
なんかの嫌がらせだと思ってたがいちおう意味があったんだな
さすがに「嫌がらせ」って意味にとった人は初めて見たわ…
いちいちコピペしてhを追加しなきゃいけないし、 (専用ブラウザ使ってないと) 嫌がらせと言えば嫌がらせととれなくもない。
807 :
797 :2009/09/09(水) 16:31:00
>>798 >>801 いやそういうことじゃなくて、
http:// で恥まるってことは、ふつうのブラウザで見れる、
普通のダウンローダで落とせる、ってことを言いたかっただけ。
http:// という単語を見ただけで、そう気づくべきだ、ってこと。
世間ではime.nu≒2chと見なされてるから意味なし
Firefox に ttp ってプロトコルを http として認識させるほうほうないかなぁ。
2chだけならともかく、板やスレまでわかったからな。
嫌がらせ目的で貼られたURLはブラウザなどに妙なソフトで小細工をして そのスレのURLがRefererになるようなアクセスする人が一人二人は必ず来るから ime.nuなんて無意味w
xampp 1.6.8でインストール後 workspaceの指定し mysqlのエンコードを設定後 bin/httpd.confに LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 追加すると apacheが立ち上がりません イベントビュアーで確認をとったところ 上記書き換え行のシンタックスエラーがでてるみたいなのですが subversionを使うには他に何か操作する必要があるのでしょうか? OSはXPSP2です ソフトはサクラエディタです ファイアーウォールはウィンファイアウォールです
>>814 「シンタックスエラー」が出てるなら直せばいい
直せなくてそれを聞きたいならそのエラーを詳しく書かなきゃ助けられない
よな?
無知なのにわざわざ答えてくださらなくても結構だったのですが…
つまらない煽りだ
シンタックスエラーの意味を知らないんだろうね。 ひどい話だ
もう終わらせようぜ、この茶番。
インストールした xampp には Subversion が含まれていない。
Subversion がインストールされていない、入っているなら該当の2モジュールが
Apache のモジュール置き場にコピーされていない。
とにかく、しかるべき場所にファイルがコピーされていない。
>>815 がわざわざ分かりやすいサイトを提示してくれているのに、そこに反応が
無い以上
>>814 は readme などドキュメントを読む習慣を身につけるべき。
822 :
814 :2009/09/10(木) 16:00:52
質問ですが,大きくなったレポジトリ(数GB)を小さくする方法はありますでしょうか? よろしくお願いします.
svnadmin packで、ディスク占有量は減らせるかーもね!
>>823 特定の範囲または最近のりビジョンを残して消したいならsvnadminで必要な範囲をdumpしてload
ツリーを消したいならsvnadminでdumpしてfilterしてload
827 :
デフォルトの名無しさん :2009/09/14(月) 07:52:55
クライアント側の話です。 Windows XP + TortoiseSVN 1.6.5 で、大量ファイルをインポートや、 大量ファイルをチェックアウトするとエラーで途中で止まりませんか? チェックアウト時は「200 OK」という名のエラーで止まってしまいます。 心当たりある方いたらヒントください。
・アップデートすると途中で止まってcleanupしろと言われ ・ロックされててcleanupできず ・パーミッション変更してcleanup という状況にはよくなる
829 :
デフォルトの名無しさん :2009/09/14(月) 08:32:27
rm: cannot remove `リポジトリ': ディレクトリです
su しとくの忘れんなよ。
sudo rm -rf /
おまえらマジにやるやつがいるからやめとけよ。
>>829-833 みたいなことやると、データが消えるから気をつけろよ。
確かに消せばリポジトリは小さくなるけどな。
開発機じゃなくて、本番機でDBを消してしまった馬鹿なら知っている。 まぁ、割とよくたまに聞く話だがな。
>割とよくたまに聞く どっちだよw
837 :
デフォルトの名無しさん :2009/09/14(月) 15:56:18
SubversionのBackupって通常どんな感じでやってるんだろうか
昔Delete文のWhere句を入れ忘れて流して真っ青になったことがある
>>836 まれによくある、の逆かと思ったけど違うな
840 :
デフォルトの名無しさん :2009/09/14(月) 19:57:47
だんぷせずにそのままばっくあっぷだよ
843 :
デフォルトの名無しさん :2009/09/14(月) 21:38:16
レポジトリをtgzするよりはdumpをgzipする方がいいんじゃない? あとgzipするときはdeltaしない方が縮むんだよな、確か
svnadmin hotcopyで週一くらいでバックアップしてる。
ダンプは途中が腐ったりするからhotcopy+gzipがいいんじゃないの。 一人で使ってるならcpでもいいんだけど。
846 :
デフォルトの名無しさん :2009/09/15(火) 01:02:32
hotcopy+zipがいいのか。 障害とか考えたらSubversionを2代以上用意してシンクロがいいのかもな
hotcopy + tgz + scp
このスレでもバックアップの話題、何回か出てなかったっけ?
>>838 俺もあったww テスト環境で助かったけどw
壊れたリポジトリがコピーされたら困るのでバックアップをsvnで世代管理…
>>850 ダンプイメージをgitで管理してますがなにか?
dumpをバックアップって無意味にでかくて無駄かと思ったけど、 よく考えると、dumpをsvnで保存すれば差分しか増えないし圧縮がかかるからむしろ効率がいいのかもしれない。
853 :
デフォルトの名無しさん :2009/09/18(金) 14:54:46
ではバックアップをダンプしたものはどうやって管理すればいいの?
バックアップリポジトリをダンプする必要は無いでしょう。
>>827 サーバ側のhookで何かエラーなり出てないか?
パスワードが平文で保存されててワロタw しかもイデオロギー的な理由で直す気ないとか知って小便もれたw
subversionってパスワードあった?
あるよ。 平文でなんの問題があろうか、と思うけどな
~/.subversion/auth/svn.simple に記録されるものことかな?
セキュリティーと、アクセス制限の区別が付いてない?
Subversionって、公開してセキュリティもきちんとしたいなら、 フロントにApacheたててそっちでやれって思想だよねぇ?
subversionってツリーに対してユーザー別にコミット禁止とかチェックアウト禁止とかできないのかな やっぱりリポジトリ単位でしかできないのかな
リモートで管理できるようにしちゃうんなら、 どっちにしても SSH が必要になるから、 じゃあ SSH に全部任せればいいじゃん、ってことでは?
sshだと遅くなるのがなぁ
svnserveってもともとおまけみたいなもんだったんだろう ソースとか見てるとそんな気がする でもApacheの設定は難しいからな
>>862 どこまで望んでるか知らないけど、svnserveのユーザーまたはグループに対して、ディレクトリ毎に読み/書き の権限設定くらいなら出来る。
>>867 読み書き権限で十分です。svnserveを読み直してみます。
特定の属性値を持つファイルを検索する方法ってありますか? 具体的にはsvn:keywordsにIdやRevisionではなく、20090722とか、main_menuとか入ってるものを探したいのですが。 svn:keywordsの用途を勘違いして、盛大に自分用キーワードを設定した人達がいるので…。
>>869 svn propget -R svn:keywords . | grep ...
871 :
869 :2009/09/22(火) 20:04:25
>>870 出来ました!! ありがとうございます!!
>869 >svn:keywordsの用途を勘違いして、盛大に自分用キーワードを設定した人達がいるので…。 ワロタ。 できるかどうか確認してないけど pre-commit フック使って変な svn:keywords が入っていたら はねるのも一つの手じゃないかな。
873 :
869 :2009/09/22(火) 21:36:48
>>872 たまたまアプリのユーザIDや日付を扱うソースを書いた人が、本来の用途でsvn:keywordsにId Dateをつけ、
それを見た別人が「ほうほう。キーワードはこう使うのか」と勘違い → それが周囲に広まる、という流れでしたw
pre-commitフック良さそうですが、一応周知して、さすがに2度目はないかと思うので、今回は見送ろうと思います。
ありがとうございました。
subversion インストールして 失敗したので素のコマンドでrmしたら svn co すると、 svn: xx is already a-working-copy-for-a-different URL と言われてしまいます。 解決策はありますでしょうか? ネットを検索してみたもののこんなあほなことをした人はいないようでした。。。
>>874 エラーメッセージのとおりなら、作業コピーをまるごと削除してからやりなおせばいいだろ。
svn update でもしてみたまえ
>>875 ,876
アドバイスありがとうございます。
説明不足でした。
英語版を取得してしまったので日本語版に切り替えたいのです。
何もないまっさらな状態にして別のURLから取得したいのです。
>878 そうですよね。 svn cleanup もしてみましたがダメでした
881 :
879 :2009/09/23(水) 15:57:56
>>880 いえ、違います。
875は私ではありません。
( _,, -''" ', __.__ ____ ハ ( l ',____,、 (:::} l l l ,} / \ ハ ( .', ト───‐' l::l ̄ ̄l l │ ハ ( .', | l::|二二l | ハ こ .| ( /ィ h , '´ ̄ ̄ ̄`ヽ | ハ や │ ⌒⌒⌒ヽ(⌒ヽ/ ', l.l ,' r──―‐tl. | ハ つ │  ̄ ', fllJ. { r' ー-、ノ ,r‐l | ! め │ ヾ ル'ノ |ll ,-l l ´~~ ‐ l~`ト,. l | 〉vw'レハノ l.lll ヽl l ', ,_ ! ,'ノ ヽ ____/ l_,,, =====、_ !'lll .ハ. l r'"__゙,,`l| )ノ _,,ノ※※※※※`ー,,, / lヽノ ´'ー'´ハ -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,二,,/ .l  ̄ ̄ ̄ ̄ ̄ `''ー-、 l ト、へ
884 :
879 :2009/09/23(水) 16:41:10
.svnを削除したらできました。 あまり正しい方法でないような気がするのですが。。。 真面目に答えてくださった方ありがとうございました。
885 :
879 :2009/09/23(水) 16:42:40
>>883 すみません。作業コピーの概念がよく分かっていません。
svn delete で削除できるもの、 ということでしょうか?
svnのコマンドググって探せよ svn switch
888 :
879 :2009/09/23(水) 17:04:04
>>887 svn swich も試しましたが
うまくいきませんでした。
どううまくいかなかったんだ? つづり違ってるけどちゃんとうったよな?
890 :
879 :2009/09/23(水) 17:12:08
>>889 シェルのログとってないので分かりません。
すいません。もちろんswitchで打っています。
とりあえずこの話はなしにして他の話題をどうぞ。
なにがしたいのか、なにをしたのか、どうなったのか、 これが説明できないようなら、もう相手する必要も無い。
俺は吸うよ。それでも吸うよ。
なにこれひどすぎる
894 :
デフォルトの名無しさん :2009/09/25(金) 01:02:20
SubversionはLinuxで運用する派が多いんだろうか。
わかんないけど、俺のまわりではクライアントはWindows。 リポジトリはWindowsのファイル共有の上か svn+sshでつないでLinuxサーバの上。
svn+sshでレンタルサーバをリポジt・・・ げふんげふん
exportしないでcoしたんだろ。
公開してるディレクトリで余裕で作業してます。
普通にWebページをバージョン管理してて、サーバーにミラーしたんでしょ。 テキストベースのCGIとか埋め込みphpとか丸見えだね。
これはひどいセキュリティホールだな。 gitあたりに乗り換えたほうがいいのかな?
・アクセス制御くらいしとけ ・そもそも漏れて不味いようなもの置いとくな バージョン管理ぜんぜん関係ねぇし。
バージョン管理するとセキュリティホールになる危険があるので、 弊社ではバージョン管理を禁止しております。
>そもそも漏れて不味いようなもの置いとくな 意味分からん
>>897 Webサーバ公開するときは「.」で始まるファイルは全部非公開にするのが俺のジャスティス。
mod_svn管理下だけ除外。
hogehoge.php はtext-baseに hogehoge.php.svn-base として保存されます。 つまりもう埋め込みPHPとしては処理されません。ので、phpがそのまま読めます。 CGIもSSIも同じです。 > バージョン管理ぜんぜん関係ねぇし。 はちょっと言い過ぎかも。
Subversionで管理しているHTMLをサーバーにFTPでアップするのが面倒だから サーバーの公開ディレクトリでsvn updateできるようにしようとしてた俺が来ましたよ。 確かにそのままにしといたらアクセスされるよね。
910 :
907 :2009/09/25(金) 17:54:08
>>909 俺のサイトは既にそうなってる。シェルスクリプトで書いたCGIでsvn update。
アホは転覆開発者だろ。 こういう凡ミスを誘発させるシステムは 根本的な設計に問題がある。
一番怖いのはやっぱりPHPですかね? PHPでDBアクセス、しかもDB直接外部アクセス可能にしてたりすると、 データごっそり持って行かれちゃいます。
それは普通に不正アクセスだろ
日本では公開を意図していないが公開されているファイルを見るのがすでに不正アクセスじゃなかった? ノーガード戦法ですか?
とりあえずうざかろうがデフォルトで.つけるのやめろ それで被害は半減する
ACCSのことを言ってるのですが?
法律はこの板ではどうでもいい話だ そんなものはコードの流出を守ってくれない
.svn や CVS くらいはじけよ。 どんだけ安い運用雇ってんだよ…
俺がそうだから言うけど、Mac OS X ユーザはかなりヤバイ。 .svnはFinderから見えないからね。 しかもフォルダごとドラッグ&ドロップしてアップロードするようなFTPクライアントがほとんど。 何を間違ったのかMacはデザイナー用らしいのでWebデザイナーの使用率も通常ユーザーよりも大きいかもしれない。 最近のバージョンだとsubversionがプレインストール状態。 しかも、こういうことには無知、無関心。 委託してるところは確認した方がいい。
>>921 いや、デザイナーからもらうファイルをそのまま全部見えるところに置くなよ。
彼らからもらうファイルに余計なゴミが混じってるのなんて常識じゃん。
Turbo かどっかの鳥の Apache はデフォルト CVS へのアクセスが Deny で 構成されてたような気がする。てか制御ファイル/制御ディレクトリへの アクセス禁止なんて常識かと思ってたが、びっくりしてるバカが多くてびびった。
どう見てもお前さんが一番救いようがありません
なんか Apache のディレクトリインデックス騒ぎから一世代変わっただけって感じ。
>>912 凡ミスを全く誘発しない、素晴らしい
バージョン管理システムを是非とも
御教え下さいますように宜しくお願い
致します。
ていうか、作業ディレクトリをリリースするなよw
公開ディレクトリ=作業ディレクトリってめっちゃ不便そうだよな なんでそんなことするんだろう
>>928 他で開発して、アップロードの代わりに更新するんだよ。
>>913 phpファイルに直接パスワード書いてたりするとヤバいよね。
>>929 なるほどねw
確かにそれは楽そうに思えるw
バージョン管理ツールを使っていても、プロモーション管理が出来てないってことだな。 ちょっと便利な共有フォルダぐらいにしか使ってないんだろ。
拡張子 .bak を公開してる、ってのはよくあるよね。 <FilesMatch "^\.ht|\.bak$|\.inc$|\.dat$|\.svn$|\.csv$|\.ini$|\.conf$"> Order allow,deny Deny from all Satisfy All </FilesMatch>
hgのようにリポジトリのルートにだけ管理フォルダ作るってのも手ではあるよな
ああ、そっかなんかおかしいと思ったら、svnってwebアプリの公開用のpublic以下ディレクトリだけ 割り当てて公開して、安心ってわけじゃないのか。 構造上public/.svnとかもできるんだっけ…。めんどくせー gitとかhgとかbzrはその点、うpの変わりにリポジトリから更新でいんだけどな
別に Subversion に限った話じゃないと思うが、 普通、ドットファイルはデフォで隠さないか?
>>936 ところが隠さないんだよな、httpd.confのデフォでは…
つか、作業ディレクトリをそのまま公開するなんてありえない。 普通 svn export するでしょ。
普通とか常識とかが、いつも役に立つと思ってるんだね……
普通とか常識とかを無視して悲しい結果になったわけだから、役に立つんじゃね?
普通や常識は、学校では教えません。入試にも出ません。
チェックアウトディレクトリを公開して、.svnを隠す運用はありと言えばありな気はするけどなぁ 開発まっただ中の状況を公開するわけでもないんだし。
隠すという作戦がそもそもダメだろ。
なぜ?理由は?
隠さなきゃならないようなしかも不必要なものを置くなって話だろ
だれでもうっかりミスはある。 2重の安全対策しててもいいだろ。 万一、.svn やら .bak やらを公開サーバに「うっかり」アップロードしてしまっても httpd.conf などでブロックしておけば安心。(もちろん、カンペキでは無いが) それが、「隠す理由」なんだが。 複数人数で共同作業してればこれくらいやるだろ。 身内を信用しきってはいけない。
それは正しいけど
>>947 万が一のうっかりに備えて例えば
>>933 みたいなの置いておくって、駄目?
RedirectMatch 404 /\.svn/
フェイルセーフを用意するなら/.svn/検索して警告するスクリプト用意しろよと
それ以前にsvn exportするスクリプト書くべきじゃないか?
>>950 いままで DirectoryMatch で Deny してた。
なるほど、見栄え?ならそっちの方が見た目がスマートだ、
さんくす。
export は全ファイル対象になるから Web サイトみたいにファイル点数が多いと結構時間がかかる。 きっちり運用管理してる企業向けなら export が良いけど、内輪や零細や自宅鯖みたいな 更新中にどうせ止めもしないようなのは update で済ます。
>>951 検索して対応してる間にもアクセスは来るんだよ。
svn://というプロトコルで接続しなくちゃいけない必要に迫られたのですが、 これってポートの何番を使用しているのでしょうか? なぜかルータ越えで接続できないので、不思議に思いまして。
959 :
デフォルトの名無しさん :2009/10/05(月) 18:57:10
Subversionを使ってコミット/チェックアウトする時にpublicフォルダのサブフォルダのいくつかを 更新しないようにしたいのですが、そのようなコマンドはあるでしょうか。
あると思うよ
全部更新して、そのいくつかだけ特定のリビジョンに戻すしか思いつかないけど、 それが面倒だっていってんだよねきっと
コミットの方は設定の TortoiseSVN の除外パターンをいじったり コミットするファイルのみコミットするという方法がとれると思うけど チェックアウトはわからんなぁ
ignoreじゃ駄目なん?
管理したくないわけじゃないのかなと思うけど、主待ちだな
そういうのはGUIあると便利。subclipseとか。
それを使えばどう解決できるんですか
>>959 チェックアウト時にdepthオプションかなぁ
プログラム作ったら、それを配布用にパッケージングする方法 (ウェブアプリなら、公開用にアップロード、デプロイというのかな? )が 必要だろ?と思ったのに、その情報を調べてみても少ないってのが良く分かったわw みんな、.svnディレクトリが含まれた、作業ディレクトリをそのまま公開していたんだな。 Java関係ではMavenなんてのがあるみたいだが、これの汎用的な仕組みが 必要で、ソースコード管理ツールに内蔵されるのがいいんじゃないかな?
exportはあるけどarchiveはないのかな? git archiveみたいにtarとかzip出力するやつ
XCOPY で必要なファイルだけ(あるいは不要なファイルは除いて)一時ディレクトリにコピー ↓ 7z で圧縮 こんな簡単なこと。専用ソフトを使うまでも無い。 わざわざ本やWEBページつくって解説するほどの事じゃ無いだろ。 ・・・って言いたいところだけど、 簡単だからこそ、何も考えてないバカが.svnディレクトリまで公開しちゃうんだよな。 でもこんなバカはどんなツール使っても同じ。 根本的に、セキュリティ意識が無いんだから。 何を公開して、何を隠すのかは技術者が自分のアタマで考えないとね。 ツールまかせじゃイカンよ。
>>970 わざわざexportじゃなくてcheckoutの方使うのか?
お前の方がバカだわ
>>971 チェックアウトディレクトリから必要なファイルを抜き出してるんじゃないの?
ただ、一時ディレクトリにコピーする意味はわからん。
exportてあんまり知られてないのかな。
言葉がたりなかった。 開発用にチェックアウトしたディレクトリから~に読み替えて。 あと、必要な修正がすべてコミットされているかどうかの問題もありそうな。
7zに公開用ファイルの一覧を渡すより、 一時ディレクトリにコピーする方が簡単だと思ったんだろ
リポジトリにコミットされていない作業コピーから.svn等を除いてアーカイブするコマンドが欲しいって話か。
なんで作業コピーをアーカイブする必要があるんだ
.svnだけを除くのならexportでいいんだよ。 ただ、プロジェクトが大きくなるとexportは時間がかかるから 差分だけexportしたり、差分だけ現在の環境に適用したい。 本番サーバーに設置する場合、開発版とは設定ファイルが違うことがある。 デスクトップアプリなら、コンパイルしてソース付きパッケージ、 ソース無しパッケージ。tar.gzとzipで公開。 それらを配布サーバーにアップロードまで自動化したいし。 自動的に夜間に勝手にexport->コンパイル->テストなんてこともしたい。 もちろんこれらのことを、シェルスクリプトを書いたりすればできるが面倒だろう? WindowsでもLinuxでも動くようにしたいと思うかもしれんし。
いやシェルスクリプトを使わないほうが面倒だと思うけど...
そもそも言ってる事がバカとしか思えん
>>978 設定ファイルの差異はQuiltとかのパッチ管理ツールでやるといいかも。
>>978 cronに
svn export
make
make test
を入れるのがそんなに面倒?
Windowsならタスクで
アホだな。 その make がクセモノなんじゃないか
くせものなのはお前のその脳みそだろw
>>983 なんでmake一発でビルドできない状態で開発してんのwww
なんだ自動ビルドツールと自動テストツールを導入するだけの話じゃないか
ビルド環境の構築をオマケみたいに考えてる人けっこう多いよね。
makefile の保守するくらいなら死んだ方がマシ
ant や nant(winなら)はダメかな?makeよりは保守しやすいと思うけど。
ソースコード管理ツールを知っただけで満足しているお前らが、 プロジェクト管理ツール(例Maven)を理解するのはいつになることやらw
このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
楽しいDEATH!
998 :
998 :2009/10/07(水) 17:55:44
このスレッドは997を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
嫌です
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。