09/04/03 15:36:30
勘だと、
2度目のマージなのに根元からマージした。
もしくは、キーワード置換を有効にしてる。
301:292
09/04/03 15:38:05
もしかするとsubversiveを使ってブランチを切ったので、その辺で設定を間違ったのかもしれません。
一度TortoiseSVNのみでブランチを編集するとどうなるか試してみます。
相談を聞いていただきありがとうございました。
302:デフォルトの名無しさん
09/04/03 16:23:07
どうでもいいけど、そう言うツールをほいほいとあれこれ使いまくらずに
まずは一つに絞って使えよ
303:デフォルトの名無しさん
09/04/03 17:04:09
行末とか漢字コードとか
304:292
09/04/08 12:02:20
すいません、原因がわかりました。
subversiveでブランチを切るとき、ブランチの位置をフルパスで指定していたのですが、
どうやらそのために別のリポジトリへブランチを切ったと判断されていたらしく、
そのために過去の変更履歴が参照されなかったようです。
どうもお騒がせしました。
305:デフォルトの名無しさん
09/04/10 15:07:32
Subversion 1.6.1 release age
URLリンク(svn.collab.net)
306:デフォルトの名無しさん
09/04/11 10:06:12
TortoiseSVN 1.6.1 release age
URLリンク(sourceforge.net)
307:デフォルトの名無しさん
09/04/11 11:44:17
ruby binding で
svn ci path_to_project --encoding=UTF-8
相当を行うにはどうすればよいのでしょうか?
ctx = Svn::Client::Context.new()
ctx.auth_baton[Svn::Core::AUTH_PARAM_DEFAULT_USERNAME] = ''
ctx.add_username_provider
ctx.add_simple_provider
ctx.ci(path_to_project)
このようにすると、can't convert native code to 'UTF-8' みたいエラーがでます。
そのため、--eoncoding に相当するようなコードを入れたいのです。
308:デフォルトの名無しさん
09/04/12 11:09:03
なぜ人事部長直通の電話番号を知っているんだ
309:デフォルトの名無しさん
09/04/12 11:09:43
誤爆すまん。
310:デフォルトの名無しさん
09/04/13 06:59:32
アルミ MacBook の Mac OS X 10.5.6 で Subversion を使いたいので Versions
を購入したのですが Windows の TortoiseSVN に慣れているためどうしてもな
じめませんでした。
そこで SCPlugin の最新版 SCPlugin-0.7.3l-SVN.1.6.0pkg をインストールした
のですが、右クリックメニューは正しく使用できるものの、ステータスアイコン
がフォルダのみ表示され、ファイルでは表示されません。正確には、一瞬表示さ
れるのですがすぐに消えてしまいます。
色々調べたのですが原因が分からず困っています。どなたか修正方法ご存じな
いでしょうか? subversion は port から 1.6.1 が入っています。
311:デフォルトの名無しさん
09/04/13 12:01:13
TortoiseSVNを落とす時にSourceForgeに繋ぐんだけど
ファイルをダウンロードする時にたまに出てくる
虫がぞろぞろ出てくる画像のせいで女性社員から苦情が来た
知らんがな・・・
312:デフォルトの名無しさん
09/04/13 13:57:52
海外のHP行くと時々グロいのを平気で表示するよね。
313:デフォルトの名無しさん
09/04/13 15:50:16
たぶんグロと感じるかどうかのベクトルが違うんだと思うが
314:デフォルトの名無しさん
09/04/13 15:51:33
確かにあの虫がうじゃうじゃ出てくるのはキツい。
315:デフォルトの名無しさん
09/04/14 11:09:27
フィルタリングしてないの?
社内proxyで弾くとか。
316:デフォルトの名無しさん
09/04/14 11:10:33
ちっさい会社ならすぐ対応出来るだろうけどな
317:デフォルトの名無しさん
09/04/14 12:42:25
亀で svn update してみたけどクソすぎる。コンフリクト出まくり。
今から鬼のような大量の差異を手作業で修正しなきゃならん。
やっぱ eclipse にしときゃよかった OTZ
318:デフォルトの名無しさん
09/04/14 12:43:44
はぁ?
319:デフォルトの名無しさん
09/04/14 13:01:01
わけのわからん略語を使いたがるやつにかぎって
スキルが低い法則
320:デフォルトの名無しさん
09/04/14 13:05:58
知らないならレスしないでください。
このスレの住人には「亀」がわけのわからん略語なのか?
321:デフォルトの名無しさん
09/04/14 13:06:47
いや、もしかして「コンフリクト」がわからんの?
322:デフォルトの名無しさん
09/04/14 13:24:10
svn updateだとコンフリクトでまくり
eclipseで○○だとコンフリクトでない
さあ○○は?
323:デフォルトの名無しさん
09/04/14 13:29:02
普通ならMergeされる
コンフリクト起こしまくるってのは、分担の仕方から考え直せ
324:デフォルトの名無しさん
09/04/14 13:29:33
というか、そもそもeclipseはsvnクライアントではないし、
さらに言えばマージにクライアントの差なんてあるか。
きちんと設定すればどんなソフトでも同じようにマージできるはず。
325:デフォルトの名無しさん
09/04/14 13:42:27
頓珍漢なこと言ってるからどう反応したらいいのかわからんのに
当人は自分が変なこと言ってるのがわかってないんだろうなw
326:デフォルトの名無しさん
09/04/14 13:46:01
updateでコンフリクトかぁ。ひょっとして、>317は開発チームの中でハブられているんじゃね?
数年前、某所の大規模開発でCVSをロックしたまま帰るという嫌がらせが横行したのを思い出した。
327:デフォルトの名無しさん
09/04/14 13:52:16
>>320-321
ものすごい反応ぶりワロタ
317よ、君が一生懸命玄人ぶろうとしているのは分かるが、
>>324 がすべてだ。もう森へお帰り。
328:デフォルトの名無しさん
09/04/14 13:57:50
つうか、煽り煽られもいいんだがきちんとした状況を書けよ。
何の説明もなくだた愚痴を書くから荒れるんだ。
きちんと説明したら、ここの暇な住人が原因の一つも推測してくれるだろうよ。
329:デフォルトの名無しさん
09/04/14 13:59:56
コンフリクトしまくるような割り振りしてるのが悪いんじゃないの
330:デフォルトの名無しさん
09/04/14 14:04:59
>>329
>326
331:デフォルトの名無しさん
09/04/14 18:19:30
俺も >>326 に一票
おそらく svn のなんたるかも教育させてもらっていない >>317 の状況に涙を禁じ得ない
332:デフォルトの名無しさん
09/04/14 18:39:50
WinXP SP3にTortoiseSVN 1.6.1を入れたところ、次のような現象が出ました。
・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない
・コミット時に次のようなメッセージが表示され、コミットできない
「Cannot accept non-LF line endings in 'svn :log' property」
結局、1.5.9に戻しました。
皆さんのところでは1.6.1はきちんと動いていますか?
333:デフォルトの名無しさん
09/04/14 18:40:01
>eclipseで○○だとコンフリクトでない
>さあ○○は?
>というか、そもそもeclipseはsvnクライアントではないし、
なんだ、おまいら、そんな事で顔真っ赤にしてたのか。
はいはい。大阪城を建てたのは大工さんだよ。
これで満足かい?ブタ野郎w
334:デフォルトの名無しさん
09/04/14 18:41:13
Windows でホームページを見る。
Windows はウエブラウザじゃ無いだろ?
335:デフォルトの名無しさん
09/04/14 18:42:06
インターネットエクスプローラでホームページを見る。
あほ、液晶モニタで見てるんだろw
336:デフォルトの名無しさん
09/04/14 18:45:25
>>332
・リポジトリパスが日本語を含むUNCのときリポジトリブラウザで表示できない
→ 特に問題なし
・コミット時に次のようなメッセージが表示され、コミットできない
「Cannot accept non-LF line endings in 'svn :log' property」
→ 1.6.0でも起きる。ログを改行なしでコミット、その後にログ編集で改行加えて対処した。file://管理だと起きる気がする。
337:デフォルトの名無しさん
09/04/14 18:47:11
ログに改行があるとコミット出来ないやつは、svnadmin update やったら出来た覚えがある
338:デフォルトの名無しさん
09/04/14 18:47:42
>Cannot accept non-LF line endings in 'svn :log' property
これ、Rubyのレポジトリを1.6.0でsvnsyncしようとしたときにも発生したなぁ
(結局1.5.6のsvnsync使ったけど)
1.6.1では直ってるのかな?
339:デフォルトの名無しさん
09/04/14 18:51:46
>Cannot accept non-LF line endings in 'svn :log' property
あるリポジトリだと起きて、あるリポジトリだと起きなかった。
リポジトリのバージョンなのか、プロトコルの違いなのかは分かんない。
340:デフォルトの名無しさん
09/04/14 19:07:47
ところで、SubclipseってTortoiseSVNよりマージ機能が優れているの?
どれもこれも同じだと思っていたんだけど。
341:デフォルトの名無しさん
09/04/14 20:23:26
subversiveかも知れんぞ。
ってまあ、何使ってもご本尊は一緒だべ。
342:デフォルトの名無しさん
09/04/14 21:38:37
emacsのpsvnよりはどっちもつかいやすい
343:デフォルトの名無しさん
09/04/14 22:47:15
>>332
『)』『た』『体』『等』なんかの一部の文字の後に改行してるとその現象出てくる。
これらの文字の後に半角スペース入れて改行するとコミットできるのでとりあえず自分はそれで回避してる。
上の人も言ってるけど1.6.0からで、file://だと発生するぽい(http://とかは知らない)。
Subversionで svn commit -F logfile した時だと同じ内容でもコミットできたり。
(改行コードはCRでもLFでCR+LFでもいけた)
TortoiseSVNのバグなんかね。
344:デフォルトの名無しさん
09/04/15 00:14:48
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:デフォルトの名無しさん
09/04/15 00:20:59
まさか・・・
ドライブを割り当ててないでバッチファイルを動かしてるとか
そんな初歩的なんじゃないだろね・・・
346:デフォルトの名無しさん
09/04/15 00:33:17
>>345
レスありがとうございます。
net useの事であれば試しましたが、結果は失敗でした。
コマンドプロンプトでは成功するコマンドが、フックスクリプト内で失敗する理由をご存知ですか?
初歩的な質問ですみません。
347:344
09/04/15 00:50:22
>>345
えーとその時は確かこんな風でした。
net use X: \\server-b\svnwork
svn up X:\pub\ >> X:\pub\svnup.log
net use X: /delete
これも手動でバッチを実行すると成功しますが、フックから呼び出すと失敗でした。
何か根本的に考え方が間違っておりますか?
348:デフォルトの名無しさん
09/04/15 00:56:06
>>332
URLリンク(tortoisesvn.tigris.org)
1.6.1 のリリースの後に報告されて、修正されたらしい。 1.6.2 を待つか、 nightly build を
使うのがいいかも。
349:デフォルトの名無しさん
09/04/15 01:12:35
>>347
URLリンク(subversion.bluegate.org)
の権限のあたりの話とか
>SubversionはSubversionリポジトリにアクセスしているプロセスの所有者
>としてフックを実行しようとします。
350:デフォルトの名無しさん
09/04/15 01:21:12
>>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
09/04/15 01:39:45
>>349 >>350
ありがとうございます。
349さんのリンク先にティップとしてこんな事が。
「・・・環境変数は全く設定されない状態で実行します。このため多くの管理者は手でフックスクリプトを実行するとうまくいくのに、Subversion によって実行されたときにはうまくいかないことに困惑します。・・・」
これかもしれません、すっかり見落としていました。明日早速確認してみます。
日中はレスできませんので、また夜に結果をご報告します。
350さんのやり方でエラーメッセージの確認もしてみます。
もしこれだったら、本当にありがとうございます。
svnsyncしてミラー先でpost-commit-hookとか、server-bのタスクスケジューラで定期updateとか考えていましたが、
そんなことをしなくても済むかもしれません。
それでは、おやすみなさいませ。
352:332
09/04/15 10:29:31
>>336-339 >>343 >>348
ありがとうございます。
確かにfile://を使っています。
1.6.1で報告されている不具合だったんですね。
とりあえず1.6系列をウォッチしながら1.5系列を使い続けたいと思います。
ちなみに1.6で作ったリポジトリは「バージョンが違う」とか出て
1.5のクライアントではアクセスできませんでした。
353:デフォルトの名無しさん
09/04/15 12:13:38
おお、TortoiseSVN で1.6.1にしたらいきなりコミットできなくて焦った。
Nightly にして無事コミットできるようになった、情報サンクス。
354:デフォルトの名無しさん
09/04/15 22:28:22
あるファイルだけ内容に関係なくUpdate,Commitをかけるたびに毎回更新されるようにしたいのですが、どうすればよいでしょうか。
というのは、リビジョン番号をフォルダーごとCommit掛けるたびに最新の番号に置換したいのです。
そのファイルを変更すればコミットがかかるのですが、変更しなければコミットがかからないので、最新のリビジョン番号を
そのファイルに取得できないのです。
355:デフォルトの名無しさん
09/04/15 22:41:48
なんでそんな運用を・・・??
356:354
09/04/15 23:02:43
最新のリビジョン番号をソースファイルに埋め込んでコンパイルしたいのです
357:デフォルトの名無しさん
09/04/15 23:14:03
Makefileに「最新リビジョン番号を取得してVersion表示ファイルの該当箇所を置換する処理」を記述する
358:デフォルトの名無しさん
09/04/15 23:47:58
>>356 URLリンク(www.google.co.jp)
359:デフォルトの名無しさん
09/04/16 01:05:32
FOR /F "usebackq" %%I in (`svnversion -n`) DO SET R=%%I
ECHO #define REVISION %R% >revision.h
make
みたいな・・・
360:デフォルトの名無しさん
09/04/16 13:05:44
rcs のころって ソース内に $Revision$ とか書いとけば勝手に置換してくれてたよな。
一応その機能は残ってるみたいで特にソフト追加せんでも設定すりゃ出来るらしい。
全然追ってないので詳細は自分で調べてちょ。
URLリンク(jh4xsy.asablo.jp)
URLリンク(fuga.jp)
361:デフォルトの名無しさん
09/04/16 13:16:28
URLリンク(subversion.bluegate.org)
これだな。
多分これの Revision が望んでるものだと思う。
RCS & C の例とかだと以下みたいにして使ってた。
static char rcs_revision[] = "$Revision$";
362:デフォルトの名無しさん
09/04/16 13:20:18
すまん。
プロジェクト(フォルダ?)の最新リビジョン番号が欲しいんであってファイルのリビジョン番号とは違うのか。
上のURLの情報はたぶんとっくにご存知のようだな・・・
363:デフォルトの名無しさん
09/04/16 14:21:14
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
みたいな・・・
364:デフォルトの名無しさん
09/04/17 03:25:53
だから、 SubWCRev でいいだろ。
365:デフォルトの名無しさん
09/04/17 09:53:27
それゲイツOS専用じゃないの?
366:デフォルトの名無しさん
09/04/17 11:25:13
SubWCRev って TortoiseSVN に入ってるみたいね。
linux 版にも入ってるの?
つか、linux に TortoiseSVN ってあるの?
ゲイツOS専用じゃ使えね~よ。
これだからマウスの付いたパソコンしか使った事の無いヤロウはダメなんだ・・・
367:デフォルトの名無しさん
09/04/17 11:27:58
Linuxなら>>357でいいじゃな~い
368:デフォルトの名無しさん
09/04/17 11:34:41
ゲイツOS使ってるならSubWCRevを使う、UNIX系OSならMakefileに自前の処理でいいじゃない。
あと今時 UNIX = linux と思ってるやつがいることに驚愕。
369:デフォルトの名無しさん
09/04/17 11:46:59
Linux⊂UN*X
370:デフォルトの名無しさん
09/04/17 15:42:55
>>368
> あと今時 UNIX = linux と思ってるやつがいることに驚愕。
今時「だからこそ」、じゃないのかね?
371:デフォルトの名無しさん
09/04/17 15:56:45
今時の人はLinuxを知っていてもUNIXは知らない
372:デフォルトの名無しさん
09/04/17 16:11:17
MacOSXv10.5がいつのまにかUnix認証を受けてやがる
373:デフォルトの名無しさん
09/04/17 16:21:51
マトモで使いやすいOSを追求していったらUnixに辿り着いた、
ってことかw
374:デフォルトの名無しさん
09/04/17 16:51:17
だからぁ、
「Makefileに自前の処理」
を具体的にどう処理するかを聞いてるんじゃないか。
もう、このスレの住人はバカばっかし。レベルが低すぎる。
375:デフォルトの名無しさん
09/04/17 16:57:15
>>374で初だろ?聞いたのは。
svnコマンドで最新のリビジョン番号を取得する方法はわかるよな?
あとはLinux板のシェルスクリプトスレで聞きな。
376:デフォルトの名無しさん
09/04/17 16:59:14
SubWCRev、SubWCRev、SubWCRev って連呼してるバカに言ってるんだよ
377:デフォルトの名無しさん
09/04/17 16:59:15
試してないけど、こんな感じじゃないかな。
----
main: main.o /tmp/revision.o
$(LINK.cc)
/tmp/revision.c: revision.c
/bin/sed s/REVISION/`svnversion`/g < $^ > $@
378:デフォルトの名無しさん
09/04/17 17:00:55
けっきょく、svnversion と sed か perl でFAだな。
この方法なら Windows でも UNIX/LINUX でもいける。
379:デフォルトの名無しさん
09/04/17 22:36:40
.svnしか残ってないフォルダの一覧を
探すのってbashでどう書けばいいですか?
なんかいい方法ないかしら?
380:デフォルトの名無しさん
09/04/17 22:38:33
>>379
スレ違い。
381:デフォルトの名無しさん
09/04/18 02:36:51
>>380
.svnしか残ってないフォルダの一覧を
探すのってphpでどう書けばいいですか?
なんかいい方法ないかしら?
382:デフォルトの名無しさん
09/04/18 02:46:17
>>381
スレ違い。
383:デフォルトの名無しさん
09/04/18 09:51:29
これでどうよ。
.svnしか残っていないフォルダの一覧を
探すのってsvnでどう書けばいいですか?
なんかいい方法ないかしら?
384:デフォルトの名無しさん
09/04/18 10:08:44
そんなのfindですぐだろ。
"bashで書く"って表現するあたりが河合祖杉。
385:デフォルトの名無しさん
09/04/19 07:27:51
>>384
.svnしか残っていないフォルダの一覧を
探すのってふぃんdでどう書けばいいですか?
なんかいい方法ないかしら?
386:デフォルトの名無しさん
09/04/19 08:28:04
>>385
飽きた。
387:デフォルトの名無しさん
09/04/19 09:53:56
知らないならレスしないでください
388:デフォルトの名無しさん
09/04/19 11:15:40
早く春休みが終わればいいのに
389:デフォルトの名無しさん
09/04/19 14:19:33
一生終わりません
390:デフォルトの名無しさん
09/04/19 14:34:11
んで、.svn「しか残ってない」ディレクトリ一覧を、findでどうやれば得られるんですか。
他のコマンドも組み合わせる?
391:デフォルトの名無しさん
09/04/19 14:47:29
ま、春風のいたずらってことで。
392:デフォルトの名無しさん
09/04/19 15:00:44
ま、スレ違いってことで
393:デフォルトの名無しさん
09/04/19 22:26:48
svnsyncでCannot accept non-LF line endings in 'svn:log' propertyってなるのは仕様らしい…?
URLリンク(subversion.tigris.org)
しかし1.5までで大量にそういうnon-LFなログがコミットされてしまってるわけで
それを全部直せというのか?
non-LFなのが入り込むのは良くないという思想はわかるが、
1.5まで許してきておいて1.6でリリースノートにも書かずにそんな仕様変更するなよ。
394:デフォルトの名無しさん
09/04/19 22:39:41
>393
冗長なプロトコルといい、Subversionはアホが作ってる感があるな。
395:デフォルトの名無しさん
09/04/19 23:54:44
ちょw
396:デフォルトの名無しさん
09/04/20 11:45:15
>>393
svn:logではなく、svn:ignoreだけの話のように読めます。
397:デフォルトの名無しさん
09/04/20 13:21:19
>>396
いや、svn:logでも同じような問題が発生してる。
398:デフォルトの名無しさん
09/04/20 18:05:26
仕様もなにも↑で修正されてるじゃん
399:デフォルトの名無しさん
09/04/20 18:51:57
trunkにも取り込まれてないがな
400:351
09/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
改めて感謝です!では!
401:デフォルトの名無しさん
09/04/22 20:39:28
non-LF の問題は行末に空白入れると回避できるな。
402:デフォルトの名無しさん
09/04/28 01:07:13
svnversion で末尾に P が付くのは何?
403:デフォルトの名無しさん
09/04/28 05:44:35
>>402 それ P やない、改行や。
とエスパーに挑戦してみる。 TortoiseMerge のアレのことなんだろうな、と。
404:デフォルトの名無しさん
09/04/28 12:33:20
C:>svnversion
128P
C:>svnversion --help
4123P まばらチェックアウト機能を用いて作られた部分的な作業コピー
google "まばらチェックアウト" で検索
|翻訳メモ:
| * sparse checkout は「まばらチェックアウト機能」としておいた。
・・・で、「まばらチェックアウト機能」て何?
405:デフォルトの名無しさん
09/04/28 13:10:29
>>403
プギャー
>>404
URLリンク(tortoisesvn.net)
ここの「チェックアウトの深度」にある「再帰的」以外の指定のこと。
406:デフォルトの名無しさん
09/04/28 15:02:59
プギャーで台無し
407:デフォルトの名無しさん
09/04/28 15:04:04
>>406
必死だな
408:デフォルトの名無しさん
09/04/28 17:32:07
svn up --non-interactiveをsvn upのデフォルトにしたいんですが
configにそんな項目増えてたりしないんでしょうか。
まぁ、困るのはバッチ処理の時だけといえばそうなので
そこにいちいち書きくわえればいいといえばそうなんですが。。。
409:デフォルトの名無しさん
09/04/30 10:33:16
>>408
バッチファイル(シェルスクリプト)でラップすればいいのではないでしょうか。
410:デフォルトの名無しさん
09/04/30 16:01:59
svn diff
で、diffに渡されてるデフォルトのオプションって何?
-u -r -N
であってる?
411:410
09/04/30 16:28:10
自己解決しました
412:デフォルトの名無しさん
09/04/30 16:32:28
svn diff
で、diffに常に渡したいオプションがあるんだけど どうやって指定すればいい?
cvsのときなら.cvsrcに記述できたんだけど、.subversion/configには書くところがない
413:デフォルトの名無しさん
09/04/30 16:53:52
直上のレスぐらい見ろ
414:デフォルトの名無しさん
09/04/30 17:27:30
まぁ、シェルならふつーaliasだよね。
415:デフォルトの名無しさん
09/04/30 17:52:50
>>413
エイリアスやバッチで処理すれば出来ることはわかっています。
私は、オプションを常に指定する方法を調べています。
416:デフォルトの名無しさん
09/04/30 18:16:42
ソース弄るしかないんじゃない?
エイリアスのほうがインテリジェントだと思うけど。
そんな偉そうなら、用途をもっと明確にしてみそ?
417:デフォルトの名無しさん
09/04/30 18:19:32
そういや、svn diffって特定のもの以外のオプションをdiffコマンドに与えるのがクソ面倒だったような…
418:デフォルトの名無しさん
09/04/30 18:37:13
そう?
svn diff --diff-cmd=/usr/bin/diff -x -wu程度の話だと思うけど。
419:デフォルトの名無しさん
09/04/30 20:43:47
>>418
うん、そうなんだけど…なんでいちいち--diff-cmdがいるんだって話さね
420:デフォルトの名無しさん
09/04/30 21:33:15
あとあれ -L を勝手につけるのうざいよね。
421:デフォルトの名無しさん
09/04/30 23:14:27
そもそも1行に diff が3回も出てる時点でどうかしてる
422:デフォルトの名無しさん
09/05/01 00:27:55
>>418
これを「程度」とか言っちゃう神経がキモい
423:デフォルトの名無しさん
09/05/01 09:29:53
Tortoise使ってて文句つけるならわかるが、コマンドラインに文句つけるヒマあったら、
さっさとエイリアスかバッチ組むよ俺ならw
424:デフォルトの名無しさん
09/05/01 10:41:57
>>423
美しくない ってことでしょ。
いきあたりばったりの実装で、設計思想に一貫性が無いという話。
425:デフォルトの名無しさん
09/05/01 11:08:37
所詮、ツールだし
そう言うもんだろうで終わらせるよ、俺なら
426:デフォルトの名無しさん
09/05/01 11:53:21
話が脱線するけど、あるソフト会社の作成したコンテンツにこんなのがあった。
仮に hoge 株式会社に納品したコンテンツだと仮定すると、
URLリンク(www.hoge.co.jp)
これがトップページのURL。hoge が3回も出てくるんでみっともない。
ナントカっていうフレームワークを使用した結果、
ディレクトリ構成が決まってるためこうなってしまったらしい。
いったい何のために独自ドメイン取得したのか・・・
美しくない。
427:デフォルトの名無しさん
09/05/01 12:07:42
>>425
君の話はどうでもいい
そこらの電柱にでも話しかけていてくれたまえ
428:デフォルトの名無しさん
09/05/01 12:51:02
>>425さんマジパネェッス!!
429:デフォルトの名無しさん
09/05/01 12:53:19
>>426
うわあ…mod_rewriteぐらい使えよ
430:デフォルトの名無しさん
09/05/01 14:09:46
どうでもいいところをこだわっていて仕事になっているんなら、いいんじゃないか。
俺は利益に大きく結びつくところ以外は捨ててしまうが
431:デフォルトの名無しさん
09/05/01 14:30:06
こういう部分でエンジニアとしての程度が知れるな
432:デフォルトの名無しさん
09/05/01 14:32:07
切り捨てて良い部分に無駄にこだわって時間潰してるのを
有能と呼ぶなら俺は無能で良いわ
433:デフォルトの名無しさん
09/05/01 14:38:10
Subversion関係ねぇじゃん。
434:デフォルトの名無しさん
09/05/01 14:41:11
てゆか>>426はみっともない上にSEOにもかかわってくる可能性もあるしな
まあこの話題はそろそろ打ち止めってことで
435:デフォルトの名無しさん
09/05/01 18:26:24
無駄にこだわって時間潰す→無能
下手な設計で動くんだからいいじゃんと居直る→無能
最初から美しく設計する→有能
436:デフォルトの名無しさん
09/05/01 18:33:18
つまりSubversionを使うやつはみんな無能って事か
437:デフォルトの名無しさん
09/05/01 20:40:06
>>436
そりゃそうだ
438:デフォルトの名無しさん
09/05/01 22:17:42
実際さっさと git とかに移りたいんだけど
仕事で使ってるとなかなかそう簡単にはいかんのよねぇ・・・
439:デフォルトの名無しさん
09/05/02 11:24:12
git はオマンド体系とか違いすぎてなぁ
覚えるコストに見当った性能はあるのかしらん?
440:デフォルトの名無しさん
09/05/02 11:41:21
分散リポジトリ系のは今後どれが主流になるかもわからんし
ローカルでガリガリ書く時もコミットしたいってぐらいなら
svk でお茶を濁してていいんじゃね?
441:デフォルトの名無しさん
09/05/02 12:13:20
仕事で分散使う意味がわからん
442:デフォルトの名無しさん
09/05/02 12:17:09
>>440
svkはあるケースで遅くなるのがなぁ…
>>441
移動中にノートPCで開発してる奴なんて普通にいる
そういう場合に有利>分散
443:デフォルトの名無しさん
09/05/02 12:17:56
>>439
URLリンク(www.tempus.org)
これ1ヶ月読んでわからなかったらあきらめた方がいい
444:デフォルトの名無しさん
09/05/02 14:12:55
>>443
多分そーゆー基本的なことを知りたいわけじゃないと思うよ
445:デフォルトの名無しさん
09/05/02 15:00:03
gitはUnix系では便利に使ってるけど、Windowsでは使えたもんじゃない。
svkはWindowsでもなんとかいける。
446:デフォルトの名無しさん
09/05/02 15:10:54
svkはGUIないから広めにくいんだよな。
最近は、Dropbox使う奴が周りでてきてる。
(もちろん、共有プロジェクトとか仕事では勧めてないが)
バージョン管理する必要がない、バージョン管理ソフトとして使えるのがいいらしい。
これくらいのシームレス差がほしいもんだけど
447:デフォルトの名無しさん
09/05/02 18:40:53
>442
>移動中にノートPCで開発してる奴なんて普通にいる
そういうの、会社によるんじゃない?
うちの会社じゃ、そんなシチュエーション全く無い。
448:デフォルトの名無しさん
09/05/02 18:51:38
>>447
普通はそうだよな。
俺の会社でも10人程度の開発者がいるけど、全員が一つの机で顔をつきあわせながら開発するよ。
そういう状況で分散型VCSなど害悪でしかない。
当然ながらgitだのhgだのは一切使わないように支持が出されている。
449:デフォルトの名無しさん
09/05/02 20:25:23
>>448
速度面はどうよ。
ブランチとか使ってないの?
450:デフォルトの名無しさん
09/05/02 20:31:31
たしかに普通に社内で仕事する分には別に svn で困ることってそんなに無いんだよな。
履歴管理しなきゃいけない程の修正だったらブランチ切るし、
そもそも大きい修正なら一人で作業しない場合も多いし。
単に流行ってるからって理由で git 採用、とかは当然ながら止めといたほうがいいわな。
ただ OSS 関係は軒並分散リポジトリに移行しつつあるから追随しとかないと
参加出来なくなりつつあるけど。
451:デフォルトの名無しさん
09/05/02 21:11:47
> 単に流行ってるからって理由で git 採用、とか
いや全然流行ってねーしw
452:デフォルトの名無しさん
09/05/02 21:13:38
うちは、Linuxの設定ファイルの管理とか、ネットワーク的に断絶してる
外向きWebコンテンツの管理とかはMercurialで、プログラムのコードは
全部Subversionという使い分け。
自分の机以外で仕事のコードを書く事はほぼ皆無。
Mercurialは、難しくて使いにくいと他の社員から大不評をかっているので、
TortoiseHGの熟成をあと2年ぐらいは待ちたい感じ。
453:デフォルトの名無しさん
09/05/02 23:14:33
>>451
いや、流行ってるよ。
フリーでリポジトリ提供してるところで採用してるところ増えてるし
github とか使ってる人多いしな。
仕事で使ってるって話は 2ch の専用スレぐらいでしか聞かんけど。
454:デフォルトの名無しさん
09/05/03 06:36:28
gitオワタ・・・
URLリンク(www.atmarkit.co.jp)
455:デフォルトの名無しさん
09/05/03 09:32:36
google code自体があんまり流行ってないってのもあるがな。
456:デフォルトの名無しさん
09/05/03 10:07:28
>>454-455
んー確かに。
ソースコードホスティングでいえば、githubばかりが目立つね
規模はgoogle code projectがでかいんだろうし、流行という感じでもないから、
sourceforgeみたいに、長く枯れるまで続けていくんだろうけどさ。
457:デフォルトの名無しさん
09/05/03 13:03:52
>>454
gitは使えねえので絶対に採用しませんとはどこにも書いてないわけだが
458:デフォルトの名無しさん
09/05/03 23:06:34
>>457
前向きだな。w
459:デフォルトの名無しさん
09/05/03 23:13:17
何にしてもどこもかしこも分散型!って感じではあるな。
仕事関係は未だに CVS のところもあるというのに。
460:デフォルトの名無しさん
09/05/06 17:21:13
>>449
通常ブランチはよほどのことが無い限りすぐ本家に戻る
461:デフォルトの名無しさん
09/05/07 10:19:06
>>447
うちは持ち出し厳禁だし、ノートの持ち込みも入り口で名前書かされるし
出入りでカバンを簡単にチェックされるんで、svk使って持ち出しとかは出来ないんだよね
462:デフォルトの名無しさん
09/05/08 00:29:33
ネットワーク上に、新しいTortoiseSVNと古いTortoiseSVNを使うPCが
混在しても大丈夫でしょうか?リポジトリの作成を古いバージョンで
行えばよいように思いますがどうでしょうか?
463:デフォルトの名無しさん
09/05/08 00:34:17
>>462
メジャーバージョンが全部同じなら(全部 1.minor.patch なら)、効率は悪いけど
動作はすることになってる。
URLリンク(subversion.tigris.org)
464:デフォルトの名無しさん
09/05/08 02:26:17
2年ほど前に切ったブランチで開発し続けてたものをいきなりトランクにマージしろと言われました
そのブランチとトランクはもはや別のプログラムと言っていいほど違うものになってるんですが大丈夫なんですかね…
なんかコマンド打つのも怖いのですが
465:デフォルトの名無しさん
09/05/08 02:31:22
>>464
↓こっちのがいいんじゃね?
svn mv trunk branches/dead-trunk
svn mv branches/active trunk
466:デフォルトの名無しさん
09/05/08 02:42:54
>>465
その方が良いですね
交渉してみます
ありがとうございました
467:デフォルトの名無しさん
09/05/08 07:09:44
おまいら全部コマンドうちなの?
亀使わないの?
468:デフォルトの名無しさん
09/05/08 08:10:46
亀以外にもフロントエンドは色々あるわけだし、
ここで話するときは共通言語のコマンドで書くってだけの話じゃね?
469:デフォルトの名無しさん
09/05/08 16:49:02
特定のファイルをリポジトリから完全に削除ってdumpを使って出来るじゃないですか?
で、ある特定の日付以前に削除されたファイルを完全削除して掃除ってできますか?
cronとかで毎日掃除して、無駄な容量の増加を防止するとか
470:デフォルトの名無しさん
09/05/08 21:44:34
>>469
削除したブランチを消去するフィルターが欲しいなあ
471:デフォルトの名無しさん
09/05/10 13:45:06
TortoiseSVN 1.6.2 age
URLリンク(sourceforge.net)
472:デフォルトの名無しさん
09/05/10 14:19:20
>>471
- BUG: Error message about non-LF commit messages when using messages with
non-ASCII text. (Stefan)
わーい、直った。
473:デフォルトの名無しさん
09/05/10 15:09:03
結局TortoiseSVN側での対応か。
本家のtrunk(r37666)では未だエラーになる。
474:デフォルトの名無しさん
09/05/10 16:01:36
>>473
TortoiseSVNの開発者に感謝するよ。
でもこの問題ってdump/loadは影響しないのかな?
475:デフォルトの名無しさん
09/05/11 13:54:56
1.6.2って何かおかしくねえ・・・・?
同僚含めてちゃんとインストール出来ないんだけど・・・
修復セットアップしたら何とか入ったけど言語パックはどうやっても入らない
476:デフォルトの名無しさん
09/05/11 13:55:56
何の問題もなく入ったけど、、、ってx64版だし参考にはならんか
477:デフォルトの名無しさん
09/05/11 14:06:46
うちでは、1.6.1をアンインストールして1.5.9を入れたところ、
言語パックを入れてもLanguageのリストにEnglishしか存在しない。
これも >>475 と関係あるのかな?
478:デフォルトの名無しさん
09/05/11 14:13:16
うちは1.6.2にしたらエクスプローラが死ぬようになったから
NightlyBuild版に戻したよ。
479:デフォルトの名無しさん
09/05/11 14:20:33
こっちも何かインストールが上手く行かなかったけど、
アンインストールして綺麗にしてからやったら上手く行った。
480:デフォルトの名無しさん
09/05/11 16:38:20
>>477
Languageフォルダーを削除してから、もう一度インストールしてみて。
481:21
09/05/11 17:36:09
本家の 1.6.2 はリリースされないの?
482:デフォルトの名無しさん
09/05/11 21:35:09
リリースされました。
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
09/05/12 10:12:35
>>480
いちどLanguageフォルダーを削除してから言語パックを入れたところ
English以外もリストに表示され、選択することができました!
ありがとうございました。
484:デフォルトの名無しさん
09/05/16 13:11:05
ドライブの中にいろんなところからチェックアウトしたワーキングコピーが
ちらばっているのだけど,どこから何をチェックアウトしたのか
ドライブ全体をくまなく探索して列挙してくれるようなツールってない?
「お前,随分前にチェックアウトして変更点あるのにコミットしてない
ワーキングコピーがあるよ?」とか警告してほしい.
WindowsでTortoiseSVNを動かしていればそのキャッシュには
すべてのワーキングコピーの所在に関する情報が含まれて
いるんだろうけど,そこにアクセスする手段がない.
TortoiseCacheにAPIが実装されていればなぁ・・・
485:デフォルトの名無しさん
09/05/16 13:42:01
TortoiseSVN でローカルのファイルシステムにリポジトリを作るとき
作成するリポジトリのフォーマットのバージョンを指定することって
できないでしょうか.
互換性のためひとつ前のバージョンのフォーマットで
リポジトリを作りたいのですが,昔のTortoiseSVNを
インストールするしかないでしょうか.
486:デフォルトの名無しさん
09/05/16 17:03:14
>>484
.svnで検索
アイコンオーバーレイの範囲も狭められるからチェックアウトするフォルダぐらい決めておけよ。
487:デフォルトの名無しさん
09/05/16 19:46:46
>>486
まぁ基本的にはチェックアウトするフォルダは限定するよな.
それはそうなんだけど,
svn:externals でチェックアウトしたワーキングコピーに
修正をかけても,その上位のワーキングコピーの
オーバーレイアイコンには反映されないので,忘れてしまう.
488:デフォルトの名無しさん
09/05/16 20:37:47
>>487
externalsのフォルダーもオーバーレイアイコンは反映されるけど?
コミット時もグレイ化された状態で一覧にも出るけど。
1.6.2です。
489:デフォルトの名無しさん
09/05/16 20:43:32
>>488
上の階層にまではそれが伝播しないんじゃない?
とりあえず最新のTortoiseSVNにしてみるか.
490:デフォルトの名無しさん
09/05/16 21:03:12
>>489
ルートの方へのexternalsはコミット時に出るかはやったこと無いけど、サブディリクトリ方向には伝播して表示する。
オーバーレイするディリクトリのマスクから外れたワーキングコピーは伝播しなかったと思う。
c:\working* のように*は入ってる?
491:デフォルトの名無しさん
09/05/26 04:32:34
TortoiseSVN 1.6.2
sambaの共有フォルダ上で使用しています。
変更ファイルに対して"元に戻す"を実行しても「ファイルリストは空です」になってしまい元に戻せません。
ググって URLリンク(blog.longkey1.net) 等も試したのですがダメです。
ローカルドライブであれば問題ありませんので原因はsambaでの設定かなと考えています。
("SVN更新"、"SVNコミット"は問題なく利用できています。)
何か情報をお持ちの方ヒントを下さい。
よろしくお願いします。
492:491
09/05/26 04:46:40
あ、あああ・・
「変更ファイルに対して」ではなくて「変更ファイルのフォルダに対して」、"元に戻す"で対象ファイルが
表示され無事元に戻すことができました。
お騒がせしてすいませんでしたm(_ _)m
#1.6.2で仕様変更されたんですかね・・・Orz
493:デフォルトの名無しさん
09/05/26 05:50:47
svn moveのオプションなんですが、hgやらbzrにある
--afterみたいなオプションは無いですか?
WC内でmvコマンドを使って実際に移動させてから
svn moveする、という使い方がしたいわけです。
というのも、svn moveはcopy+deleteなので、
WC内ファイルのハードリンク情報が消えてしまうからなんです。
なんかいい方法ないでしょうか?
494:デフォルトの名無しさん
09/05/26 11:55:29
cp
svn mv
cp
495:デフォルトの名無しさん
09/05/26 13:31:04
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するだけで、マルチユーザーで使えるのですが…。
どのようにしたものなのでしょうか?
496:デフォルトの名無しさん
09/05/26 13:48:26
>>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
って感じで認証鍵で振り分けるのはどうよ。これなら一つのユーザで済むと思う。
497:デフォルトの名無しさん
09/05/26 13:49:53
>>496でダブルクォーテーションの括り方がおかしかった、スマソ。
498:デフォルトの名無しさん
09/05/26 15:19:53
>>496
ありがとう!
それらのキーワードでぐぐったら、けっこうドキュメントがでてきました。
svnserve, 専用サーバ
URLリンク(subversion.bluegate.org)
やりたかったことができそうです。試してみたいと思います。
499:493
09/05/26 16:10:26
>>494
すいません。ちょっと意味が分からないので詳細教えてください。
最初にコピーするというのは、mvする前にどっかに避難させるということでしょうか?
cpしたらリンクが消えてしまうので一緒の気がするのですが、違いますでしょうか?
500:495
09/05/26 16:49:59
authorized_keys で以下のように書くことで、svn_userのみで鍵に応じてfoobarさんで
無事にコミットできるようになりました。
command="svnserve -t --tunnel-user=foobar" (以降公開鍵)
そこで、つまづいてしまったのですが、
上記方法だと、svn_userでsshでシェルログインして svnadmin create などもできなくなってしまいます。
もし、sshシェルアクセスもさせたい場合は別の鍵を追加するしかないのでしょうか?
501:デフォルトの名無しさん
09/05/26 19:32:52
>>500
そう、別鍵を用意する。
502:デフォルトの名無しさん
09/06/01 10:18:20
TortoiseSVNとEclipseのsubversiveを併用してるんだけど、
subversiveでチェックアウトしてる作業コピーをTortoiseSVNでいじった後に、subversiveでコミットしようとしたらバージョン違いがどうたらってエラーが出た。
今までバージョンがあるのはリポジトリだけだと思ってたんだが、作業コピーにもバージョンってあるのな。
でもsubversiveのためにTortoiseSVNのバージョン下げるとかめんどい・・・。
503:デフォルトの名無しさん
09/06/01 12:27:14
>>502
Subversiveは捨てて、Subclipseに移ればいいよ。
SubclipseはSubversion1.6に対応している。
URLリンク(subclipse.tigris.org)
504:デフォルトの名無しさん
09/06/01 13:13:17
Subversiveはまだ開発途上です。
いずれSubclipseが主流になる日が来るかもしれません。
でも今は未だそのときではありません。
Subversiveが成長するまで温かく見守ってあげましょう。
505:デフォルトの名無しさん
09/06/01 13:14:07
Subversiveはまだ開発途上です。
いずれSubclipseの座を奪って主流になる日が来るかもしれません。
でも今は未だそのときではありません。
Subversiveが成長するまで温かく見守ってあげましょう。
506:デフォルトの名無しさん
09/06/03 03:03:32
最近 subversive は標準になるなる詐欺なんじゃないかと思うときがあるよw
507:デフォルトの名無しさん
09/06/03 11:04:16
SVK の代わりに何を使えばいいの?
URLリンク(lists.bestpractical.com)
508:デフォルトの名無しさん
09/06/05 03:12:57
>>507
今年中にはbzr-svnが実用レベルになる。
509:デフォルトの名無しさん
09/06/05 06:04:56
bzrはやるやる詐欺
510:デフォルトの名無しさん
09/06/05 10:05:05
>>509
色々手を出しすぎて完成度が低かったけど、bzr2.0に向けて着々と
完成度上がってきてるよ。
本当にbzr-svnがsvk以上になるかどうかはさておき。
511:デフォルトの名無しさん
09/06/05 10:13:18
1.1の頃に作ったリポジトリ(途中で一回bdb->fsfsに移行した)をダンプして
1.5で作り直したら800MB->500MBになったのだが、ここまでになるとは
思っていなかったので驚いた。
おまいらはメジャーバージョンが上がったらdump/create/loadしてる?
それともsvnadmin upgradeで誤魔化してる?
512:デフォルトの名無しさん
09/06/05 23:56:47
ひとつのリポジトリでリビジョン番号が約 25000、
総容量(fsfs)が 60GB くらいあるので、
dump/load なんてやる根性ないっス。
513:デフォルトの名無しさん
09/06/06 00:19:06
>>512
何のリポジトリっすかww
514:デフォルトの名無しさん
09/06/06 00:28:57
>>512
画像や音声データが入ってるな。ゲームの開発か?
515:デフォルトの名無しさん
09/06/06 02:23:06
ドキュメントの版管理やったらギガは結構すぐ行くな
ExcelとかPowerPointで10Mくらいあるのガンガン更新したりするし
516:デフォルトの名無しさん
09/06/06 16:14:58
512でつ。
商用ソフトの開発でつ。
画像なんかは入っていません。
純粋にVC++のソースと、そのときのコンパイル済みバイナリ(*.exe/*.dll)、
それからインポートライブラリです。
インポートライブラリが大きいといえば確かに大きいですが、
これをコミットするのはモジュールI/Fが変わったときだけなので、
総コミット数からみると何十回かに一回くらいじゃないかと思います。
6年前にCVSでSCM化したときから始まっています。
ちなみにリビジョン1のコミット日時は 2003-03-31 10:55:20 +0900 とあります。
最も古いソースは10年ほどになりますか。
商品自体はもっと前からありますが、これ以前は私は他の事業部にいたので、
「このソースは私のローカルが最新」なんて世界だったそうです。
517:デフォルトの名無しさん
09/06/06 16:21:21
>「このソースは私のローカルが最新」なんて世界だったそうです。
SCM化してるにもかかわらずこんなことのたまう人がたまに居たりして
頭痛くなるんだよねw
518:デフォルトの名無しさん
09/06/06 16:46:58
>>516
金曜日に帰宅する前にdump/loadを自動で仕掛けておけば、翌週には
リポジトリがスリムになっているだろうな。是非やってみてくれ。
519:デフォルトの名無しさん
09/06/06 19:21:22
6年分とか怖くて出来ないな…。
520:デフォルトの名無しさん
09/06/06 19:30:14
> はてながgitに移行できた、たった1つの方法。
> 2008/04にSVNリポジトリが壊れた!
> リビジョン35000くらいのリポジトリ破壊!
> おわたおわたー!
デブサミ2009「株式会社はてなの開発戦略」講演メモ - RX-7乗りの適当な日々
URLリンク(d.hatena.ne.jp)
はてなみたく次に乗り換えるのはぶっこわれた時、なんてならんようにな…
521:デフォルトの名無しさん
09/06/06 20:50:56
うちもリビジョン3000くらいのリポジトリが先月破損したけど
水銀と天秤に掛けた上で結局svnで再構築した
522:デフォルトの名無しさん
09/06/06 20:56:51
使い始めてまもないんだけど
時々壊れるものなん?
523:デフォルトの名無しさん
09/06/06 21:30:45
どんなツールでも壊れることはあるよ
俺はCVSとVSSでも壊れたの見たことある
524:デフォルトの名無しさん
09/06/06 21:35:39
>>520みたいにHDDが壊れたとかはsvnのせいじゃないしなあ。
ところでこの記事に、「gitはブランチの作成が一瞬」ってあるけど、svnもそうだよな。
作業コピーの切り替えのことかな?
525:デフォルトの名無しさん
09/06/07 02:11:53
おまいらdumpもろくにしないのか?一度フルで取っておけば、
後はそのリビジョンから部分的にdumpするだけでいいのに。
そして怖いっていうのが良く分からん。
既存のリポジトリはそのまま温存しておいて、新規にリポジトリを作成して
そこにloadすれば良いんだぞ。
526:デフォルトの名無しさん
09/06/07 02:42:48
壊れるのが怖いならディスクにデータ書き込めない罠
何年も付けっぱなしのサーバでファイルが破損ってのはリポジトリに限らずあり得る話だし
特にバイナリファイルは
527:デフォルトの名無しさん
09/06/07 05:57:17
>>525-526
リポジトリが壊れるのが怖くてリポジトリのダンプを今度はバージョン管理下におくわけですね。わかります。
528:デフォルトの名無しさん
09/06/07 06:23:41
わかってねぇな
529:デフォルトの名無しさん
09/06/07 11:49:39
>>518
512でつ。
thx.
土日も害中三がコミットしてくるので、あらかじめアナウンスしとく必要があります。
来月には新しいバージョンをリリースするので、そのときにスケジュールとってやってみます。
530:デフォルトの名無しさん
09/06/07 12:08:34
dump/loadは使っていませんが、リポジトリのバックアップ自体はとっています。
fsfsなのをいいことに、毎晩、地理的に離れた場所にあるサーバにssh+rsyncしています。
まぁこれも、dumpで差分だけコピるようにすればはるかに効率的なんですが、
スクリプト書く手間が面倒だからズボラしているというのが正直なところです。
でも、その言い訳をするわけではありませんが、
dump/loadだとリビジョンが2万も3万もあるリポジトリを復旧するまで業務が止まってしまうので、
毎晩のrsyncに多少時間がかかっても、会社組織での運用という面ではこれもアリなのかなぁ...と。
rsync自体も今のところ1~2時間で終わっているので、当分の間は十分に許容範囲です。
531:デフォルトの名無しさん
09/06/07 12:30:36
>>529
>>518だが、やったら是非結果をレポートしてくれ。
一つ言っておくと、リポジトリを置いてあるマシン周辺のディスク容量に問題が
無ければ、毎晩リビジョンを2000ずつとか、一晩で終わりそうな分だけdump/load
するというのもあり。これだとダウンタイムほぼ無しで行ける。
>>530
それでも良いかもね。ただし、特定のリビジョンが壊れているといけないので、
バックアップを取った後にsvnadmin verifyはかけておいた方がいいな。
532:デフォルトの名無しさん
09/06/07 13:07:11
>>531
色々thx.
来月、スケジュールを立ててやってみて、結果をご報告します。
その前にディスク容量を空けとかないと。(藁
svnadmin verifyまでは考えが及びませんでした。
リモートのサバ缶(うちの害中三)に伝えておきます。
533:デフォルトの名無しさん
09/06/07 16:33:00
>>527
ネタにもなってないし、言い回しは腐ってるしw
534:デフォルトの名無しさん
09/06/07 17:40:10
>>530
rsync使う場合、マスタのfsが壊れてそれに気づかずにバックアップ側にrsyncかけて
バックアップまでこわしちゃう可能性があるから、やっぱり万が一に備えて時々
差分dumpを取って物理的に離れたストレージに保存する方がいいよ。
535:デフォルトの名無しさん
09/06/07 17:50:49
たまにLinuxのディス鶏なんか
ぶっ壊れたisoがミラーにばらまかれて全米が泣いたりすることあるしな
536:デフォルトの名無しさん
09/06/07 17:53:44
でもはてながリポジトリのバックアップ取ってなかったってお笑いだよな。
537:デフォルトの名無しさん
09/06/07 18:07:23
取ってないってか取れないだろうなリビ3万越えとか
バージョン管理が目的じゃなくてバックアップすることが目的くらいの勢いになっちゃうわ
538:デフォルトの名無しさん
09/06/07 18:10:33
>>537
お前は今までのスレの流れを読んだ上でそんなことを言ってるのか?
インクリメンタルバックアップを取れば良いだけの話だ。
539:デフォルトの名無しさん
09/06/07 18:13:31
実際バックアップ取ったことないだろ。
そんな簡単な話じゃないぞ。
540:デフォルトの名無しさん
09/06/07 18:14:31
実際にやっているから言っているんだが。何がどう難しいか言ってみろ。
541:デフォルトの名無しさん
09/06/07 18:28:45
インクリメントする元の過去の部分が壊れててもだれも気がつかない
542:デフォルトの名無しさん
09/06/07 18:31:36
>>541
???
リポジトリの特定リビジョンが壊れていたらそもそもdumpに失敗するわけだが。
543:デフォルトの名無しさん
09/06/07 18:32:35
やったことない奴が会話に紛れこんでるってことか
どっちかしらんが
544:デフォルトの名無しさん
09/06/07 18:35:29
流れからしてsageてないやつが犯人
545:デフォルトの名無しさん
09/06/07 18:39:22
dumpする側じゃなくてマージする側だろ
最新版は取り出せても過去のものは取り出せなくなる
546:デフォルトの名無しさん
09/06/07 18:41:34
>>545
そんなものは運用の問題だろうが。
dumpしたファイルのmd5sumでも取っておけば済む話。
547:デフォルトの名無しさん
09/06/07 18:44:52
ダンプする側じゃないと何度言えば
ダンプしたときは壊れて無くても
ファイルを置いておけば壊れる可能性がある
その壊れたものにマージしていったら過去の部分は壊れたまま
そこが必要になって取り出してみるまで気がつかない
548:デフォルトの名無しさん
09/06/07 18:45:44
そして本体が破損してバックアップから戻そうとすると
そっちも壊れていることが発覚して全米が泣くと
549:デフォルトの名無しさん
09/06/07 18:46:55
ぶっちゃけ実務で必要なのって近1週間分くらいだからバックアップ取らないんだろはてなも
ソースコード保存マニアなら、最古のコードまで保存したいんだろうけど
550:デフォルトの名無しさん
09/06/07 18:48:06
リポジトリじゃないけど、DBの差分バックアップで泣いたことは確かにあるわ。
バックアップの度にベリファイしてたらきりないし、結局トレードオフだよね。
551:デフォルトの名無しさん
09/06/07 18:48:54
>>547
だからdumpファイルのmd5sumを取ればいいと言ってるだろうが。
こんな簡単なことも考えつかないのか?
552:デフォルトの名無しさん
09/06/07 18:49:50
まぁだからOracleもわざわざコールドバックアップなんてものをやるわけだから
結局フルバックアップしない限り、バックアップが完璧になることはないよ
553:デフォルトの名無しさん
09/06/07 18:51:18
>>551
意味ないでしょそれ比較しても
本当にdumpしてる?
554:デフォルトの名無しさん
09/06/07 18:53:59
壊れたファイルのmd5sum取っておいて
あとで比較して一致したのでめでたしめでたしと壊れたファイルを保存するオチだな
バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
555:デフォルトの名無しさん
09/06/07 18:54:00
>>553
だからどう意味が無いんだ?
定期的にmd5sumをチェックすれば
> ダンプしたときは壊れて無くても
> ファイルを置いておけば壊れる可能性がある
という問題は完全に防げるだろうが。
556:デフォルトの名無しさん
09/06/07 19:02:39
>>554
dumpした直後にファイルが壊れるような信頼性の低いシステムを使うことが間違い。
> バックアップ後に試しにリストアしてみて本当に正しいかどうかチェックしてsum取らないと
お前の言うような信頼性の低いシステムでは、そんなことをしても正当性を
チェック出来ないぞ。
557:デフォルトの名無しさん
09/06/07 19:05:30
>>553
お前の使うシステムではdump直後にファイルが壊れてる確率がそんなに高いのか?
558:名無し募集中。。。
09/06/07 19:12:03
なんかもう人格否定じゃん
559:デフォルトの名無しさん
09/06/07 19:16:39
どこが人格否定なんだよ
560:デフォルトの名無しさん
09/06/07 19:20:00
システムの信頼性に疑問がないならそもそもバックアップいらないんじゃねみたいな
561:デフォルトの名無しさん
09/06/07 19:25:54
おまいら、頭を冷やせ
非現実的な極論ばかり言っても仕方ないだろ
562:デフォルトの名無しさん
09/06/07 19:37:41
人のやり方を否定するより、
私はこうやってますよ。あなたの方法よりこんな点が優れてますよ。
って書いて欲しい
563:デフォルトの名無しさん
09/06/07 20:14:18
うちは hotcopy で毎日バックアップ取ってる(前7日分まで保持)。
dump/load は、Subversion のバージョンアップの際、
リポジトリフォーマットの互換がない場合にしか使わないなー。
564:デフォルトの名無しさん
09/06/07 20:17:34
>>563
リポジトリが大きすぎなければ、hotcopyが一番楽だよな。
565:デフォルトの名無しさん
09/06/07 20:22:39
dumpは運用としては現実的じゃないよね
566:デフォルトの名無しさん
09/06/07 20:25:32
うちはリポジトリ(9個ある)ごとに、svnadmin hotcopyして、svnadmin verifyして、tar.gz で圧縮して別ディスクに格納。これを最新10日分保存。
以上の作業を行うシェルスクリプトを、Hudsonで1日1回, 5:45から実行している。
スクリプトの実行時にエラーが発生したらメールで通知されるし、スクリプトが標準出力・標準エラー出力に表示した文字はすべてHudsonがログを保存してくれるので便利だ。
567:デフォルトの名無しさん
09/06/07 20:26:46
>>565
それはケースによるね。上で議論になっていた60GBもあるような
巨大なリポジトリだとhotcopyが非現実的になり得るわけだから。
568:デフォルトの名無しさん
09/06/07 20:44:01
巨大リポジトリだとそれこそ過去の分は不必要だろうから
はてなみたいに捨ててしまえばいいのさ
569:デフォルトの名無しさん
09/06/07 20:55:38
論理が飛躍しすぎていて何を言っているのか分からん
>>512が関わっているようなリポジトリで過去の分が不必要だなんてことは無いだろ
570:デフォルトの名無しさん
09/06/07 21:56:51
dump は、 rev0-rev1000 みたいに部分的に取ることもできるし、
--increment を使わないで古いリビジョンを捨てたdumpを取る
事もできる。
マスタが壊れたときには、 --increment を使わない「浅い」dumpを
復元して一時的に運用を続け、深いdumpを時間を掛けて復元すれば良い。
・・・で、合ってる?
571:デフォルトの名無しさん
09/06/08 05:26:56
subversionを捨てればいいんじゃないか、
572:デフォルトの名無しさん
09/06/09 09:56:48
必要な時だけ読めれば良いとか、そんな程度でしかないと思うけど
573:デフォルトの名無しさん
09/06/14 17:12:33
SVNのリポジトリは過去リビジョンのファイルは変化しないので、HOTCOPYを差分バックアップすれば済むと思うんだけど、どうかな
574:デフォルトの名無しさん
09/06/14 19:29:40
>>573
昔の部分が壊れた場合、差分バックアップのときに壊れた部分も差分として
バックアップされない?
その後、差分の中から壊れてない部分を抽出するのが面倒。
逆に、 dump と dump --incremental でまずいのは何?
575:デフォルトの名無しさん
09/06/14 19:37:23
>>573
運用で避けられるし使わないことが多いと思うが、過去のリビジョンの
プロパティを変更出来るので結局差分バックアップは完全ではないんだよな。
やっぱりhotcopyが一番楽かつ安全性が高いということになる。
576:デフォルトの名無しさん
09/06/15 11:34:08
結局、「大容量のファイルをいかにバックアップするか」という普通のバックアップの話になると思う。
毎月フル、毎週差分、毎日修正ファイルのみ、みたいな。
577:デフォルトの名無しさん
09/06/15 17:55:53
svn のバージョンアップに強いのは dump? or hotcopy?
578:デフォルトの名無しさん
09/06/15 18:05:02
>>577
当然dump。dump/loadは基本的にコミットログのリプレイだから。
リポジトリを完全にアップグレードするにはdumpするしかない。
579:デフォルトの名無しさん
09/06/16 21:04:02
svn commit のときに changelist に含まれないものだけコミットする方法はありますか?
580:デフォルトの名無しさん
09/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リポジトリに複数という形式もありかなあと思っていますが、
実運用っぷりをきいてみたいです。
581:デフォルトの名無しさん
09/06/17 17:26:00
運用、運用って言うけど、
結局、どのくらいの頻度で新しいプロジェクトが立つかだけじゃないの?
リビジョン番号の一貫性云々言うけど、
どうせ branch + trunk でごちゃごちゃになるし、
別にたいした問題だとは思わないけどね。
582:デフォルトの名無しさん
09/06/17 18:15:17
>>580
1リポジトリで複数プロジェクトにしておけば、
あとは特定のディレクトリ以下を別リポジトリに独立させることができるよ。
ただし、ディレクトリ作成を独立したコミットにしておく必要がある。
583:デフォルトの名無しさん
09/06/17 18:37:18
レポジトリのログを一覧して見たときに、
自然なまとまりになるであろうようにする。
それが俺ルール。
584:デフォルトの名無しさん
09/06/18 11:16:40
リポジトリ vs レポジトリ 論争がまた始まりそうな予感
585:デフォルトの名無しさん
09/06/18 11:26:13
あろうようにする
586:デフォルトの名無しさん
09/06/21 23:50:40
TortoiseSVN 1.6.3 age
URLリンク(sourceforge.net)
587:デフォルトの名無しさん
09/06/22 10:19:04
前回も確かそうだったが、最近Subversion本体よりTSVNの方が
(少なくともWebでは)先にリリースされとるな。
チーム内で何か確執でもあるのだろうかw
588:デフォルトの名無しさん
09/06/22 10:22:58
サーバーを1.5.4で運用しているのだが、クライアントを1.6.xにすると
どの程度遅くなる?無視できる程度?
ちなみに使っているプロトコルはsvn+sshです
589:デフォルトの名無しさん
09/06/23 03:59:50
ちと質問。
勉強でTortoiseSVN1.5.6を使用し始めて、その後コマンドライン版svn1.5.6を使用中。
リポジトリはTortoiseSVNでローカルに作成したものを使ってます。
OSはWindowsXP。
1.6.3が出るようなのでサービスを稼働させる前にバージョンアップしようかと思ってますが、
どの程度互換性があるのか今一つわかってません。
・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト
・リポジトリは互換性あり、気になるならバックアップしておく程度でよし
というのがこのスレ読んで考えた対処法ですが、合ってますでしょうか。
590:デフォルトの名無しさん
09/06/23 04:42:10
>>587
TortoiseSVN の開発チームは Subversion 開発チームとはまったく別。
TortoiseSVN のビルド~リリース手順は Subversion 側のタグ作成が済んだら始まる。
その手順が Subversion 側のタグ作成~リリースの手順よりも速いってだけ。
591:デフォルトの名無しさん
09/06/23 04:44:06
>>588
実測しないとなんとも。
592:デフォルトの名無しさん
09/06/23 04:50:16
>>589
> ・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト
非互換部分があるのは合ってるけど、チェックアウトしなおす必要は無い。
1.6 のクライアントでアクセスすれば勝手にバージョンアップされる。
> ・リポジトリは互換性あり、気になるならバックアップしておく程度でよし
互換性があるんでそれでもいいけど、 1.6 でしかアクセスしないなら 1.6 で
作り直したほうが1~2割ほど容量が抑えられてうれしいかもしれない。
詳しくはこちら。っていうかこっち先に読めよ。
URLリンク(subversion.tigris.org)
593:デフォルトの名無しさん
09/06/23 21:58:17
>>338 >>472の件、ようやく本家で対応されますた
Version 1.6.3
(19 Jun 2009, from /branches/1.6.x)
URLリンク(svn.collab.net)
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)
(略)
594:デフォルトの名無しさん
09/06/25 10:57:48
Version 1.6.3
URLリンク(sourceforge.net)
大量にバグが修正されてますな
595:デフォルトの名無しさん
09/06/25 19:47:35
TortoiseSVN1.6..3にバージョン上げたんだけど
コミットする時の対象一覧が常に空と表示されるようになって
選択されてない状態になるんだけど
596:デフォルトの名無しさん
09/06/26 11:17:34
俺も変更リストが空になってる。
ignore-on-commit使ってるのが悪いのかしら。
597:デフォルトの名無しさん
09/06/26 17:32:46
>>596
そのようだね。ignore-on-commitがあるとチェックが外れるみたいだ。
598:デフォルトの名無しさん
09/06/26 20:49:25
svn help XXX のメッセージが日本語と英語がかなり混在しているけど
日本語への翻訳はもうしていないの?
599:デフォルトの名無しさん
09/06/26 23:41:52
svnbookの1.6対応日本語版マダー?
600:デフォルトの名無しさん
09/06/27 01:43:00
>>589,>>592
1.3 の頃に作った300MB、リビジョン1400のリポジトリを 1.6 で dump/load したら
100MBぐらいになりました。
そこから更に dump したのを 1.3 で load したら元のサイズになったので、
中身が飛んだりはしてないらしいです。
作り直しが効果的だった例ということで。
601:デフォルトの名無しさん
09/06/28 12:18:41
レンタルファイルサーバのWebフォルダ(WebDAV)上にリポジトリを作成してそれをWindowsから使いたいんですが、
TortoiseSVNで右クリックしても「リポジトリを作成」が出てこなくて、一旦ローカルでリポジトリを
こさえてからエクスプローラでコピー、またはTortoiseSVNの再配置を使ってWebフォルダを指定しても
「リポジトリは恒久的に'http://~'へ移動しました。relocate(参照URLの変更)を実行してください。」
とエラーメッセージが出てきて先に進めないのですが、どうすればうまくいくのでしょうか?
普通にSambaファイルサーバ上のリポジトリにアクセスするのと同じようにはいかないのでしょうか?
602:デフォルトの名無しさん
09/06/29 00:29:24
>>598
subversion/po/ja.po のコミットログを見てもらえればわかるとおり、
訳してた人が1年以上動けてないみたい。
リアルな生活が忙しくてそれどころではないという噂を聞いたです。
>>599
svnbookの1.6対応版ってtrunkかなぁ
tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、
TortoiseSVNのマニュアルが滞っててそれどころでもなかったり。
603:589
09/06/29 00:31:21
>>592
>>600
ありがとうございます、全くの反対方向に理解してたことがよく分かりました。
とりあえず1.6.3を落としてきました。
先に教えてもらったページを読み込んでからバージョンアップに挑戦してみます。
604:デフォルトの名無しさん
09/06/29 01:46:11
>>601
普通はサーバ上で本家のSubversionを動かし、さらにそいつでレポジトリを作っておく。
そうしておいて、クライアント側からTortoiseSVNなどでチェックアウトするというのが素直なやり方だと思う。
605:デフォルトの名無しさん
09/06/29 11:52:27
知らないならレスしないでください
606:デフォルトの名無しさん
09/06/29 13:36:35
>>605
お前、もう誰からもまともなレスは付かないぞ。
さっさと知恵袋にでも逝けw
607:デフォルトの名無しさん
09/06/29 13:50:05
自分がどれだけアホな質問をしてるのか、それは数年後にわかるだろう
608:デフォルトの名無しさん
09/06/29 13:51:19
IDなしだから、605は私じゃありませんと言い出すんだよね
609:デフォルトの名無しさん
09/06/29 14:32:01
ていうか、>>605 みたいなレスをあちこちに投下してる愉快犯がいやがる。
610:デフォルトの名無しさん
09/06/29 14:41:58
OpenGLスレでも同じようなキチガイがいたな
611:デフォルトの名無しさん
09/06/29 14:50:45
IDなしの板で質問するのがアホ
612:601
09/06/29 19:58:15
>>605は本当に私じゃありません
613:デフォルトの名無しさん
09/06/30 05:07:41
> 知らないならレスしないでください
これはIDなし板での恒例のレスだろww
614:デフォルトの名無しさん
09/06/30 10:25:23
そういうレスを面白半分に投下する奴は人間の屑だと俺は思うが。
615:デフォルトの名無しさん
09/06/30 11:48:45
面白半分じゃなくてID推進活動の一環だろ。
質問はトリ付けることを推奨でいいんじゃね。
IDは変わりやすい人もいるからIDあってもトリ付いてた方がいいし。
616:デフォルトの名無しさん
09/06/30 11:53:12
2ちゃんねる的にはIDを付けなければならんほど、住人の民度が落ちた、
ということで、IDが付くのは、ある意味、終わったということなんだが。
そんなにム板を終わらせたい奴がいるわけ?
617:デフォルトの名無しさん
09/06/30 11:55:56
住民がどう以前に関係ないやつがおもしろ半分にあちらこちらで暴れてるんだからどうしようもないだろ
618:デフォルトの名無しさん
09/06/30 12:01:27
こんなの恒例なんだから、スルすればいいだけのことだよ
619:デフォルトの名無しさん
09/07/06 20:32:16
>>602
> tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、
URLリンク(svnbook.red-bean.com)
ここにある日本語版は1.5どころか、
> この本は Subversion バージョン管理システムのバージョン1.2系のために書かれたものです。
という記述 (URLリンク(subversion.bluegate.org)) があるとおり相当古いものです。
どこかに1.5相当のsvnbook日本語版が存在するのでしょうか?
620:デフォルトの名無しさん
09/07/06 20:36:38
「鍋太郎」氏のサイトのが1.5相当だったかと。
621:デフォルトの名無しさん
09/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
と出る場合はどうすればいいですか?
622:デフォルトの名無しさん
09/07/06 23:51:08
>>619-620
半分ぐらいしか訳せてなくて申し訳ないのだけれど。
一応リファレンスだけは訳したつもり。
623:デフォルトの名無しさん
09/07/07 13:31:07
>>621
「チェックアウトしたディレクトリではありません」ということです。
何をしたいのかによりますが、
チェックインしたいなら、先にチェックアウトしてみてください。
624:デフォルトの名無しさん
09/07/07 13:35:52
>>621
1. ローカルコピーを削除する。 (cd myxcodeproject; rm -rf . )
2. サーバーから”ビルド”フォルダを削除する
3. チェックアウトする (svn co URLリンク(svnserver) . )
参考:URLリンク(note19.com)
625:デフォルトの名無しさん
09/07/14 15:29:46
Subversionって管理者権限を持ってると変更履歴の改竄は可能ですか?
626:デフォルトの名無しさん
09/07/14 15:30:48
履歴とは何
ログなら可能
627:デフォルトの名無しさん
09/07/14 15:32:39
>>626
ログメッセージじゃなくログそのものですね
xxというソースを追加したとか変更したとか
628:デフォルトの名無しさん
09/07/14 15:36:41
↑
いちいち余計なひとことで他人をムッとさせるタイプのひと。
ログ
ヒストリー
履歴
たしかに統一してほしいけど、読めばわかるだろ。
629:デフォルトの名無しさん
09/07/14 15:38:08
どう見てもお前さんのレスこそ他人をむっとさせるだろw
630:デフォルトの名無しさん
09/07/14 15:40:12
むっ
631:デフォルトの名無しさん
09/07/14 15:57:21
改竄だと
rev.NNNを無かったことにする
-rNNN:NNN+1 の差分を変更する
とかじゃないの?
632:デフォルトの名無しさん
09/07/14 20:34:57
むっ
633:デフォルトの名無しさん
09/07/15 03:55:22
>>631
そうです
あるリビジョンで追加したファイルがなぜか変更扱いになってたりとあとで
改竄できるのかなあと思いまして
当然追加を変更扱いするわけなのでもっと前のリビジョンで追加されてたことにするわけですが
634:デフォルトの名無しさん
09/07/15 07:51:16
なんで自分のやりたいことを具体的に説明できないのかねぇ。
まぁ、きちんと説明できるくらいなら自力で調べることもできそうではあるが。
635:デフォルトの名無しさん
09/07/15 08:13:19
>>633
聞いた限りでは、ただの勘違いにしか思えないな。
636:デフォルトの名無しさん
09/07/15 10:21:06
>>633
履歴の削除はできます。
削除した場所に別の履歴を入れたりは難しいです。
普通は履歴を改竄する必要はないはずです。
よっぽどのこと(顧客の個人情報をコミットしてしまった等)があった場合には、
その部分の履歴を削除することはありますが、
それ以外では、単に追加・更新していくだけで大丈夫なはずです。
637:デフォルトの名無しさん
09/07/15 17:17:38
ソフトウェアの情報を見ると
バージョン番号の次にリビジョン番号(1.2.3-r45678)がくるものがあるけど
C/C++のソースコードにsubversionのリビジョン番号をソースコードの中に組み込む事ってできるんですか?
638:デフォルトの名無しさん
09/07/15 17:19:37
何でドキュメントを読まないの?
639:デフォルトの名無しさん
09/07/15 17:29:08
オレのドキュメントは2ちゃん
640:デフォルトの名無しさん
09/07/15 17:44:57
>>637
svn:keywordsを設定してキーワード置換をすればできます。
たとえば属性svn:keywordsにRevisionを設定してから
ソース中で rev = "$Revision$"; などと書いておくと
チェックアウト時に実際のリビジョン番号に置換されます。
参照:URLリンク(subversion.bluegate.org)
641:デフォルトの名無しさん
09/07/15 20:17:25
>>637
その質問、すでに何度も出てるよ
642:デフォルトの名無しさん
09/07/15 20:25:01
>>637
過去ログで何回も出てるけど、
svn:keywords, svn info --xml, svnversion, subwcrev (TortoiseSVN)とか。
あと、継続的実行 (Continuous Integration。わからなければググレ)してるなら、そっちの機能でも出来たりすることがある。
643:デフォルトの名無しさん
09/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
09/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がプロジェクト名)
よろしくお願いいたします
645:デフォルトの名無しさん
09/07/17 19:55:13
>>643
えっと、参考になるか分からないけど、自分の設定を晒しときます。
SSHクライアントはPutty付属のplinkw.exeを使って -batch オプションを付けてます。
で、接続する前にこれまたPutty付属のpageant.exeを起動して秘密キーを登録しておきます。
これでレポジトリにアクセスできてます。
646:デフォルトの名無しさん
09/07/17 19:56:23
>>643
puttyのパッケージに入っているplinkを使ってみてください。
puttyごった煮版に入っているplinkwがお勧めです。
TortoiseSVNのネットワーク設定のSSHクライアントに次のように入力します。
C:\Program Files\PuTTY\plinkw.exe
秘密キーはpageantに登録して使うと便利です。
詳しくは次のページを見てください。
URLリンク(www.sodan.ecc.u-tokyo.ac.jp)
647:645
09/07/17 19:57:58
追記。
レポジトリにアクセスするときにユーザ名を付けてます。
svn+ssh://user@host/svn/repo/trunk
648:デフォルトの名無しさん
09/07/17 20:05:10
subversionの環境を使いたいの?
それとも、リポジトリを使いたいの?
649:デフォルトの名無しさん
09/07/17 20:06:15
リポジトリを使いたいだけなら、がんばってサーバでリポジトリをダンプして、
windowsでインポートすればOK
650:デフォルトの名無しさん
09/07/17 22:58:44
複数案件を、検証用サーバ、本番サーバに順不同でリリースしたい場合の例ってどこかにありますか?
具体的には、検証用サーバには案件A Bの順でリリースしたが、
本番サーバには案件B Aの順でリリースしたい場合です。
現在のリポジトリ構成
trunk 検証、本番
branches
案件A
案件B
のような感じです。
651:デフォルトの名無しさん
09/07/17 23:07:45
「リリース」でSubversionで何をしたいのかがわからん
652:デフォルトの名無しさん
09/07/17 23:15:40
各サーバで普通にチェックアウトするだけじゃないのか
653:デフォルトの名無しさん
09/07/17 23:49:17
>>650
もう少し解りやすく質問してお願い。
654:650
09/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のみの内容を抽出することが難しいのではないかと懸念しています。
伝わるでしょうか。。。
655:デフォルトの名無しさん
09/07/18 09:14:30
リリース直前に専用のブランチを作って、そこで切ったタグからリリースしてはどうでしょう。
リリース直前の修正はブランチで行い、trunkへのマージはタグ切ってリリースした後で。
そもそも、本番サーバへのリリース計画と異なる手順で検証用サーバにリリースするのが間違いのような。
いったい何を検証するつもりなんでしょうか?
656:デフォルトの名無しさん
09/07/18 10:06:40
>>654
なんでtrunkにマージすんだよ。
branchの先端をリリースしろ、馬鹿。
657:653
09/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の変更が抽出できる。
658:デフォルトの名無しさん
09/07/18 14:59:27
ありがとうございます。
>>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にマージ
なども考えてみたのですが。。
もう少し考えてみます。
659:デフォルトの名無しさん
09/07/18 17:31:46
>>658
本番サーバと違うことを検証サーバでしようとするからおかしくなる。何のための検証サーバか。
開発スケジュールとリリーススケジュールがずれるのはいいとしても、
リリース時の手順はしっかり合わせた方がいい。
660:デフォルトの名無しさん
09/07/18 18:20:26
>>658
もっと単純に考えたほうがいいんじゃないかな。
trunk 本番
ベータ版ブランチを作成。ベータ版フィードバックをベータ版ブランチへ、その後trunkへマージを繰り返す。
最終的にtrunkからリリースブランチを作成。
661:デフォルトの名無しさん
09/07/18 21:28:25
そろそろうざいな。
必要なAの変更とBの変更をブランチだかtrunkだかにマージすればいいだけの話だろ。
ブランチ作成後にtrunkに変更を入れるのかどうか知らんけど、
リリースに必要な変更を全てマージすればいいだけの話。
ブランチが足りないなら、さらにブランチ作って、不要になったら消せ。
662:デフォルトの名無しさん
09/07/18 22:07:38
>>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を本番にリリース
つまり、検証には三回リリースしなければならないということ。
663:デフォルトの名無しさん
09/07/18 22:19:23
>>658
それぞれのbranchでの変更は、そのbranchにcommitしろ。
マージはそのbranchがfixしてからだ。
664:デフォルトの名無しさん
09/07/18 22:20:27
>>659
> 本番サーバと違うことを検証サーバでしようとするからおかしくなる。
客からの要望が
・A Bをやりたいがどちらを先に本番リリースするかは決まっていない
・どちらも本番リリースすることは確実なので、対応できたものから検証サーバに配置して欲しい
というものなので、そうなってしまいました。
>>661
はい、必要なブランチを作成して不要になったら消そうとしています。
>>660 >>662
ありがとうございます。もう少し考えてみます。
665:デフォルトの名無しさん
09/07/18 22:27:15
1.branchAを作って、Aの修正を行い、検証サーバにリリースする。
2.branchBを作って、Bの修正を行い、検証サーバにリリースする。
3.branchA、branchBをtrunkにマージし、検証サーバにリリースする。
クライアントの要求に従って、(1、3)あるいは(2、3)の順でリリースする。
リリースの順番が早く決まるんなら、もう少し手順は省略できるが、わからないならこれしかないのでは。
666:665
09/07/18 22:34:05
どう実現するかを考えるのももちろん必要だけど、リリース順序をクライアントに決めさせる努力も重要。
文脈から、クライアントが行う受け入れテストの基盤を「検証サーバ」と呼んでるような気がするが、
リリース順序の決定が遅れる場合は、受け入れテストの工数が増大することをクライアント側に説明
しておく必要がある。二回の受け入れテストで済むものが、三回必要になるかもしれないということ。
まぁ、開発側も受け入れ側も、Aの検証を行い、Bの検証を行えば、AとB両方入れてもOKっしょ的な、
運を天に任せるというやり方でもいいけど。
667:デフォルトの名無しさん
09/07/18 23:42:47
そんなトロい客とSEは回帰バグで死んでしまえ。
668:デフォルトの名無しさん
09/07/19 00:00:04
どちらも最終的に必要なのに、どちらが先かわからないということは、同時に用意することになるんだね。
ならば、AB同時にやって条件ifで片方の機能を殺して提出する方が楽かもね。
669:デフォルトの名無しさん
09/08/02 09:23:05
先生質問です ノ
svn:keywords=Revと属性を付けておくと$Rev$を置換してくれますが、
あくまで、このファイル自体が変更されたタイミングですよね。
で、このファイルに変更が無くても、他のファイルをコミットするときに
置換して欲しいんですが、そういう方法ってありますか?
希望する動作:
a.txtは属性svn:keywords=Rev
b.txtは属性なし
b.txtを変更してコミット
a.txtは変更していないが$Rev:$が置換されている
リポジトリは共有フォルダ(必要があればsvnserveも変更可能)、
クライアントはTortoiseSVNです。
670:デフォルトの名無しさん
09/08/02 11:23:32
それくらい、バチファイルで組め
671:デフォルトの名無しさん
09/08/02 12:20:51
どっちかというと、変更して無いファイルをコミットするコマンドがあるのかに興味があるな。
672:デフォルトの名無しさん
09/08/02 16:30:59
変更すればいいじゃん
673:デフォルトの名無しさん
09/08/02 20:02:00
>変更して無いファイルをコミットする
単にタイムスタンプを変更したいってこと?
674:デフォルトの名無しさん
09/08/02 22:06:03
>>673 コミットログ書き忘れたときに簡単にログだけを追加したいと思うことがある。
675:デフォルトの名無しさん
09/08/02 22:33:56
>>674
svnadmin setlog でOK
676:デフォルトの名無しさん
09/08/02 23:16:06
>>674
最初っからそれを言えよ
677:669
09/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のミラーリングに入らないしね。
678:デフォルトの名無しさん
09/08/03 13:28:39
>>677
rev.sqlのヘッダ部分に日付を手作業で入れておく。
他のファイルを修正したとき、rev.sqlのヘッダ部分の日付をその日に変更してコミット。
これでrev.sqlには常に最新のリビジョンが入るよ。
679:デフォルトの名無しさん
09/08/03 13:30:34
そゆのって、チェックアウト側でやるもんじゃないの?
チェックアウトして
svnversion でリビジョンを取得して、
rev.sql を自動的に書き換えて
DBに流し込む
680:デフォルトの名無しさん
09/08/03 13:31:54
おっと、679 は >>677 へのレス
681:デフォルトの名無しさん
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も一緒にコミットされていなければはじくスクリプトとかできるよね?