- 1 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:02:52 ]
- バージョン管理システムについて語りましょう。
関連スレ CVS 1.3 [UNIX板] pc11.2ch.net/test/read.cgi/unix/1093611448/ CVS導入スレ〜 Rev.3 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1113141518/ Subversion r10 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1215565366/ subversion バージョン管理【サブバージョン】 [Linux板] pc11.2ch.net/test/read.cgi/linux/1154701996/ git スレッド [Linux板] pc11.2ch.net/test/read.cgi/linux/1197798039/ Bazaarでバージョン管理【bzr>git,svn,cvs】 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1218083381/ 前スレ バージョン管理システムについて語るスレ2 pc11.2ch.net/test/read.cgi/tech/1215520728/ 前前スレ バージョン管理システムについて語るスレ pc11.2ch.net/test/read.cgi/tech/1193332500/
- 702 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:16:18 ]
- >>701
Mercurial自体が対応してないのに?
- 703 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:16:39 ]
- バージョン管理システムのバージョンを管理するのが面倒くさい。
バージョン管理システムのバージョンを管理するシステムは無いの?
- 704 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 00:54:05 ]
- パッケージ管理システムでも使えよ
- 705 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:05:50 ]
- 質問があるのですが、よろしいでしょうか?
バージョン管理システムで「この行のローカル変更を無視する」ような指定の できるものはありませんか? 例えば、設定ファイルなど、個々のユーザや環境ごとに内容を書き換える必要 のあるファイルをバージョン管理しようとすると、個々のローカルの変更が当 然、競合してしまいます。 しかし、このファイルをバージョン管理から外すと、新しい設定項目が増えた ときにも、全ユーザの設定ファイルをアップデートすることができません。 そこで、たとえば String db_name = "db_(ユーザ名)"; // svn:ignore という具合に、svn:ignore の出現する行はバージョン管理の対象から外す、と いった機能がほしいのです。 レポジトリには svn:ignore を含まないコードを登録し、各ユーザがチェック アウト後に自分に適した値に書き換えてから、自分で svn:ignore と書き加え ます。その後はその行だけ、バージョン管理システムから無視されるようにな るので、アップデートすればその行以外は更新されます。 また、svn:ignore の書かれていない行を変更してコミットすれば、レポジトリ に登録されたコードは当然、変更されます。 こんな機能を持つバージョン管理システムはないでしょうか? -- もしかして分散バージョン管理システムなら、こういう使い方もできるのでしょ うか?
- 706 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:13:01 ]
- >>705
設定ファイル側で個々のユーザ毎の設定だけ別ファイル作るとかして対応したら?
- 707 名前:705 mailto:sage [2009/04/03(金) 15:26:19 ]
- >>706
それはある程度やっておりますが、そういう個人ごとのファイルを中途半端に バージョン管理したいのです。設定項目が増えたりしますから。 今は、設定項目が増えたりするときは、メーリングリストで通知しています。 もっとうまい方法がないかと思うのです。
- 708 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 16:44:32 ]
- コミットのトリガーで動く前処理スクリプトか、
svnの代わりに呼ぶラッパー作れば?
- 709 名前:705 mailto:sage [2009/04/03(金) 17:27:21 ]
- >>708
それはいいかもしれませんね。 ただ、コミットのトリガーだと、ユーザ環境では「変更されたファイル」とし て扱われてしまうし、 svnの代わりのラッパーは、ユーザのOSやクライアントソフトの種類が多くて難 しそうです。
- 710 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:18:09 ]
- >>705
分散型なら各自の設定ファイルもバージョン管理できるだろうけど、 それだけの為に分散型にするのはどうだろうね。 あなた一人だけでやってるなら頑張って使い方覚えればおkだけど。。。 antとかrakeみたいなので設定ファイルをジェネレートするようにしたほうが 適してるかも。
- 711 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:46:32 ]
- xmlでもiniでもconfigでも、拡張子の後に更にsampleとか拡張子付加して管理してる
使う側が勝手にマージしろって感じに
- 712 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:47:42 ]
- んでコミットされないようにignoreにも登録
- 713 名前:705 mailto:sage [2009/04/03(金) 19:13:18 ]
- >>710
おっしゃるとおり、当分はSubversionから離れることはできないでしょう。 分散型については将来に備えて知っておきたいと思っています。 ant や rake については、毎回ユーザが設定値を与えるならわずらわしいし、 値を保持するなら、その値をどうバージョン管理するかという話に。 >>711-712 それはTortoiseSVNのチュートリアルが推奨している方法ですね。 (サイトが落ちているようなのでキャッシュ) 72.14.235.132/search?q=cache:oA9O7x9K_XMJ:www.caldron.jp/~nabetaro/svn/TortoiseSVN-1.3/TortoiseSVN_ja/ch05s02.html うちもそうしているのですが、テンプレートが更新されても気づかないんです。 ユーザにマージさせるのに、メーリングリストで通知することになります。
- 714 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:13:50 ]
- 別にそれで良くね?
あとはpost-commitにでも特定のファイルがコミットされたら 注意しやすいように、分かりやすくなるようにスクリプト書くだけじゃん
- 715 名前:705 mailto:sage [2009/04/03(金) 21:08:44 ]
- >>714
なるほど、テンプレートファイルが更新されたら、自動でMLにメールを投げる とかですね。 結局、その辺に落ち着くしかないのかもしれません。自分の当初のアイディア も、例えば設定項目が増えた場合、その増えた値を個々のユーザに書き換えて もらう必要があるなら、通知が必要なようですし。
- 716 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:09:39 ]
- >>705
うちはgit使ってるけど、 - ベースとなるブランチをmasterとする - ホスト毎にそのホスト固有の修正を行うブランチを用意(host/foo, host/bar, ...) - masterに更新があった場合はgit rebase master host/fooとして各ホスト用データを更新 としてる。
- 717 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 08:47:23 ]
- >>716
便乗質問させてください。 その場合は、ローカルの仕事を本家にcommitしたいときはcherypickするのでしょうか? そのままmergeしちゃうとホスト固有の部分も区別なくmergeされちゃうので、 まずいですよね。
- 718 名前:716 mailto:sage [2009/04/04(土) 16:29:32 ]
- >>717
そもそもhost/fooではホストローカルな修正しかしないので、masterにそういう修正を持っていくことはないよ。 masterに持っていきたくなるような修正はmasterで作業すれば良いんだし。 それでも誤ってmasterで行うべき作業をhost/fooでしてしまうことはあるかも知れない。 そういうときは - まだコミットしてないならgit checkout -m masterでブランチ切り替えて作業継続。 - 既にコミットしてたらmasterで該当コミットをgit cherry-pickしてから ホストローカルなブランチではgit resetやgit rebase -i masterで該当コミットを抹消。 としてる。
- 719 名前:636 [2009/04/07(火) 02:47:46 ]
- ファイル構成が大幅に変わってpatchがあてれなくなっていたので更新した
- 720 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 04:04:43 ]
- gitでhttp:/server/proj.gitからコミットasdf1234....を取りたい
んだけど、どうやればいいの? 全部取ってrevertを使ってみたが訳が分からん。 あまりに説明が無さ過ぎて泣ける。
- 721 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 10:35:04 ]
- 全部取ってるなら
git checkout asdf1234 でいいんじゃないか?
- 722 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 18:42:00 ]
- >>713
各自用のバージョン管理しないローカル設定ファイル(ignoreされる)を 用意して、テンプレート設定ファイルの各値を上書きするように ビルドツールを組んで、実行環境が構築されるようにしてやってるよ。 この場合、テンプレートにローカル設定がマージされるので、 ローカル設定ファイルの内容は古くても動く可能性がある。 もし各環境用の設定も全てあなたがメンテしないといけないなら、 各環境用にブランチ作るとかかなー
- 723 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 02:47:45 ]
- tracがパッケージとして既にあるubuntuか
安定性のcentosか どっちでリポジトリ関連の鯖たてようかなあ
- 724 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 08:56:58 ]
- ubuntuのパッケージって結構古いのばっかりじゃなかったっけか。
あと日本語化するならapt使って入れるのはやめといた方がいい希ガス。
- 725 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 21:34:44 ]
- Ubuntu,Debianはbackportsで多少新しいのが入る。
CentOSはrpmforgeで同様に。 日本語化するならtracをいったん入れる直前までやってtracに必要なパッケージをメモって、 で必要なパッケージを入れて、日本語版Trac入れる、かな。 あと、ちょいとスレ違いなので、Tracの話題ならこっちの方がよいかと。 【バグ管理】 BTS使ってる?【追跡゙】 2 pc12.2ch.net/test/read.cgi/tech/1163173901/l50
- 726 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:25:22 ]
- メッセージ翻訳担当募集
groups.google.com/group/mercurial-ja/browse_thread/thread/96cdbf93d4f76f53?hl=ja >なぜかリリースノートには記載されていないのですが(笑)、 >一応 Mercurial 1.2 版からヘルプ類が日本語化されています。 >しかし、ちょっと試してみればお分かりのように、まだまだ翻訳網羅率が >高くありません。とはいえ、数が数なので、私1人の翻訳では、流石に >ペースアップにも限界があります。
- 727 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:51:34 ]
- >726
日本語のmanがかなり古いんだが、そろそろ更新しないのかな? mercurial wiki上に有るんなら俺が訳してもいいんだが。場所違うし。
|

|