- 1 名前:デフォルトの名無しさん [2008/07/09(水) 10:02:46 ]
- Subversionはフリーなオープンソースのバージョン管理システムです。
公式HP subversion.tigris.org subversion.tigris.org/ Subversion によるバージョン管理 subversion.bluegate.org/ subversion: Project Status subversion.tigris.org/project_status.html subversion: Subversion Links subversion.tigris.org/links.html Version Control Systems Comparison better-scm.berlios.de/comparison/comparison.html 前スレ r9 pc11.2ch.net/test/read.cgi/tech/1202086238/ r8 pc11.2ch.net/test/read.cgi/tech/1192864879/ r7 pc11.2ch.net/test/read.cgi/tech/1180858500/ 06 pc11.2ch.net/test/read.cgi/tech/1165892754/ 05 pc8.2ch.net/test/read.cgi/tech/1145841405/ 04 pc8.2ch.net/test/read.cgi/tech/1129642894/ 03 pc8.2ch.net/test/read.cgi/linux/1100622362/ 02 pc5.2ch.net/test/read.cgi/linux/1078609142/ 01 pc.2ch.net/test/read.cgi/linux/1002355536/
- 74 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 16:44:49 ]
- この手の人って勝手な思い込みで口汚くクソだクソだって喚くからタチが悪い
- 75 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 16:56:40 ]
- >>71-72
あー、SSH許可してるユーザはこれでいけそうです・・ありがとう それ以外の奴はhttpで我慢してもらうことにするか・・ ・・と思ったらEclipse+Subclipseだとなんかやたら面倒な設定が必要だな #まぁそれはSubversionのせいではまったくない まぁ何だ、お前らごめんなさい。 >>73 スカポンタンて古いなwいやどうも失礼した >>74 失礼した
- 76 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 18:16:41 ]
- >>70
Trac入れてダイジェスト認証にすれば良いんでない?
- 77 名前:前スレ979 mailto:sage [2008/07/30(水) 19:00:52 ]
- 前スレ最後で、tsvnスキーム登録とかについて
教えてくれたひと、どうもありがとう。 機会があったら試してみるよー。
- 78 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 21:11:43 ]
- > svnserveで運用する場合にパスワードをサーバに平文で持つしか無いのかな?
> これってかなりイヤ、ってか結構ありえねぇんだが・・ > #けどわざわざApacheを前に立たせるまでもないLANとかだと、 この2つの条件が重なる環境で開発はしたくないなあ
- 79 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 22:43:28 ]
- >>75
PuTTY + TortoiseSVNと組み合わせるのが超お勧め。 configにこれ入れると吉。 ssh = $SVN_SSH C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe PuTTY + TortoiseSVNでアクセスできるようになったら、 SubclipseのSVNインタフェースでJavHLを選べば勝手に繋がるようになる。 接続時にpageantに入れた鍵を自動で使ってくれるので、 パスフレーズは1日1回入れるだけでよくなって超楽。
- 80 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 08:42:57 ]
- サーバのOSがWindowsならば、TracLightning でtrac/subversionを入れるのが手間要らずで楽だな。
- 81 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 14:04:17 ]
- CVS から Subversion へ cvs2svn を使って,移行作業をしているものです。
このうちのひとつのフォルダのログのコメントが文字化けしてエラーとなり,困っています。 リポジトリの最上位のフォルダが10数個あるうちの,ひとつのみです。 このフォルダは RCS → CVS → CVSnt と移行してきたものです。 現在の運用は,サーバが CVSnt(WinXP) クライアントが Wincvs(WinXP)で, エラーになるフォルダ以外は,Wincvs(ごった煮版)でインポートし,更新してきたものです。 CVS → Subversion の移行を行った先輩のアドバイスが戴ければ幸いです。 よろしくお願いします。
- 82 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 14:12:43 ]
- >>81
エラーメッセージは? ログのエンコーディングと、 cvs2svn へのエンコーディングの指定はどうなってる?
- 83 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 14:22:36 ]
- >>82
レスありがとうございます。 円コーディングは,以下の指定で実行しています。 --encoding=SJIS --encoding=iso2022_jp --encoding=euc_jp --encoding=cp932 --encoding=utf_8 --encoding=SHIFT_JIS エラーメッセージは,申し訳ありませんメモっていませんでした。 pass 2 開始直後に,文字化けしたログメッセージが出力され停止します。 現在は該当のフォルダを除外して pass 5 を実行中です(約30時間) リポジトリが約10Gありますので,エラーメッセージを再現するのに約1時間かかりますが,必要であれば再実行してお知らせします。
- 84 名前:70=75 mailto:sage [2008/07/31(木) 14:58:29 ]
- 無礼をやらかした俺にもこんなにも建設的な意見をくれるあなた方に感動。
>>76 Digest認証もBASIC認証と同じく /etc/shadow とかに書かれてある、 crypt関数で暗号化済みのパスワード扱えたっけ。てか今から実験してみるか。 (開発陣全員のパスワードなんて管理者すら把握してないし、もう一回全員の パスワード設定し直すなんて言うと文句言われるもんで・・) もしそうなら是非Digest認証を採用させていただくよ。どうもありがとう。 >>79 おおー。素晴らしい。おれ個人は是非その方法を使わせてもらうことにする。 あとは他の連中がそういうツールを素直にインストールしてくれるかどうかだけど、 まぁ文句言われたらhttp越しで使ってもらえばいいか。 あの、70で失礼な発言したのでフォローしとくが、ディレクトリの移動を追っかけられるのが Subversionの主たる導入目的だったわけで、この機能は本当にネ申です。 ぼちぼち慣れていこうと思う。みなさんありがと・・
- 85 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 21:19:15 ]
- >>84
/etc/shadowはPAM経由で使えるはずと思ってmod_auth pamでググったら こんなの見つけた。 Mod_Auth_External and Mod_Authnz_External ttp://unixpapa.com/mod_authnz_external/ なので、これとBasic認証/Digest認証モジュールを組み合わせればいけるかも。
- 86 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 22:00:41 ]
- おとなしくApache鯖建てた方が速いんじゃね
- 87 名前:デフォルトの名無しさん [2008/07/31(木) 22:01:26 ]
- ドキュメントファイルとかテキストファイルなんかを
バージョン管理してみるのにTortoiseSVNを使ってみています で、リポジトリに追加してコミット、一旦ローカルファイルを削除して更新して取り出すと 元のファイルと比較して更新日時が異なってしまいます 回避策も見当たらないのでコミット時に属性に更新日時を書き込んで 更新時に取り出したファイルの更新日時を更新するようにしているのですが、 クライアント側フックスクリプトのPATHパラメータで指定されるファイルには 対象となる全ファイルが列挙されるわけではないのですね というのも、フォルダ単位で更新すると その対象としたフォルダ名しか取れないので各ファイルを処理できないのです クライアント側フックスクリプトで更新対象となっている全ファイル名を サブフォルダに渡って一覧取得する方法はないですかね? まぁ、次のバージョン?で更新日時が対応されるようなされないような というブログの書き込みをどこかで見かけたので それを待った方がいいのかもしれませんがとりあえず今使いたいもので よろしくお願いします
- 88 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 23:34:33 ]
- タイムスタンプは対応すると言いつつずっとペンディングにされ続けてるもの
待った方が良いっつうか、期待するだけ無駄 うちらはもうタイムスタンプなんて気にするやつはいなくなったけどな
- 89 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 23:56:57 ]
- 正式版gでるまで
いっそのこと、日本人の誰かがマイナーパッチ作って、 流しちまえよw
- 90 名前:どこが一言だw mailto:sage [2008/08/01(金) 00:20:18 ]
- >>83
cvs2svnで移行した経験から一言。 cvsのリポジトリの段階で、エンコードが混ざっているとiconvがエラー起こすからcvs2svnは恐らく失敗する。 特にcvsだとソースとコメントのエンコードが違う状況が発生しやすいので要注意。 # ファイルが巨大じゃなければ混在エンコードにも強いエディタで無理やり修正するとか。 # さもなければ、単体でiconvに食わせてエラーが出たらその周辺だけ抜き出して変換するとか。
- 91 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 02:34:45 ]
- >>90
今の cvs2svn は(内部的に iconv 使ってるかどうかはともかく)変換に失敗すると --encoding で渡された順に全部試してくれる。混在しててもエンコーディングさえ わかっていれば、リポジトリはいじらなくても通せる。 そういうわけで >83 の指定なんだろうけど、 SJIS と cp932 と SHIFT_JIS がばらばらに 指定されてるあたり、もう手当たりしだいって感じだな。リポジトリ内のエンコーディングを ちゃんと調べてから設定したほうがいい。
- 92 名前:デフォルトの名無しさん [2008/08/01(金) 03:30:05 ]
- TortoiseSVN 1.5.2 age
- 93 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 08:24:38 ]
- ふーん
- 94 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 10:10:47 ]
- むしろ設定ファイル類をsvnで管理しているときとか,
オーナー,グループ,パーミッションを保存してほしいと 思うときがある.復元してくれなくてもコミットしたときに どうだったかを記録しておいてくれるだけでもありがたい.
- 95 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 12:17:01 ]
- 属性に保存して、スクリプトで復元させればいいんじゃね?できたらスクリプトを公開をしてくれるとうれしい。では健闘を祈る
- 96 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 13:35:33 ]
- svnlibだけインストールしたいんだけど何をどうすれば良いの?
build.conf見ると__LIBS__とかあるけどいまいち解らん・・・
- 97 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 13:38:39 ]
- >>81
上記レスを投稿したものです。 アドバイスしてくれたみなさん,ありがとうございました。 エラーの原因が解りました。 該当フォルダは Pro*C と VC4 で開発をおこなっていたもので,そのうち *.pre *.mdp (Pro*C と VC4 のプロジェクトファイル)が,テキストファイルとして登録されていたからでした。 ログのコメントが挿入されていて,内容は破壊されていましたが,幸いバックアップがありましたので これらのファイルを除外して,Subversion へ移行します。
- 98 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:38:03 ]
- 別のマシンでfile://スキームのリポジトリを作っていたのですが、
これをローカルマシンで使うことができません svn ls file://remoteuser@remotehost/svnroot などとやっても svn: URL に対し ra_local セッションを開始できません svn: ローカルの URL 'file://remoteuser@remotehost/svnroot' に含まれているホスト名はサポートされていません と出てきてしまうのですが
- 99 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:40:40 ]
- お前、アホって言われるだろ・・
- 100 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:48:12 ]
- file://はリポジトリが自分のマシンのファイルシステム上に見えてないとだめだろう
ネットワークマウントするとか svn+ssh://を使うとか
- 101 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 15:20:27 ]
- >>98
これはワロタw file://URL なんてのは無茶だろ兄弟 ネットワーク越えられるプロトコルお使いなされ
- 102 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 15:34:03 ]
- >>99-101
ありがとうございます なんかそれっぽかったのでfileでもリモート扱える方法があるのかと 思ってました・・・ リモートはサーバー禁止、マウントも出来ないのでsshで入って使います・・
- 103 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 15:44:03 ]
- >>97
上記レスを投稿したものです(アホって言われてますw) おかげさまでエラーとなったフォルダのみを cvs2svn で処理し,首尾よく完了し確認できました。 ここで,もう一点教えてください。 CVS のリポジトリには10数個のフォルダがあり,3G程度のフォルダが2個トータル10G超になってます。 フォルダ毎に分割して処理しようと,2個目のフォルダから --existing-svnrepos を指定して実行しましたが,エラーとなります。 svn のリポジトリを CVS のフォルダ単位に作り,ダンプ→統合したいリポジトリにロード・・・のような作業となるのでしょうか? 良きアドバイスが戴ければ幸いです。よろしくお願いします。
- 104 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:00:33 ]
- アホ=>>98だと思うけど。
エラーの一言で済ませないで ちゃんとエラー内容を記述するべき。
- 105 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:26:22 ]
- >>104
申し訳ありません,余分なものもあるかもしれませんがエラー時のコンソールを張ります。 ----- pass 16 (OutputPass) ----- Starting Subversion Repository. ============================================================ Starting Subversion r1 / 5 Initializing project trunk ============================================================ Starting Subversion r2 / 5 Committing 15 CVSRevisions New Directory trunk/CVSROOT Adding trunk/CVSROOT/verifymsg Adding trunk/CVSROOT/taginfo Adding trunk/CVSROOT/rcsinfo Adding trunk/CVSROOT/postcommit Adding trunk/CVSROOT/notify Adding trunk/CVSROOT/modules2 Adding trunk/CVSROOT/modules Adding trunk/CVSROOT/loginfo Adding trunk/CVSROOT/historyinfo Adding trunk/CVSROOT/editinfo Adding trunk/CVSROOT/cvswrappers Adding trunk/CVSROOT/cvsrc Adding trunk/CVSROOT/config Adding trunk/CVSROOT/commitinfo Adding trunk/CVSROOT/checkoutlist ERROR: svnadmin failed with the following output while loading the dumpfile: svnadmin: ファイルが既に存在します: ファイルシステム 'C:/svndata/db', トランザクション 1657-1, パス 'trunk' 以上です,よろしくお願いします。
- 106 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 17:08:26 ]
- ・・・エラーメッセージそのまんまじゃないのか?
- 107 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 17:12:04 ]
- >>106
CVS リポジトリ内のフォルダー単位に cvs2svn 処理をさせたかったので, 2回目からは --existing-svnrepos パラメータを付けたのですが・・・ 他に指定すべきパラメータとか,なにか前処理が必要でしょうか?
- 108 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 17:33:50 ]
- 俺は使ったことないんで知らないが、一部のblogで
そのオプションが効かないって記述があるみたいだけど というか、それ分割して処理する意味があるのか
- 109 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 17:50:15 ]
- >>108
レスありがとうございます。 CVSのサイズが10Gと大きいせいか,まとめてハウマッチで実行すると pass 5(SortRevisionSummaryPass) が,30時間くらい実行しても終わりません。 2G程度のフォルダのみで実行したところ,ディスクアクセスをガリガリやって終了しました。 10Gまとめてだと,ディスクアクセスもほとんど無く,実行してるのか固まってるのか怪しい感じでした。 急いで使いたいファイルが入っているフォルダを先に終わらせて,時間のかかるフォルダを 後でゆっくり移行したいと思ってます。
- 110 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 22:23:10 ]
- >>88
そうなんですか バージョンを管理するツールに通しただけで 元の情報(今回の場合は更新日時)が欠落してしまうということに違和感を感じました 他の例で言えば、ファイルを圧縮して解凍しても 更新日時は元のままであって欲しいと思っています (もし全ファイルの日時を揃える要件があれば、 バージョン管理や圧縮などの仕組みとは別に、日時を揃える方法を考えるかな?) あと元の質問だったファイルの一覧はやっぱり取得できないようなので フォルダを起点にチマチマやることにします どうもありがとうございました
- 111 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:19:51 ]
- タイムスタンプ信仰 vs アンチタイムスタンプ派の喧嘩が始まるから
そのネタは気を付けた方が良い
- 112 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:58:12 ]
- うーん TortoiseSVN って バージョン番号 4桁の方がよいと思うんだけどな〜
それはそうと、1.4系統のサーバーに1.5のクライアントつなげてもまったく問題ないよね 逆の場合はどうなのかな?
- 113 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:58:48 ]
- >>102
「sshで入って使う」などと書いてあるのが不安なのだが、 ログインしてviとかそういう話か? svn co svn+ssh://remote/path しろっていう話だぞ。 これならsshdさえ動いていればサーバ類は必要ない。
- 114 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 08:11:08 ]
- >>110
エクスポート時にはコミット時刻が吹かされるからそれで十分じゃないかと。
- 115 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 09:14:23 ]
- >吹かされる
- 116 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 11:13:54 ]
- 吹いた
- 117 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 13:50:15 ]
- >>99-101
fileスキーマでネットワーク越えられないって思ってるようだけど、 Win版なら file://192.168.1.2/svn/root みたいなURLで CIFSプロトコル(共有フォルダ)経由でアクセス出来るよ。 >>102でsshってあるからWinじゃないだろうけど、 samba上に置くことも出来る。(普通は素直にsvn+sshするだろうけど)
- 118 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 16:04:18 ]
- ほんとだ
file://server1.home.local/d$/svn/repoA/ で行ける。 実際に管理共有でやるかっつうとやんないにしても、管理共有でも行けるので 事前に共有フォルダにしておく必要すらないのか。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 18:51:29 ]
- 管理共有なんか使ってると後々困ると思うぞ。
サーバ側で移動する必要が出たときとか…
- 120 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 21:27:51 ]
- て言うか管理共有経由でほいほい書ける環境って
なんも管理されてないってことだろ。
- 121 名前:118 mailto:sage [2008/08/02(土) 22:16:11 ]
- いや、だから、試しただけで管理共有ではやんないってば。。。
- 122 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:20:30 ]
- 盛り上がっているところ恐縮ですが,フォルダ単位に cvs2svn を実行する方法って無いんですかね?
Subversion の複数のリポジトリを統合する方法でも良いのですが。 よろしくお願いします。
- 123 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:30:34 ]
- >>122
> フォルダ単位に cvs2svn を実行する方法って無いんですかね? あるだろ。何で無いと思うの? > Subversion の複数のリポジトリを統合する方法でも良いのですが。 svnadmin dump → svnadmin load
- 124 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:34:27 ]
- >>123
ありがとうございます。 dump → load で統合できれば最悪なんとかなります。 >>107 の方法だと,エラーになってしまいます。 必要なパラメータとか前処理があれば,アドバイスいただければ幸いです。 よろしくお願いします。
- 125 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 00:43:45 ]
- >>121
やるかどうかじゃなくて、できちゃうことに問題があると言われてるんだが。
- 126 名前:118 mailto:sage [2008/08/03(日) 00:49:43 ]
- 普段無効にしている管理共有を試しに有効にして試しただけだって。。。
なんでここまで説明しないといかんの。 食いつき良すぎだろ。。。
- 127 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 03:26:59 ]
- >>124
直接リポジトリに入れるんじゃなくて、 cvs2svn からはダンプだけ作らせといて、 svnadmin load するときに --parent-dir すればいいんじゃないかな?
- 128 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 07:36:52 ]
- >>126
> 普段無効にしている管理共有を試しに有効にして試しただけだって。。。 やってないだろ? もし、本当に普段無効にしている管理共有を有効にしたと言うなら、やり方を 書いてくれ。 マジでやってたら、それこそバカだよ。
- 129 名前:118 mailto:sage [2008/08/03(日) 09:45:17 ]
- これで最後にします。
無効にしたことがバカなのか、試したことがバカなのか、その両方がバカなのか よく分かりませんが手順は一般的に知られていると思うけど、レジストリ変更して再起動。 ttp://www.atmarkit.co.jp/fwin2k/win2ktips/281stpdefshare/stpdefshare.html ただの共有じゃなく管理共有でどうなの? と思って普段しない事で試しただけで、 素朴な疑問でスレの空気を悪くしてすいません。
- 130 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 10:15:55 ]
- >>129
あなたは全然悪くない。というかとても親切。
- 131 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:53:44 ]
- まぁ、単に揶揄われているだけなのに気付かなくて、必死に理解してもらおうとする姿勢は好感が持てるね。
- 132 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 17:52:17 ]
- そういえばタイムスタンプってプログラム開発だと気にならないけど
それ以外の用途だと気になるのかもしれんなぁ
- 133 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 20:43:26 ]
- 差分のみにくい、ドキュメント、実行モジュールやDLLで気になるからな
- 134 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 22:58:17 ]
- 雰囲気悪いスレだな。
- 135 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 23:11:08 ]
- タイムスタンプでバージョンを示すとかあったなー。
vz?
- 136 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 23:20:50 ]
- いや、それに限らず割とポピュラーかと。
- 137 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 14:24:17 ]
- バージョン管理下のファイルだとタイムスタンプよりリビジョンを気にするので気にならないが、
バージョン管理下にないファイルだと気になるな。 Exportだと更新日時が最終コミット時になるので 個人的には今の仕様がベスト。 CheckoutやUpdateで更新日時がコミット時に設定されると makeが変な動きをしそうだし。
- 138 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 20:59:55 ]
- >>137
Exportってバージョン管理外のファイルにする方法なのでは? CheckoutやUpdateってバージョン管理下にある状態なのでは? …って、そもそも何か勘違いしてるのかな… orz
- 139 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:41:31 ]
- >>138
バージョン管理下にあるファイルのタイムスタンプは、バージョン管理が更新するものだと思って諦める。ということさ。
- 140 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:28:32 ]
- 諦めるっつーか、管理下にある場合は更新してくれた方がいいじゃん。
- 141 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:54:27 ]
- >>140
ソースファイルの場合はタイムスタンプ更新した方が、makeに都合が良い。 ソース以外(make管理外)のデータやドキュメント類は、タイムスタンプ更新しないほうが都合が良い。
- 142 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 22:11:43 ]
- >ソースファイルの場合はタイムスタンプ更新した方が、makeに都合が良い。
そうかなー… これこそオリジナルタイムスタンプのままの方が良いきがするけど
- 143 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 22:30:52 ]
- makeが誤動作するじゃないか
リビジョンで管理すると複数のファイル間の関連も一目でわかるから便利じゃん。 タイムスタンプだけでは最新かどうかわからないじゃないか。
- 144 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 22:55:15 ]
- もうタイムスタンプ議論はうんざり・・・・
いったいいつまで続けるんだよ
- 145 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:11:48 ]
- >>143
後学のために教えて makeが誤動作するということはバージョン管理システムを使っていない場合は makeが誤動作しまくるの?それともmake前にタイムスタンプを揃えるという処理をしてる? 揃ってもいいのかもしれないけど(というか気にしないでもいいのかもしれないけど) 元のままではダメだというのがよく分からない… (気にしないなら元の情報が残っていてもいいのでは…) >>144 単なる罵り合いだの罵声だのではなく、 それぞれの可能性や考え方がやりとりされている分には勉強になりますが…ダメですか?
- 146 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:21:33 ]
- 以前からこのスレでタイムスタンプ信仰者とアンチタイムスタンプとで
罵り合いが続いてたから昔から見てる人からすると溜め息しか漏れないかと。
- 147 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:23:54 ]
- いや、updateで取り出しているのにタイムスタンプが更新されていなかったらmake対象にならないのが問題ってことじゃないのかね。
- 148 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:31:21 ]
- >>146
あ、すみません 以前の罵り合いってのを知らなかったもので… 双方のシチュエーションや経験談を参考にさせてもらって 自分のシチュエーションではどっちが妥当か?を考えるのにいいな、と思ったのですが…
- 149 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:39:28 ]
- >>147
まぁ実際、svnが更新するタイムスタンプも怪しいけどなw かなりでかいソースツリービルドした時、うまくいかない事が あってからあまりsvnのタイムスタンプ管理は信じない事にしてるw
- 150 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:34:25 ]
- >>145
リビジョンを進めようが後退させようが更新されたファイルのタイムスタンプは現時刻になる。この場合makeが正しく動作する。
- 151 名前:デフォルトの名無しさん [2008/08/06(水) 02:09:58 ]
- post-commitで、コミットすると自動的にweb公開領域にチェックアウトするようにしてるんですが、
コミットするたびに全ファイルをチェックアウトするのにかなり時間がかかってしまいます。 コミットしたディレクトリとかファイルのみチェックアウトするなどして、時間短縮できないでしょうか・・・。
- 152 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 02:49:02 ]
- >>151
1) Webサーバの設定で、.svnへのアクセスを拒絶する。 2) チェックアウトではなくupdateする。 3) svnlookの出力を加工して、updateする対象を絞り込む。
- 153 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 10:12:15 ]
- >>145
make の動作原理は、makefileに記載したソースファイル→ターゲットファイルの依存関係について、 タイムスタンプを比較し、ソースよりターゲットが古い場合にコマンド(たとえばコンパイル)を実行するというものだ。 svn update でソースファイルを差し替えたのに、ターゲットファイルの日付より古ければ、 コマンド(コンパイル)が実施されず、update 前のソースで生成されたターゲットファイルでプログラムが出来上がってしまう。 B君が 二日前に foo.c を編集した A君が 昨日checkoutして、make を実行し、foo.c から foo.o を生成した B君が テストを終えて、本日 foo.c をcommitした A君が 本日updateして、B君のfoo.cを取り込んだ。ここでmakeを実行するとして、 foo.cのタイムスタンプがB君編集時刻(2日前)だと
- 154 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 10:14:47 ]
- >>153 続き
foo.cのタイムスタンプがB君編集時刻(2日前)だと foo.c より foo.o が新しいので、 make は foo.c を再コンパイルせず、foo.o は B君編集前のfoo.c から生成された内容のままとなる。これがまずい。
- 155 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 12:33:13 ]
- てーか、updateしたら全コンかけね?フツー
- 156 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 12:39:37 ]
- makeの存在意義を真っ向から否定してるな
- 157 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 12:40:00 ]
- フツーしない。
- 158 名前:デフォルトの名無しさん [2008/08/06(水) 12:54:13 ]
- >>152
ありがとうございます。 おかげでsvnlookで更新したファイルのリストを取得出来たのですが、 これと svn updateをどうからめてやれば、 更新ファイルのみを対象と出来るのでしょうか…
- 159 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:00:26 ]
- 何でも聞かないと出来ないやつはいい加減あきらめろ
- 160 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:11:42 ]
- >>158
公開用のフォルダがワーキングコピーになっているなら、 svn update するだけで いいんでない? 後は、 >>152 の 1) を対策して終わりでしょ? なんでわざわざチェックアウトし直す必要がある?
- 161 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 16:13:26 ]
- bluegateまた落ちてんのかよ
- 162 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 16:29:56 ]
- ttp://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/
のほうが新しいバージョンに対応していていいんじゃない?
- 163 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:03:06 ]
- TortoiseSVN 厨です。
tsvn:logminsize を自動的に付与する為の設定って無いですかね? これ設定しておかないとログ入れない奴がたくさんいるんですよ。
- 164 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:18:43 ]
- post-commitでログなしなら弾くようにすればいいじゃん
- 165 名前:163 mailto:sage [2008/08/06(水) 19:38:16 ]
- >>164
pre-commit で模索中です。 svnlook でトランザクションのログを捕らえるところまでは確認できましたが、 ログの長さを調べる バッチファイルの記述の仕方がわかりません。 現在調査中です
- 166 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:39:37 ]
- cscriptでVBS呼ぶなりすればええやん
- 167 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:25:18 ]
- >>165
ちょっとはぐぐれよ・・・ ttp://www.spring-aki.com/archives/2006/10/svn_hook_script_bat.html
- 168 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:41:20 ]
- >>167
探し方がたりませんでした。 ありがとう。
- 169 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 09:23:21 ]
- Emacs 22 を使っています.
ちょっとやりすぎな変更をしてしまったとき, svn revert で最初に戻すのは嫌だし かといってそのまま svn commit もしたくないし, というわけで svn diff で自分がやらかした変更を 確認しながら部分的に元に戻したりをしているんですが, なにか便利な Emacs で使えるツールってありませんか? つまりワーキングコピーとベースをならべて 変更点を色付けしてくれて,というツールを探しています. vc-diff すると単に svn diff の結果がバッファに 表示されるだけで萎えます.
- 170 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 10:41:21 ]
- Emacsで、ならEmacsスレいけばいいのに・・・。
とりあえず、Emacsを無視すると、TortoiseDiff(TortoiseMerge)ぐらいしか思いつかない。
- 171 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 10:43:12 ]
- >>169
その用途には WinMerge 使ってる。 169 が Windows ユーザーかどうか知らないけど。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 10:56:15 ]
- まずワーキングコピーの最終リビジョンでブランチを作り、ワーキングコピーをブランチへスイッチするんだ。
そして、編集中のやり過ぎソースをコミットするんだ。 話はそれからだ。
- 173 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:40:31 ]
- >>169
>>172が正論だけど,Emacsのツールとしては ediff (VCに連動するのは ediff-revision) がある これ以上はEmacsスレへどうそ
- 174 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 14:08:24 ]
- >>169
Meld使えばいいんじゃない?
|

|