09/08/03 14:18:28
>>677
ログが空ならコミットさせないようにすればいいじゃん
682:677
09/08/03 19:29:22
>他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更して
ここが自動でないなら、今まで通り手動でRev入れるのと大差無いので。
>>681
空でコミット流石にしないかな。書き忘れたことがある場合ね。
フックスクリプト試したけど、
pre-commitだとトランザクション名指定して内容書き換えるの無理っぽいし、
post-commitなら変更出来るだろうけど毎回2コミットになって論外・・・。
クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
683:677
09/08/03 19:32:54
APIのリファレンス見つけたので、関数直接呼んでトランザクションの内容を
書き換えるプログラムを作ってみようと思います。
それをpre-commitから呼べばおそらく何とか。
URLリンク(svnbook.red-bean.com)
684:デフォルトの名無しさん
09/08/03 19:35:27
頭が悪すぎる
685:デフォルトの名無しさん
09/08/03 19:42:47
頭悪くて申し訳ないけど、良い方法が有れば教えて頂けると助かります
686:デフォルトの名無しさん
09/08/03 19:52:47
>>354と同じことをやりたいのか?
687:デフォルトの名無しさん
09/08/03 20:25:43
いえ、クライアント側の設定不要で自動的に書き換わっている(=漏れが無い)のを求めていて、
置換自体は別に手間でないので。
688:デフォルトの名無しさん
09/08/03 20:34:07
ごはん食べずにお腹いっぱいになる方法、ありますか?
689:デフォルトの名無しさん
09/08/03 20:57:05
変えてないファイルのリビジョンをいじる必要があるのか考え直したほうがいいのでは?
690:デフォルトの名無しさん
09/08/03 21:08:35
>>677
よくわからないんだけど、
Excelで台帳作って、管理するとかじゃ支障があるものなの?
691:デフォルトの名無しさん
09/08/03 21:22:19
ねずみさんはひらめきました。
そうだ、猫の首に鈴をつければいい!
・・・で、いったい誰が?
692:デフォルトの名無しさん
09/08/03 21:23:42
管理はしたくない。
だって、管理し忘れたら意味無いだろ?
ってことか。
693:デフォルトの名無しさん
09/08/03 21:26:16
個人的にはチーム開発ほどコミュニケーションが重要だと思う。
機械で自動化したからOKみたいな乗りだとちょっと怖いな。
694:デフォルトの名無しさん
09/08/03 22:52:36
打ってるんじゃない、打たされているんだ
695:デフォルトの名無しさん
09/08/04 00:05:28
>>682
あれ?
だから、書き忘れないように空コミットを防ぐスクリプト使えばよくね?って話で。
もしかして書き忘れって部分的な書き忘れ?
696:デフォルトの名無しさん
09/08/04 00:13:51
そんで、本題の方だけど、DBに新しいレイアウトを適用した人が責任を持って設定するのではダメ?
もしくはalterなりなんなりのスクリプトをコミットするときにバージョン情報も更新するスクリプトを変更するようにするとか。
*.sqlがコミットされた場合に、version.sqlも一緒にコミットされていなければはじくスクリプトとかできるよね?
697:デフォルトの名無しさん
09/08/04 00:21:51
それを忘れた場合が困るんじゃね?
698:デフォルトの名無しさん
09/08/04 00:31:25
実際のDB環境環境と作業頻度みたいなのイメージがわかないから解らないが、ぶっちゃけどんぐらい大きさのなんだよ。
DB更新先が、10,000箇所とかあって、作業員も100人以上とかで並行作業で困ってるとかなら同情するが・・・
699:デフォルトの名無しさん
09/08/04 10:35:33
>>687
逆の発想で、アップデート時にリビジョン入りファイルを出力するのはどう?
TortoiseSVNを使っているなら post-update フックが使えるよ。
700:デフォルトの名無しさん
09/08/04 19:21:23
>>699
>>682
>クライアントフックスクリプトじゃメンバーやPC変わったときに設定忘れてオワル危険があるので除外。
だって。
もうすべてきれいに忘れそうな勢い。w
701:デフォルトの名無しさん
09/08/04 21:01:18
しかも相手にしているのは小児病のメンバーってか?w
702:デフォルトの名無しさん
09/08/05 00:48:28
TortoiseSVN のマージで PEG リビジョンを指定するにはどうしたらいいのでしょうか?
703:デフォルトの名無しさん
09/08/07 13:26:04
Subversion 1.6.4, 1.5.7 security release age
URLリンク(svn.collab.net)
> User-visible changes:
> * fixed: heap overflow vulnerability on server and client
> See CVE-2009-2411, and descriptive advisory at
> URLリンク(subversion.tigris.org)
704:デフォルトの名無しさん
09/08/07 13:29:18
TortoiseSVN 1.6.4 age
URLリンク(tortoisesvn.net)
705:デフォルトの名無しさん
09/08/07 17:05:52
>>702
マージダイアログでURLの後に“@番号”とつければいいのではないかと思います。
706:デフォルトの名無しさん
09/08/08 21:45:42
>>705
TortoiseSVN 1.6.4 で試しましたが、
「エラー: パス '/sandbox/!svn/bc/22/test/trunk@19' が見つかりません」
というエラーが出てきました。
707:デフォルトの名無しさん
09/08/10 14:27:27
>>706
“@番号”は使えなかったですか。失礼しました。
いろいろ調べたり実験してみたのですが、よくわかりませんでした。
[BUG] Merge dialog peg revisions
URLリンク(svn.haxx.se)
というスレがあるので、外人さんはPEGでマージしている予感があります。
もう少し調べてみます。
708:デフォルトの名無しさん
09/08/10 16:48:49
1.6.4 アイコンの色合いとか微妙に変わったね
709:デフォルトの名無しさん
09/08/10 17:34:56
Subversionに脆弱性
URLリンク(journal.mycom.co.jp)
1.5.6およびそれよりも前のバージョンと、1.6.0から1.6.3までのバージョンが影響を受ける。
対策が施されたバージョンは1.5.7および1.6.4。
710:デフォルトの名無しさん
09/08/10 22:54:49
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
いろいろググってみましたがそもそも値が返るのかもよくわかりませんでした。
711:デフォルトの名無しさん
09/08/10 23:29:17
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:デフォルトの名無しさん
09/08/11 13:45:53
フックでハマタ\(^o^)/
URLリンク(subversion.tigris.org)
> どうしてリポジトリのフックが動作しないの?
> フックは、外部プログラムを呼び出すことを期待されているんだけど、
> その呼び出しが、全然生じていないよう感じだ。
>
> Subversion はフックスクリプトを起動する前に、全ての環境変数を取り除く。
> その中には、Unixでは $PATHが、Windows では %PATH% が含まれる。
> 結果、スクリプトでは、絶対パス名の記述された他のプログラムだけを実行可能だ。
アドレスだけでいいから、テンプレに入れといて。
どおりで、PYTHONPATH設定しているのに、フックから見えないはずだな!
713:デフォルトの名無しさん
09/08/11 23:11:32
そんなことcrontab書いたことがあれば当たり前の話な訳だが。
714:デフォルトの名無しさん
09/08/11 23:52:08
svnのフックはcrontabじゃないわけだが
715:デフォルトの名無しさん
09/08/12 00:17:24
>>714
類似性に気付かないあたりが経験不足だな。
自分で痛い目に遭ったし人が痛い目に遭ってるのも見てるから、
crontabを挙げたくなる気持ちはよくわかる。
716:デフォルトの名無しさん
09/08/12 04:12:26
crontabもまあ似てるけれど、cgiの方で引っかかる人も多くない?
apacheはどのユーザとして動いてんの?っていうの。
広げてもしょうがない話ではあるけれど…
717:デフォルトの名無しさん
09/08/12 16:07:35
Windowsなら、
ユーザーの環境変数は使用できないけれど、システムの環境変数は使える
ってのが普通に予想される動作だろう
全ての環境変数を取り除くなんてのは、当たり前の動作じゃない
718:デフォルトの名無しさん
09/08/12 18:18:31
間違って変なものが動いてしまわないようにするのは良いことじゃん。
719:デフォルトの名無しさん
09/08/12 19:17:38
当たり前かどうかは人それぞれだと思います。
当たり前でない人のために、次のテンプレに >>712 を入れるのがいいと思います。
720:デフォルトの名無しさん
09/08/12 22:58:28
環境変数に依存するのもどうかと思うよ。
721:デフォルトの名無しさん
09/08/13 00:21:28
システムの環境変数ってのも改めて考えてみると気持ち悪いな
722:デフォルトの名無しさん
09/08/13 03:02:02
そう?/etc/profile も嫌?
723:デフォルトの名無しさん
09/08/13 12:20:44
環境変数って結局グローバル変数だよ。
どこで誰が書き換えたかわかったもんじゃないし
724:デフォルトの名無しさん
09/08/13 12:57:02
プログラム側でPATH=/binとかいちいち指定するつもりか
725:デフォルトの名無しさん
09/08/13 13:11:45
環境変数は親から子へしか伝播しないのだからグローバル変数ほど悪くないよ
726:デフォルトの名無しさん
09/08/13 13:13:21
気持ち悪いなと思ったのは
/etc/profile とかって確かにシステムワイドではあるけど
sh がそれを読み込むというだけだし
だったらログインシェルがないユーザだと
どーなんかと
「システム」の環境というのとはちょっと違う気が。
あとまぁ >>723 みたいなグローバル変数的なとこが気持ち悪いな。
727:デフォルトの名無しさん
09/08/13 16:48:11
>だったらログインシェルがないユーザだとどーなんかと
これ解らないで口出すとかネタだよな?
UNIX系じゃnologinのユーザ作ることあるけど
その場合の動きが解らんと言う事か?
728:デフォルトの名無しさん
09/08/13 17:05:27
svnで直前のコミットを取り消すにはどうしたらいんでしょ。
ファイル自体は元にもどしたくありません。
コミットした後で、いくつかのファイルが保存されていないことに気づいたのです。
git commit --amend みたいなものです。
729:デフォルトの名無しさん
09/08/13 17:07:02
取り消したいファイルだけコミットし直せ
730:デフォルトの名無しさん
09/08/13 18:05:27
>>728
よく有る話だけど、あきらめて残りをコミットしてログに「前のリビジョンとセットです。スマソ」と書いておけばいいんじゃないかな。
731:デフォルトの名無しさん
09/08/13 18:29:52
リポジトリのcurrentってファイルに書かれてるリビジョン番号を戻せば可能ではあるけど
非常にオススメできない。
732:デフォルトの名無しさん
09/08/13 18:40:53
極端な話、取り消すことができたとしても間違えて取り消したら取り返しの付かないことになるからね。あまりそういう機能は欲しくないな。
どうしても消したいなら、落ち着いてdump&loadするしか
733:デフォルトの名無しさん
09/08/13 19:09:02
ログインシェルが指定されてないユーザならshとか標準のシェルが呼ばれるだけだろ
(中身はcshやbashだったりするけど)
734:デフォルトの名無しさん
09/08/14 00:29:54
>>727
まさに nologin とか false だとどうなるんだろうと思ったのです
その場合 /etc/profile とか読まれないのだと思ってたけど
もしかして恥ずかしい勘違いだった?
735:デフォルトの名無しさん
09/08/14 11:38:51
>>729-732
サンクス
gitやhgだとできたけど、svnではできないのか…。なるほど。
とりあえず、>>730みたいに「すまそ」って書く方法でいきます。
BTSと連動はさせているから、チケットはコミットと複数関連付けできるし、問題ないのかもしれない。
736:デフォルトの名無しさん
09/08/16 17:14:35
ちっちゃいプロジェクトがいっぱいある会社には不向きだな
737:デフォルトの名無しさん
09/08/17 14:15:27
大変、困ったことがありまして、相談いたします。
以前、プログラムミスで (省略)\trunk\hoge\ というディレクトリを作るつもりで、
単体のファイル (省略)\trunk\hoge を生成して追加コミットしてしまいました。
その後、間違いに気づきそのファイルを消してコミットしました。
そして、'(省略)\trunk\hoge' というフォルダを再度作り追加しようとすると、
TortoiseSVNにて、
> '(省略)\trunk\hoge'
> は、異なる種別のノードに置換できません。'(省略)\trunk\hoge'
> を追加する前に、削除をコミットして親ディレクトリを更新しなければいけません
と言われて、hogeディレクトリとそれ以下のファイルを追加することができなくなってしまいました。
すでに、削除してコミットはしてあります。
リポジトリブラウザで見ましても、'(省略)\trunk\hoge' というファイルは見当たりません。
もしかして、svnではかつてあった同名のディレクトリを追加することはできないものなのんでしょうか?
738:デフォルトの名無しさん
09/08/17 14:21:51
>>737
ファイルの削除を、ファイル単体でコミットしたんじゃないかなー?
trunk を一回最新に更新したらいけるかもね。
739:738
09/08/17 14:22:35
>>737
あー、エラーメッセージの「親ディレクトリを更新しなければいけません」で言われてることだねぇ。
740:デフォルトの名無しさん
09/08/17 14:43:38
>>737
ワーキングディレクトリを更新するか
リポジトリからチェックアウトし直してみてください
741:737
09/08/17 15:01:00
>>738-740
親ディレクトリ更新したら、すんなり無事にいけました。
って、ちゃんとエラーメッセージに書いてあるじゃん!!… orz
ともあれ、皆さんありがとうございました。
>>738
そのとおりのようでした
742:デフォルトの名無しさん
09/08/18 21:37:38
SVN リポジトリからチェックアウトできるオープンソースプロジェクトの
ソースコードを自分のリポジトリのベンダーブランチにコピーしたいのですが
ファイル属性を含めて簡単にコピーする方法はあるでしょうか?
743:デフォルトの名無しさん
09/08/18 21:44:42
>>742ベンダーブランチに相手のリポジトリからマージ
744:デフォルトの名無しさん
09/08/18 22:45:58
リポジトリの位置が変わったらコマンドが使えなくなっちゃったんだけど
スマートに変わったよって.svnに教えてあげるコマンドって何かありますか?
745:デフォルトの名無しさん
09/08/18 22:50:32
>>744
多分、svn switch --relocate
746:デフォルトの名無しさん
09/08/18 22:51:13
たしか
svn switch --relocate ほげほげ
して
svn switch はげはげ
じゃなかったかな
747:デフォルトの名無しさん
09/08/18 23:22:12
Tortoiseの再配置/Relocateで行けそうです。
ありがとうございます。
748:デフォルトの名無しさん
09/08/19 13:00:06
TortoiseSVN 1.6.4の「競合の解消」変じゃね?
実行しようとするとウィンドウ出るけど、固まるよ。
749:デフォルトの名無しさん
09/08/19 16:24:23
Xcodeでsubversion(SCM)をつかうとき
ブランチをどのようにすれば切ることができるのでしょうか
750:デフォルトの名無しさん
09/08/19 18:14:13
>>743
ありがとうございます。
svn merge にそういう機能があることに気づきませんでした。
これならベンダーブランチも必要なさそうですね。
751:デフォルトの名無しさん
09/08/19 18:58:59
>>749
Xcodeでは出来ません
752:デフォルトの名無しさん
09/08/19 19:56:59
>>749
出来ますよ。
「SCM」「リポジトリ」でリポジトリパネを出して、
対象を選択後ツールバーの「コピー」ボタンをクリック。