Subversion r11 ..
[2ch|▼Menu]
259:デフォルトの名無しさん
09/03/27 14:49:12
俺は頻繁に(1日に20〜30回とか)コミットするので、いつもbranchを使ってる。

260:デフォルトの名無しさん
09/03/27 14:50:48
>>258
> チケットがクローズしたらマージってのもありか?

branchをそのままリリースするならあり。
マージしたtrunkをリリースするなら、マージした物に対してテストしないと無意味。

261:デフォルトの名無しさん
09/03/27 15:14:10
>>257
branchからマージするときに検証したとしても
そのときの検証だけで糞commitを見切れるもんなの?
その主張の本質はbranchの有無はあまり関係なくて
チェックを多くすれば間違いが減る(かもしれない)
という当たり前のことじゃね。

262:デフォルトの名無しさん
09/03/27 15:51:40
たしかにそうだな。
っていうかデグレをなくすにはどうしたらいい?っていう
もうちょっと一般的な命題なんじゃね?それって。

ところで>>257の言うところの糞コミットってのは
仕様上ちゃんとしたものだけど、実装の仕方やコードの品質がゴミなコードってことかね。
そういうのだったらコードレビューでもするしかないような。


263:デフォルトの名無しさん
09/03/27 16:27:37
レビュー体制にもよるよなあ。
コミット前に必ずレビューするのか本流っぽいところにマージする時だけレビューするのか。
オープンソースのプロジェクトにかかわったことないんだけど
そこらへんどうしてるんだろ。

264:デフォルトの名無しさん
09/03/27 17:21:34
デグレの使い方が間違っとる

265:デフォルトの名無しさん
09/03/27 18:12:43
ブランチ→修正→検証→コミットのサイクルを繰り返してtrunkの安定度が少しずつ上がるんじゃないか?

266:デフォルトの名無しさん
09/03/27 18:14:01
>>265間違えた
trunkからブランチ→修正→検証→trunkにマージのサイクルを繰り返してtrunkの安定度が少しずつ上がるんじゃないか?

267:デフォルトの名無しさん
09/03/27 18:27:09
trunk: 最新版
branch: trunkからリリース準備単位で派生
tag: branchからリリース完成単位で派生、基本ここは修正しない(bugfixはbranchで)

ってのがsubversionのドキュメントでサンプルに出されてた使い方だったかと。

自分はこれに加えて実験的なことしたい時もbranchを切るやり方でやってる。
少人数の上仕事で使ってるわけじゃないからこれでべつにいっかなーと。

268:デフォルトの名無しさん
09/03/27 18:40:26
>>267
apacheとかeclipseとか、
メジャーなオープンソースプロジェクトはだいたいそんな感じだね。

269:デフォルトの名無しさん
09/03/27 18:45:23
Redmine使ってるんだが、ブランチ切って作業すると
プロジェクトの指してるリポジトリと合わなくなって困る
なんとかならんのか

270:デフォルトの名無しさん
09/03/27 20:51:09
>>267
それで困ることってあるんかな

271:デフォルトの名無しさん
09/03/29 13:00:46
うちは、trunkにコミットしたものは1分後にHudsonがビルド〜テストを開始するので、
- Hudsonで扱って欲しいもの->trunkへ
-- ビルドエラーが起こるソースコードをコミットすると、Hudsonのログでさらし者。
-- テスト結果もHudsonのログに残す。
- 実験的なもの(Hudson側の設定を行っていない)や大改変中でビルドエラーがあるもの ->branchesへ
- リリースやマイルストーンごと区切り(テスト区が関わる)-> tagsへ(tagsにsvn copy出来るのは中核メンバー数人だけに制限)


272:デフォルトの名無しさん
09/03/29 16:23:41
Hudsonって何?

273:デフォルトの名無しさん
09/03/29 16:30:37
ググりゃすぐでてくるがな。


274:デフォルトの名無しさん
09/03/29 16:31:21
やらなきゃ

275:デフォルトの名無しさん
09/03/29 17:19:38
>>272
URLリンク(gihyo.jp)

276:デフォルトの名無しさん
09/03/29 22:45:51
ぐぐった。
URLリンク(img2.timeinc.net)

277:デフォルトの名無しさん
09/03/30 10:53:06
担当が突然消える場合(病気、事故、失踪)に備えて、個人用ブランチに毎日コミットさせてる。

278:デフォルトの名無しさん
09/03/30 11:22:21
まさかとは思うけど、個人的にsvkやgit-svnを使用することを禁止してるところってないよね?

279:278
09/03/30 20:50:26
「個人的に」はわかりにくいか。
社内のSubversionレポジトリへsvkやgit-svnでのアクセスを禁止してるところは…て意味です

280:デフォルトの名無しさん
09/03/30 21:11:18
状況によるんでない?
何するツールなのか知った上で禁止してるのか、
知らないからこそ勝手ツールとして禁止してるのか。

個人用のブランチ切れ&守秘義務的に繋った場所での作業Onlyって運用ルールだと
メリットも薄れるだろし。


281:デフォルトの名無しさん
09/03/31 10:42:09
svkの使用は禁止されてないが
svkからのpushは禁止されてる

282:デフォルトの名無しさん
09/03/31 12:47:13
あのさ,遠隔地でどうしてもリポジトリにつなげないとき,
ワーキングコピーに対して行った変更を何らかの方法で
(たとえばメールとかで)リポジトリ管理者に
渡して更新してもらうってのは無理?

patch ファイル作ってっていうのがまずはじめに思いつく
方法だけど,プロパティの変更とかそういったものまで
含めた patch ファイルのようなもの(ダンプの一部みたい
なもの)を生成してリポジトリ管理者側で流し込んでもらう
手のは無理だろうか.

