- 1 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 03:25:58 ]
- 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 前スレ r10 pc11.2ch.net/test/read.cgi/tech/1215565366/ 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/
- 577 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 17:55:53 ]
- svn のバージョンアップに強いのは dump? or hotcopy?
- 578 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 18:05:02 ]
- >>577
当然dump。dump/loadは基本的にコミットログのリプレイだから。 リポジトリを完全にアップグレードするにはdumpするしかない。
- 579 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 21:04:02 ]
- svn commit のときに changelist に含まれないものだけコミットする方法はありますか?
- 580 名前:デフォルトの名無しさん [2009/06/17(水) 17:11:30 ]
- subversionの運用について教えてください。
svn + apacheでmod_svnを使った運用を考えています。 リポジトリとプロジェクトの関係で2つの方法があると聞きました。 1.1リポジトリに対して複数のプロジェクトを管理 /home/svnにsvnadmin createして、配下にsvn importしていく。 りビジョンが通しで付くので1プロジェクトに対し一貫性がない。 svnadmin createが1回だけですむ。hookscriptを一度定義すればよい。 2.1リポジトリに1プロジェクト /home/svnの下にプロジェクトごとにsvnadmin create する。 リビジョンはプロジェクト単位で一貫性がある ただしプロジェクトが発生するたびにsvnadmin createする必要がある。 hookscriptなどをその都度用意する必要がある。 皆さんはどんな風に運用していますか? 設定は2で、1のように1リポジトリに複数という形式もありかなあと思っていますが、 実運用っぷりをきいてみたいです。
- 581 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 17:26:00 ]
- 運用、運用って言うけど、
結局、どのくらいの頻度で新しいプロジェクトが立つかだけじゃないの? リビジョン番号の一貫性云々言うけど、 どうせ branch + trunk でごちゃごちゃになるし、 別にたいした問題だとは思わないけどね。
- 582 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 18:15:17 ]
- >>580
1リポジトリで複数プロジェクトにしておけば、 あとは特定のディレクトリ以下を別リポジトリに独立させることができるよ。 ただし、ディレクトリ作成を独立したコミットにしておく必要がある。
- 583 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 18:37:18 ]
- レポジトリのログを一覧して見たときに、
自然なまとまりになるであろうようにする。 それが俺ルール。
- 584 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 11:16:40 ]
- リポジトリ vs レポジトリ 論争がまた始まりそうな予感
- 585 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 11:26:13 ]
- あろうようにする
- 586 名前:デフォルトの名無しさん [2009/06/21(日) 23:50:40 ]
- TortoiseSVN 1.6.3 age
https://sourceforge.net/project/shownotes.php?release_id=691197
- 587 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:19:04 ]
- 前回も確かそうだったが、最近Subversion本体よりTSVNの方が
(少なくともWebでは)先にリリースされとるな。 チーム内で何か確執でもあるのだろうかw
- 588 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:22:58 ]
- サーバーを1.5.4で運用しているのだが、クライアントを1.6.xにすると
どの程度遅くなる?無視できる程度? ちなみに使っているプロトコルはsvn+sshです
- 589 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:59:50 ]
- ちと質問。
勉強でTortoiseSVN1.5.6を使用し始めて、その後コマンドライン版svn1.5.6を使用中。 リポジトリはTortoiseSVNでローカルに作成したものを使ってます。 OSはWindowsXP。 1.6.3が出るようなのでサービスを稼働させる前にバージョンアップしようかと思ってますが、 どの程度互換性があるのか今一つわかってません。 ・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト ・リポジトリは互換性あり、気になるならバックアップしておく程度でよし というのがこのスレ読んで考えた対処法ですが、合ってますでしょうか。
- 590 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:42:10 ]
- >>587
TortoiseSVN の開発チームは Subversion 開発チームとはまったく別。 TortoiseSVN のビルド〜リリース手順は Subversion 側のタグ作成が済んだら始まる。 その手順が Subversion 側のタグ作成〜リリースの手順よりも速いってだけ。
- 591 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:44:06 ]
- >>588
実測しないとなんとも。
- 592 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:50:16 ]
- >>589
> ・ワーキングコピーは非互換部分あり、バージョンアップ後に再度チェックアウトし直しがベスト 非互換部分があるのは合ってるけど、チェックアウトしなおす必要は無い。 1.6 のクライアントでアクセスすれば勝手にバージョンアップされる。 > ・リポジトリは互換性あり、気になるならバックアップしておく程度でよし 互換性があるんでそれでもいいけど、 1.6 でしかアクセスしないなら 1.6 で 作り直したほうが1〜2割ほど容量が抑えられてうれしいかもしれない。 詳しくはこちら。っていうかこっち先に読めよ。 subversion.tigris.org/svn_1.6_releasenotes.html#compatibility
- 593 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 21:58:17 ]
- >>338 >>472の件、ようやく本家で対応されますた
Version 1.6.3 (19 Jun 2009, from /branches/1.6.x) svn.collab.net/repos/svn/tags/1.6.3 User-visible changes: * fix segfault in WC->URL copy (r37646, -56) * let 'svnadmin load' tolerate mergeinfo with "\r\n" (r37768) * make svnsync normalize svn:* props to LF line endings (issue #3404) (略)
- 594 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:57:48 ]
- Version 1.6.3
ttp://sourceforge.net/project/shownotes.php?release_id=691197 大量にバグが修正されてますな
- 595 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 19:47:35 ]
- TortoiseSVN1.6..3にバージョン上げたんだけど
コミットする時の対象一覧が常に空と表示されるようになって 選択されてない状態になるんだけど
- 596 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 11:17:34 ]
- 俺も変更リストが空になってる。
ignore-on-commit使ってるのが悪いのかしら。
- 597 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 17:32:46 ]
- >>596
そのようだね。ignore-on-commitがあるとチェックが外れるみたいだ。
- 598 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 20:49:25 ]
- svn help XXX のメッセージが日本語と英語がかなり混在しているけど
日本語への翻訳はもうしていないの?
- 599 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:41:52 ]
- svnbookの1.6対応日本語版マダー?
- 600 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 01:43:00 ]
- >>589,>>592
1.3 の頃に作った300MB、リビジョン1400のリポジトリを 1.6 で dump/load したら 100MBぐらいになりました。 そこから更に dump したのを 1.3 で load したら元のサイズになったので、 中身が飛んだりはしてないらしいです。 作り直しが効果的だった例ということで。
- 601 名前:デフォルトの名無しさん [2009/06/28(日) 12:18:41 ]
- レンタルファイルサーバのWebフォルダ(WebDAV)上にリポジトリを作成してそれをWindowsから使いたいんですが、
TortoiseSVNで右クリックしても「リポジトリを作成」が出てこなくて、一旦ローカルでリポジトリを こさえてからエクスプローラでコピー、またはTortoiseSVNの再配置を使ってWebフォルダを指定しても 「リポジトリは恒久的に'http://〜'へ移動しました。relocate(参照URLの変更)を実行してください。」 とエラーメッセージが出てきて先に進めないのですが、どうすればうまくいくのでしょうか? 普通にSambaファイルサーバ上のリポジトリにアクセスするのと同じようにはいかないのでしょうか?
- 602 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:29:24 ]
- >>598
subversion/po/ja.po のコミットログを見てもらえればわかるとおり、 訳してた人が1年以上動けてないみたい。 リアルな生活が忙しくてそれどころではないという噂を聞いたです。 >>599 svnbookの1.6対応版ってtrunkかなぁ tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、 TortoiseSVNのマニュアルが滞っててそれどころでもなかったり。
- 603 名前:589 mailto:sage [2009/06/29(月) 00:31:21 ]
- >>592
>>600 ありがとうございます、全くの反対方向に理解してたことがよく分かりました。 とりあえず1.6.3を落としてきました。 先に教えてもらったページを読み込んでからバージョンアップに挑戦してみます。
- 604 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 01:46:11 ]
- >>601
普通はサーバ上で本家のSubversionを動かし、さらにそいつでレポジトリを作っておく。 そうしておいて、クライアント側からTortoiseSVNなどでチェックアウトするというのが素直なやり方だと思う。
- 605 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 11:52:27 ]
- 知らないならレスしないでください
- 606 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:36:35 ]
- >>605
お前、もう誰からもまともなレスは付かないぞ。 さっさと知恵袋にでも逝けw
- 607 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:50:05 ]
- 自分がどれだけアホな質問をしてるのか、それは数年後にわかるだろう
- 608 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:51:19 ]
- IDなしだから、605は私じゃありませんと言い出すんだよね
- 609 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 14:32:01 ]
- ていうか、>>605 みたいなレスをあちこちに投下してる愉快犯がいやがる。
- 610 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 14:41:58 ]
- OpenGLスレでも同じようなキチガイがいたな
- 611 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 14:50:45 ]
- IDなしの板で質問するのがアホ
- 612 名前:601 mailto:sage [2009/06/29(月) 19:58:15 ]
- >>605は本当に私じゃありません
- 613 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 05:07:41 ]
- > 知らないならレスしないでください
これはIDなし板での恒例のレスだろww
- 614 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:25:23 ]
- そういうレスを面白半分に投下する奴は人間の屑だと俺は思うが。
- 615 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 11:48:45 ]
- 面白半分じゃなくてID推進活動の一環だろ。
質問はトリ付けることを推奨でいいんじゃね。 IDは変わりやすい人もいるからIDあってもトリ付いてた方がいいし。
- 616 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 11:53:12 ]
- 2ちゃんねる的にはIDを付けなければならんほど、住人の民度が落ちた、
ということで、IDが付くのは、ある意味、終わったということなんだが。 そんなにム板を終わらせたい奴がいるわけ?
- 617 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 11:55:56 ]
- 住民がどう以前に関係ないやつがおもしろ半分にあちらこちらで暴れてるんだからどうしようもないだろ
- 618 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 12:01:27 ]
- こんなの恒例なんだから、スルすればいいだけのことだよ
- 619 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:32:16 ]
- >>602
> tag切られたら1.5には見切りを付けて、1.6にしようかと思ってるんだけど、 svnbook.red-bean.com/index.ja.html ここにある日本語版は1.5どころか、 > この本は Subversion バージョン管理システムのバージョン1.2系のために書かれたものです。 という記述 (ttp://subversion.bluegate.org/doc/pr02.html) があるとおり相当古いものです。 どこかに1.5相当のsvnbook日本語版が存在するのでしょうか?
- 620 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:36:38 ]
- 「鍋太郎」氏のサイトのが1.5相当だったかと。
- 621 名前:デフォルトの名無しさん [2009/07/06(月) 20:40:19 ]
- すっごい初歩的な質問なのですがMac OS X 10.5+Xcode 3.1+subversionな環境で
エラー:155007(Path is not a working copy directory)説明:'/path/to/hogehoge' is not a working copy と出る場合はどうすればいいですか?
- 622 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:51:08 ]
- >>619-620
半分ぐらいしか訳せてなくて申し訳ないのだけれど。 一応リファレンスだけは訳したつもり。
- 623 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 13:31:07 ]
- >>621
「チェックアウトしたディレクトリではありません」ということです。 何をしたいのかによりますが、 チェックインしたいなら、先にチェックアウトしてみてください。
- 624 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 13:35:52 ]
- >>621
1. ローカルコピーを削除する。 (cd myxcodeproject; rm -rf . ) 2. サーバーから”ビルド”フォルダを削除する 3. チェックアウトする (svn co https://svnserver/path/trunk/project . ) 参考:note19.com/2009/03/17/xcode-subversion-error-155007-path-is-not-a-working-copy-directory/
- 625 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:29:46 ]
- Subversionって管理者権限を持ってると変更履歴の改竄は可能ですか?
- 626 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:30:48 ]
- 履歴とは何
ログなら可能
- 627 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:32:39 ]
- >>626
ログメッセージじゃなくログそのものですね xxというソースを追加したとか変更したとか
- 628 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:36:41 ]
- ↑
いちいち余計なひとことで他人をムッとさせるタイプのひと。 ログ ヒストリー 履歴 たしかに統一してほしいけど、読めばわかるだろ。
- 629 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:38:08 ]
- どう見てもお前さんのレスこそ他人をむっとさせるだろw
- 630 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:40:12 ]
- むっ
- 631 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:57:21 ]
- 改竄だと
rev.NNNを無かったことにする -rNNN:NNN+1 の差分を変更する とかじゃないの?
- 632 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:34:57 ]
- むっ
- 633 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:55:22 ]
- >>631
そうです あるリビジョンで追加したファイルがなぜか変更扱いになってたりとあとで 改竄できるのかなあと思いまして 当然追加を変更扱いするわけなのでもっと前のリビジョンで追加されてたことにするわけですが
- 634 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 07:51:16 ]
- なんで自分のやりたいことを具体的に説明できないのかねぇ。
まぁ、きちんと説明できるくらいなら自力で調べることもできそうではあるが。
- 635 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:13:19 ]
- >>633
聞いた限りでは、ただの勘違いにしか思えないな。
- 636 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:21:06 ]
- >>633
履歴の削除はできます。 削除した場所に別の履歴を入れたりは難しいです。 普通は履歴を改竄する必要はないはずです。 よっぽどのこと(顧客の個人情報をコミットしてしまった等)があった場合には、 その部分の履歴を削除することはありますが、 それ以外では、単に追加・更新していくだけで大丈夫なはずです。
- 637 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:17:38 ]
- ソフトウェアの情報を見ると
バージョン番号の次にリビジョン番号(1.2.3-r45678)がくるものがあるけど C/C++のソースコードにsubversionのリビジョン番号をソースコードの中に組み込む事ってできるんですか?
- 638 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:19:37 ]
- 何でドキュメントを読まないの?
- 639 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:29:08 ]
- オレのドキュメントは2ちゃん
- 640 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:44:57 ]
- >>637
svn:keywordsを設定してキーワード置換をすればできます。 たとえば属性svn:keywordsにRevisionを設定してから ソース中で rev = "$Revision$"; などと書いておくと チェックアウト時に実際のリビジョン番号に置換されます。 参照:subversion.bluegate.org/doc/ch07s02.html#svn.advanced.props.special.keywords
- 641 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:17:25 ]
- >>637
その質問、すでに何度も出てるよ
- 642 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:25:01 ]
- >>637
過去ログで何回も出てるけど、 svn:keywords, svn info --xml, svnversion, subwcrev (TortoiseSVN)とか。 あと、継続的実行 (Continuous Integration。わからなければググレ)してるなら、そっちの機能でも出来たりすることがある。
- 643 名前:デフォルトの名無しさん [2009/07/17(金) 19:20:27 ]
- TrutoriseSVNでsvn+sshで接続できなかったので初心者質問です。
前任の人が入れていったSubversionを利用したくて、Subversion初心者なりに頑張ったのですが ダメでしたので質問です。 ・前任者がパスフレーズと、「ssh_rsa.ppk」なるファイルを残していった ・Puttyではこのppkファイルとパスワードで接続できた ・TrutoriseSVNのネットワーク設定でこのppkファイルを食わせて、ユーザー名とパスフレーズを入れてもログインしてくれない 自分の環境はWindowsXP、TrutoriseSVN1.6.2 接続先はSubversion1.4.6 LinuxはRed Hat Enterprise Linux ES release 4 (Nahant Update 5) と記述してありました。 Unix文化やセキュリティというものに親しんでこなかったので、何が悪いのか調べる方法に困っている状況です お知恵を頂ければありがたいです
- 644 名前:643 [2009/07/17(金) 19:34:24 ]
- 一応前任の方のメモ書きを参考にしたのですが、どうしてもパスフレーズを求められて
メモに書かれたものを入れてもログインできません。(Puttyだと通った) ・リポジトリブラウザに入れたパスの問題なのか ・パスフレーズの問題なのか ・それ以外なのか ちょっとどれが有力なのかも自分の中で絞れない感じです 前任者のメモの要約です。 (miyaが前任者の名前) 【TortoiseSVNの設定】 ・エクスプローラー上で右クリック→TortoiseSVNの設定→ネットワークを表示 ・SSHクライアントのボックスに以下を入力 C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l miya -i 秘密キーファイルのパス ・リポジトリブラウザで以下のURLにアクセス svn+ssh//hostname/home/miya/svn/project/hogeprj/reps/trunk (hogeprjがプロジェクト名) よろしくお願いいたします
- 645 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:55:13 ]
- >>643
えっと、参考になるか分からないけど、自分の設定を晒しときます。 SSHクライアントはPutty付属のplinkw.exeを使って -batch オプションを付けてます。 で、接続する前にこれまたPutty付属のpageant.exeを起動して秘密キーを登録しておきます。 これでレポジトリにアクセスできてます。
- 646 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:56:23 ]
- >>643
puttyのパッケージに入っているplinkを使ってみてください。 puttyごった煮版に入っているplinkwがお勧めです。 TortoiseSVNのネットワーク設定のSSHクライアントに次のように入力します。 C:\Program Files\PuTTY\plinkw.exe 秘密キーはpageantに登録して使うと便利です。 詳しくは次のページを見てください。 ttp://www.sodan.ecc.u-tokyo.ac.jp/2002/article/tips/ssh/putty.shtml
- 647 名前:645 mailto:sage [2009/07/17(金) 19:57:58 ]
- 追記。
レポジトリにアクセスするときにユーザ名を付けてます。 svn+ssh://user@host/svn/repo/trunk
- 648 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 20:05:10 ]
- subversionの環境を使いたいの?
それとも、リポジトリを使いたいの?
- 649 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 20:06:15 ]
- リポジトリを使いたいだけなら、がんばってサーバでリポジトリをダンプして、
windowsでインポートすればOK
- 650 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 22:58:44 ]
- 複数案件を、検証用サーバ、本番サーバに順不同でリリースしたい場合の例ってどこかにありますか?
具体的には、検証用サーバには案件A Bの順でリリースしたが、 本番サーバには案件B Aの順でリリースしたい場合です。 現在のリポジトリ構成 trunk 検証、本番 branches 案件A 案件B のような感じです。
- 651 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:07:45 ]
- 「リリース」でSubversionで何をしたいのかがわからん
- 652 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:15:40 ]
- 各サーバで普通にチェックアウトするだけじゃないのか
- 653 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:49:17 ]
- >>650
もう少し解りやすく質問してお願い。
- 654 名前:650 mailto:sage [2009/07/18(土) 01:58:14 ]
- 言葉が足りずすみません。
既存システムの修正を行おうとしています。 修正の内容が2種類あり、それらのリリースタイミングが異なるため、別のブランチを作成します。 リリースはtrunkにマージしたものを本番サーバに配布することを指しています。 また、それぞれの案件が同じファイルを修正する可能性もあります。 検証用サーバを挟まない場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aをリリース) Aをtrunkにマージ 3 (Bをリリース) trunkの変更をBにマージ後、Bをtrunkにマージ という流れでいけると思っています。 しかし、検証用サーバを挟み、本番サーバへBを先にリリースしたい場合、 1 trunkをコピーして、A Bブランチを作成 2 (Aを検証用サーバにリリース) Aをtrunkにマージ 3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ 4 (Bを本番サーバにリリース) とやってしまうと、Bを先に本番サーバへリリースを行おうとした時に、BのブランチにはAの内容が 含まれた状態になっているため、Bのみの内容を抽出することが難しいのではないかと懸念しています。 伝わるでしょうか。。。
- 655 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:14:30 ]
- リリース直前に専用のブランチを作って、そこで切ったタグからリリースしてはどうでしょう。
リリース直前の修正はブランチで行い、trunkへのマージはタグ切ってリリースした後で。 そもそも、本番サーバへのリリース計画と異なる手順で検証用サーバにリリースするのが間違いのような。 いったい何を検証するつもりなんでしょうか?
- 656 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:06:40 ]
- >>654
なんでtrunkにマージすんだよ。 branchの先端をリリースしろ、馬鹿。
- 657 名前:653 mailto:sage [2009/07/18(土) 14:32:00 ]
- >>654 流れは大体合ってる。
>3 (Bを検証用サーバにリリース) trunkの変更をBにマージ後、Bをtrunkにマージ ここの後半で競合が起きるかもってことかな?確かに起きる。 TortoiseSVNであれば、このときはBをtrunkにマージではなくって、ブランチを再統合するを選べばOKだよ。詳しくはtortoiseSVNのヘルプの4.20ブランチの再統合を参照してね。 尚、Bの変更内容だけを抽出したいなら、trunkの変更をBにマージした時点でのBとtrunkとの差分をとればBの変更が抽出できる。
- 658 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:31:46 ]
- >>658
本番サーバと違うことを検証サーバでしようとするからおかしくなる。何のための検証サーバか。 開発スケジュールとリリーススケジュールがずれるのはいいとしても、 リリース時の手順はしっかり合わせた方がいい。
- 660 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 18:20:26 ]
- >>658
もっと単純に考えたほうがいいんじゃないかな。 trunk 本番 ベータ版ブランチを作成。ベータ版フィードバックをベータ版ブランチへ、その後trunkへマージを繰り返す。 最終的にtrunkからリリースブランチを作成。
- 661 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 21:28:25 ]
- そろそろうざいな。
必要なAの変更とBの変更をブランチだかtrunkだかにマージすればいいだけの話だろ。 ブランチ作成後にtrunkに変更を入れるのかどうか知らんけど、 リリースに必要な変更を全てマージすればいいだけの話。 ブランチが足りないなら、さらにブランチ作って、不要になったら消せ。
- 662 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:19:23 ]
- >>658
それぞれのbranchでの変更は、そのbranchにcommitしろ。 マージはそのbranchがfixしてからだ。
- 664 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:20:27 ]
- >>659
> 本番サーバと違うことを検証サーバでしようとするからおかしくなる。 客からの要望が ・A Bをやりたいがどちらを先に本番リリースするかは決まっていない ・どちらも本番リリースすることは確実なので、対応できたものから検証サーバに配置して欲しい というものなので、そうなってしまいました。 >>661 はい、必要なブランチを作成して不要になったら消そうとしています。 >>660 >>662 ありがとうございます。もう少し考えてみます。
- 665 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:27:15 ]
- 1.branchAを作って、Aの修正を行い、検証サーバにリリースする。
2.branchBを作って、Bの修正を行い、検証サーバにリリースする。 3.branchA、branchBをtrunkにマージし、検証サーバにリリースする。 クライアントの要求に従って、(1、3)あるいは(2、3)の順でリリースする。 リリースの順番が早く決まるんなら、もう少し手順は省略できるが、わからないならこれしかないのでは。
- 666 名前:665 mailto:sage [2009/07/18(土) 22:34:05 ]
- どう実現するかを考えるのももちろん必要だけど、リリース順序をクライアントに決めさせる努力も重要。
文脈から、クライアントが行う受け入れテストの基盤を「検証サーバ」と呼んでるような気がするが、 リリース順序の決定が遅れる場合は、受け入れテストの工数が増大することをクライアント側に説明 しておく必要がある。二回の受け入れテストで済むものが、三回必要になるかもしれないということ。 まぁ、開発側も受け入れ側も、Aの検証を行い、Bの検証を行えば、AとB両方入れてもOKっしょ的な、 運を天に任せるというやり方でもいいけど。
- 667 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:42:47 ]
- そんなトロい客とSEは回帰バグで死んでしまえ。
- 668 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:00:04 ]
- どちらも最終的に必要なのに、どちらが先かわからないということは、同時に用意することになるんだね。
ならば、AB同時にやって条件ifで片方の機能を殺して提出する方が楽かもね。
- 669 名前:デフォルトの名無しさん [2009/08/02(日) 09:23:05 ]
- 先生質問です ノ
svn:keywords=Revと属性を付けておくと$Rev$を置換してくれますが、 あくまで、このファイル自体が変更されたタイミングですよね。 で、このファイルに変更が無くても、他のファイルをコミットするときに 置換して欲しいんですが、そういう方法ってありますか? 希望する動作: a.txtは属性svn:keywords=Rev b.txtは属性なし b.txtを変更してコミット a.txtは変更していないが$Rev:$が置換されている リポジトリは共有フォルダ(必要があればsvnserveも変更可能)、 クライアントはTortoiseSVNです。
- 670 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 11:23:32 ]
- それくらい、バチファイルで組め
- 671 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 12:20:51 ]
- どっちかというと、変更して無いファイルをコミットするコマンドがあるのかに興味があるな。
- 672 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:30:59 ]
- 変更すればいいじゃん
- 673 名前:デフォルトの名無しさん [2009/08/02(日) 20:02:00 ]
- >変更して無いファイルをコミットする
単にタイムスタンプを変更したいってこと?
- 674 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 22:06:03 ]
- >>673 コミットログ書き忘れたときに簡単にログだけを追加したいと思うことがある。
- 675 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 22:33:56 ]
- >>674
svnadmin setlog でOK
- 676 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:16:06 ]
- >>674
最初っからそれを言えよ
- 677 名前:669 mailto:sage [2009/08/03(月) 12:08:06 ]
- >>670 >>672
・コミットはTortoiseSVNから ・チームで開発してる ・漏れを無くしたい(自動的に、確実に) という状況/考えだったので、 クライアント側はTortoiseSVNの操作だけにしたいな、と思いまして。 私だけならバッチで良いんですけどね。 ちなみに目的は、各環境のDB構造のバージョンアップ(alter文とか) の際に↓のようなsqlを最後に流して、 その環境に、どのrevまでの変更を適用したか より確実に残しておきたかったんです(今は手動でrevを書き換えてupdate)。 --rev.sql-- insert into upd_rev(dt,rev) values(now(), '$Rev: 0 $'); とりあえず、フックスクリプトで出来るかやってみようと思います。 >>674 たまにそれやって空行追加して再コミットしてるw 過去の内容変えるとsvnの差分バックアップとか svkのミラーリングに入らないしね。
|

|