ワーキングコピー全体を渡せよってのは,ちょっと規模が
大きくてやりたくない.

283:デフォルトの名無しさん
09/03/31 13:06:17
変更(外出)前のワーキングコピーを両方に保存しておいて
ワーキングコピーの差分だけ送る

284:デフォルトの名無しさん
09/03/31 18:28:19
svnserve って一応認証あるけどやっぱりインターネットに
さらしておくと危険かな?

今のところ安心感をとって ssh+svn でアクセスしてるんだけど.

285:デフォルトの名無しさん
09/03/31 19:25:03
そりゃまあ普通のプログラムである以上、exploitが見つかったら攻撃されるだろし
必要なIP範囲が決ってるならそれ以外をフィルタリングするぐらいのことはしていいんじゃね?

svnserve内のアクセス権設定がちゃんとしてるのは大前提だよね。
盗聴されるかどうかはsshで繋いでりゃとりあえずは安心だとは思うけど。

286:デフォルトの名無しさん
09/03/31 22:25:56
FreeBSDはリードオンリーだけどsvn晒してるな。

287:デフォルトの名無しさん
09/04/01 16:36:54
ActiveDirectoryを使ってユーザーの認証はできたのですが、
ユーザーごとのアクセス制御ができないです。
(ログインすると全てのレポジトリへRead,Writeができてしまう)
AuthzSVNAccessFileを指定するとユーザー名、パスワードの入力後にサーバから切断されてしまいます。
LDAPを使用する場合、個別のアクセス制御などはできないのでしょうか?
参考となるサイト等がありましたら教えてください。

httpd.confの内容::
<Location "/svn/">
DAV svn
SVNParentPath "D:\TracLight\projects\svn"
SVNListParentPath on
AuthType Basic
AuthName "Enter your LDAP ID"
AuthBasicProvider ldap
AuthLDAPBindDN admin@example.com
AuthLDAPBindPassword pass
AuthLDAPURL "ldap://ldap-server:389/dc=sample,dc=com?sAMAccountName?sub?(objectClass=*)"
Require valid-user
AuthzSVNAccessFile "D:\TracLight\projects\svnauthz"
↑この行を追加するとページの読み込みエラーになる
</Location>




288:デフォルトの名無しさん
09/04/03 10:20:04
すいません、ブランチについて質問なのですが、

1. ブランチを切る
2. ブランチのみへコミットして、トランクは全くいじらない
3. ブランチの変更をトランクへマージ

このような変更を行ったところ、予想では全くコンフリクトが起こらずスムーズにマージされると思ったのですが、
実際には一部のファイルでコンフリクトが起こりました。(ほとんど自分しか使わないためこういうことがよくあります)

今までブランチをほとんど使ったことがなく、仕組みもよくわかっていないのですが
(いろいろ解説を読んだのですが、いまだによくわからないorz)
これはこういうものなんでしょうか?

そして、ブランチの変更を全面的にコミットするには、
1. .rXXXファイルの内容を元のファイルへ上書き
2. コンフリクトを解消
であっているんでしょうか?それとももっと効率的な方法はありますか?

289:デフォルトの名無しさん
09/04/03 12:29:37
トランクは全くいじらなければ
(そして他のブランチからのマージもしなければ)
コンフリクトが起きるってことは無いと思うんだけどなぁ.

もしかして古い Subversion クライアントでマージ
トラッキングの機能がない奴を使ってるとか.

290:288
09/04/03 13:00:54
>>289
TortoiseSVN, subversive(Eclipseのプラグイン)両方の最新版で試してみましたが、両方ともそうなりました。
subversiveの方では、branchの変更を戻すとき用のメニューである"再統合"を使いましたが、結果は上の通りでした。

291:デフォルトの名無しさん
09/04/03 14:44:16
そもそもなぜ衝突が起きるのかを理解してんのかね

292:デフォルトの名無しさん
09/04/03 14:47:57
>>288の言ってることが正しいなら、「衝突が起きて当たり前」とは到底思えないが…

293:288
09/04/03 14:48:48
>>291
同時に同じファイルの(だいたい)同じ個所を編集して、コミットするからですよね?
その通りなら、絶対同時に編集していない私のケースは、やっぱりおかしいんでしょうか。

294:292
09/04/03 15:11:20
>>293
微妙に理解が違うかな。
・trunkで、あるファイルのある場所を更新した。
・branchで、同じファイルの別の場所を更新した。
これを行っていれば、trunkに対しbranchで行った変更をマージすると衝突する可能性がある。
「いつ」変更したかは関係ない。

>>288では
>2. ブランチのみへコミットして、トランクは全くいじらない
と言っているので、本当にそれが正しいなら衝突は有り得ないと思うんです。
どうして衝突したんだろう。

295:デフォルトの名無しさん
09/04/03 15:11:51
コンフリクトマーカーの所見ればいいじゃん。
何で見ないの?

296:292
09/04/03 15:29:27
>>295
マーカー見ると、二つのファイルでdiffしたところが示されます。
つまり、

A
B
C

297:デフォルトの名無しさん
09/04/03 15:32:19
じゃあ、原因分かるでしょ。

298:デフォルトの名無しさん
09/04/03 15:34:20
差分みりゃわかるわなあ。


299:292
09/04/03 15:35:42
すいません、途中で書き込んでしまいました。

マーカー見ると、二つのファイルでdiffしたところが示されます。
つまり、

A
B
C

というファイルを、ブランチで

A
b
C

という風に編集すると、マージしたとき

A
<<<<<< .r2
b
====
B
>>>>>> .r1
C

という風になります。

300:デフォルトの名無しさん
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 と関係あるのかな?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4946日前に更新/191 KB
担当:undef