1 名前:デフォルトの名無しさん mailto:sage [2011/01/20(木) 12:26:04 ] バージョン管理システムについて語りましょう ●過去スレ バージョン管理システムについて語るスレ pc11.2ch.net/test/read.cgi/tech/1193332500/ バージョン管理システムについて語るスレ2 pc11.2ch.net/test/read.cgi/tech/1215520728/ バージョン管理システムについて語るスレ3 pc12.2ch.net/test/read.cgi/tech/1228366972/ バージョン管理システムについて語るスレ4 pc12.2ch.net/test/read.cgi/tech/1242918130/ バージョン管理システムについて語るスレ5 pc12.2ch.net/test/read.cgi/tech/1255241922/ バージョン管理システムについて語るスレ6 hibari.2ch.net/test/read.cgi/tech/1270640436/ バージョン管理システムについて語るスレ7 hibari.2ch.net/test/read.cgi/tech/1283780922/
927 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 16:51:30.09 ] ・makeみたいなツールがないからタイムスタンプが更新されている必要がない。 ・しばしばタイムスタンプありきでファイル管理を行なっている。 ・タイムスタンプが変わっていると天地が引っ繰り返ったように大騒ぎをする人がいる。 こんなところか?w
928 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 17:01:53.58 ] >>927 > ・makeみたいなツールがないからタイムスタンプが更新されている必要がない。 はぁ?どんだけ物知らないんだよ
929 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 17:03:24.44 ] しっくりこないんです!
930 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:58:58.11 ] Windowsの人ってなんでバッチファイルでやるの バッチファイルを日本語のファイル名でわけわかんない名前にしたりとか
931 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 21:48:39.95 ] >>928 それじゃ物識りの人が教えてくれまいか。
932 名前:915 mailto:sage [2012/03/03(土) 00:10:06.87 ] すいません。忙しくて時間がたちました。 >>916 ファイルのタイムスタンプで管理されていて、 それを変えて出すと怒られるんです(´・ω・`) バージョン管理とかされてなくて、ぼくは個人的に使っていたのです。 >>927 その通りです。タイムスタンプで管理されていて、変えると偉い人が有頂天になります。 >>921-923 それができるのですね。調べてみます。 ぼくは今、分散バージョン管理に興味を持っていて、そのどれかでできればいいなあと思ってたのですが。 いまのところ、Subversionだけなんですね。
933 名前:915 mailto:sage [2012/03/03(土) 00:12:21.12 ] >>930 本当はもっと便利なスクリプト言語を使いたいのですが、 どのバージョンのWindowsでも特別なインストールや設定なしに普遍的にあるのがそれそかないんです(´・ω・`) 管理で何かちょっとしたことをやろうと思うとそれしかないんです。 ぼくは日本語のファイル名は使いません(´・ω・`)
934 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:13:49.44 ] WSH使えば
935 名前:915 mailto:sage [2012/03/03(土) 00:16:58.39 ] >>932 あ、はい。 それとPowerShellも考えたのですが、比較的新しめのWindowsにしか乗ってないのと、 デフォルトで乗ってるやつでも、スクリプトの実行を許可する設定にしないと動かないんです(´・ω・`) バージョン管理とレス違いですいません。
936 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:22:24.87 ] そこまでインストールや設定変更を嫌うのにバージョン管理システムのインストールは許容するのか? まとめてインストールすりゃいいだろ
937 名前:915 mailto:sage [2012/03/03(土) 00:32:17.38 ] >>936 いや、すいません。バッチファイルの話は乗っかっただけで、別の仕事の話です(´・ω・`) バージョン管理は今の仕事のお話です。
938 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 04:22:54.43 ] >>935 実行ポリシーについて言えば、起動オプションで -ExcutionPolicyに好きな値設定すればどうとでもなるよ(管理者権限不要)
939 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 05:42:58.08 ] >>932 946 名前:デフォルトの名無しさん [sage]: 2011/11/02(水) 19:25:52.78 TortoiseHGを最近使いだして、その使い勝手に感激しています。 そこで質問なんですが、ファイルの更新日時も管理対象にすることはできないのでしょうか? 特定のリビジョンへ更新した際に、更新日時もそのときのものに変更されれば 最高なんですが。 947 名前:デフォルトの名無しさん [sage]: 2011/11/02(水) 19:40:30.94 >>946 タイムスタンプ更新是非については総合スレの話題として、 それらしき拡張はあるようだ。 mercurial.selenic.com/wiki/UsingExtensions mercurial.selenic.com/wiki/TimestampExtension mercurial.selenic.com/wiki/TimestampModExtension 948 名前:デフォルトの名無しさん [sage]: 2011/11/02(水) 21:58:54.77 >>947 TimestampModExtension これ使ってみました。 手間いらずでバッチリ希望通りの動きをしているようです。 どうもありがとうございました。
940 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 01:23:27.11 ] Windows 7 + Visual Studio 2010 の環境でSubversionを使用して一人で 開発しているのですが、一人作業でもSubversionから分散型に移行する 利点ってあります? 一人での作業だと分散型にする意味あまりなし?
941 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 01:36:48.40 ] >>940 一人でさらにtrunk一本(ブランチを作らない)であれば、Subversionのままでも構わないだろう
942 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 02:19:34.16 ] >>940 複数拠点で作業するなら、分散型の方が何かと好都合だぞ。
943 名前:940 mailto:sage [2012/03/05(月) 02:37:31.01 ] >>941-942 レスありがとうございます。 リリース用にブランチ切って、リリースするタイミングでタグ付けして、リリース後はブランチは保守用として残すという のと、たまーに実験機能用のブランチを切るというような一般的な使い方ですが、ブランチは使用しております。 このブランチの運用方法でいくと、ブランチの考え方が違うMercurialは無しですかね。 (運用方法を変えればいいという話もあるが・・・) どうも家で一人で作業している場合、コミットの回数が1回多くなる(マスターへの反映)という手間が増えるだけでは・・・ とか考えてしまう。 速度的には自分のPCで鯖立ててる状態なので、分散型に変えても有利になるわけでもないですよね。 でも確かに、ノートPC持って外出するときとかは、マスターからノートPCのリポジトリに落としてコーディングして、 気が向いたときにマスターに反映させるとかいうのは楽でいい気もする・・・。
944 名前:940 mailto:sage [2012/03/05(月) 03:22:33.73 ] そもそもこのスレに来た経緯ですが・・・ (1)「msysGitがUTF-8をサポート」という記事を見て、分散型が気になり出す。 (2)分散型について調べて、いろいろと分散型の利点を学習。 その課程でGitの管理ファイル(.git)はルートディレクトリだけに置かれることを知る。 (3)Subversionの管理ファイル(.svn)が各ディレクトリにあることに若干嫌気がさしていた ということもあり・・・Gitおいしいです(^q^)。 (4)Subversionも1.7から管理ファイルが一つになったことを知る(現状、Subversion1.6を使っています・・・)。 (5)あれ、一人で作業するならSubversionを1.7にアップデートでよくね? (6)いや、でも一人で作業する場合でも分散型にする利点あるのでは・・・。 ←いまここ というわけで、Subversionから分散型に移行しようとした動機がかなり不純であったので、 一人作業での利点を色々考えたのですがしっくりこないということもあり質問した次第です。 (いい機会なので、分散型に移行しようかなという気分にですが、どうも最後の一押しが・・・)
945 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 03:31:01.61 ] >>944 >(4)Subversionも1.7から管理ファイルが一つになったことを知る それは知らなかった。今度試してみよう。(git から乗り換える気はないけどね。)
946 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 03:41:42.34 ] >>943 > このブランチの運用方法でいくと、ブランチの考え方が違うMercurialは無しですかね。 この運用方法だとMercurialの「名前付きブランチ」の方がしっくりくる。 Gitのブランチの方が違和感が大きい。
947 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 05:56:36.76 ] ここで bzr と言ってみるテスト
948 名前:デフォルトの名無しさん [2012/03/05(月) 06:51:09.09 ] >>944 別にsvnでもcsvでも分散は出来るんだが。。 分散型の利点は、実は分散でなはいという実感。
949 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 07:21:30.40 ] svnから見てgitやhgの一番嬉しい点は、amendなりrollbackなりできることだと思ううっかり屋の俺。 分散自体はsvnsyncなりsvkでもできるし、ワーキングコピーと同じディレクトリにリポジトリ本体を置く分散型よりsvnスタイルのほうが安心な気はする。
950 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 07:48:48.19 ] むしろ、ひとりで開発するときに分散型が向いてるとおもうけどね。 軽いし、サーバー立てなくてもいいし、実験用ならブランチしなくても丸ごと cloneしちゃえばいいし。 svn は 1.7 でけっこう良くなったんだけど、まだ周辺ツールが ついてきてない感じ……
951 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 08:29:37.18 ] ここでbzrリポジトリをUSBメモリに入れて持ち歩いている私が颯爽と登場。 え? お呼びでない? こりゃまた失礼いたしました。
952 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 15:08:33.31 ] >>どうも家で一人で作業している場合、コミットの回数が1回多くなる(マスターへの反映)という手間が増えるだけでは・・・ その使い方ならわざわざマスターを別に作る必要がないんじゃない? 好きに履歴を改ざんできる気持ちよさ(手軽さ・気楽さ)に慣れるとsvnには戻れないな
953 名前:952 mailto:sage [2012/03/05(月) 15:15:14.19 ] 調べたなら知ってるとは思うが、使ったことないとイメージしにくいかもしれないので一応補足 Git を例にとると、ルートディレクトリにしたい場所で「git init」で .git ディレクトリができる これが管理ディレクトリでもありリポジトリそのものでもある ノートPC持って外出するならそこからcloneして、帰ったらpushすればいい
954 名前:940 mailto:sage [2012/03/05(月) 20:10:51.96 ] みなさまレスありがとうござます。 >>946 以下のページを見てみると ttp://keijinsonyaban.blogspot.com/2010/10/successful-git-branching-model.html Subversionの「タグ・リリース用ブランチ・実験用ブランチ・トランク」が、 Gitの「master・release + hotfix・feature・develop」ブランチにそれぞれ該当するという ことになり、運用の考え方は同じになるのかなと思いまして。 (いや、そもそも作業ごとに全部ブランチを作って不要になったらブランチを消すという 運用が「ブランチの考え方」という点においてはSubversionとは全然違うところか) Mercurialだと無名ブランチという物が存在して、ブランチ自体の考え方が違うのかと 考えてしまったのですが、むしろ基本的にはSubversionと考え方は同じで、さらに気軽 にブランチを切れるという感じでしょうか Mercurialのブランチやタグの運用指標が書かれているページなどあれば教えて いただけたら幸いです(探したが見つからず・・・)。
955 名前:940 mailto:sage [2012/03/05(月) 20:16:45.47 ] >>947 >>951 Bazaarは情報が少ないのが何とも。分散型で検索してみると、ほとんどGitの情報で、 たまにMercurial、さらにたまにBazaarが出てくる感じですよね・・・。 >>948-950 CVSやSubversionよりも後発ということで、分散型を導入することで分散型とは関係ない 部分の利点の恩恵も受けられると。コミットした後に修正もれに気付いて再コミットでログ が汚れるということが日常茶飯事なのでamendやrollbackはたしかに良いと思いました。 > 軽いし、サーバー立てなくてもいいし、実験用ならブランチしなくても丸ごと > cloneしちゃえばいいし。 サーバー立てなくてもよいってのはリポジトリにfile://を指定できるSubversionでも同じでは ないでしょうか?(そういう意味ではない?) 実験用ならその運用というのはなるほど納得。無駄なブランチができなくて良いですね。
956 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 20:18:39.55 ] >>954 Mercurial Advent Calendar 2011 partake.in/events/902cd6d9-0215-4ea3-b51f-b8ff32e56426 あるプロジェクトのMercurial導入の軌跡 d.hatena.ne.jp/troter/20111225/1324823716
957 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 20:19:38.33 ] タダなんだからとりあえず試せよ
958 名前:940 mailto:sage [2012/03/05(月) 20:21:02.15 ] >>952-953 > その使い方ならわざわざマスターを別に作る必要がないんじゃない? なるほど。あくまでも複数人で作業する場合に成果物を共有するためにマスターリポジトリを 作成する必要があるわけであって、一人作業の場合はローカルリポジトリ自体がまさにマスター リポジトリと考えればいいわけで、そこで作業してる分にはわざわざpush/pullの必要がないと。 > Git を例にとると、ルートディレクトリにしたい場所で「git init」で .git ディレクトリができる > これが管理ディレクトリでもありリポジトリそのものでもある DropBoxにリポジトリを置く運用をしているので、リポジトリは作業しているディレクトリとは別に あった方がうれしいですが、たとえばGitだと「git --bare init」で可能みたいですね。 それにしても、このスレの住人は優しいですね。 一人作業でも利点が多いということが十分理解できました。 みなさま最後の一押しありがとうございます! GitとMercurialの両方で仮運用してみて、気に入った方を使ってみようと思います。
959 名前:940 mailto:sage [2012/03/05(月) 20:23:58.27 ] >>956 THX。これはわかりやすい。 >>957 いや、まったくおっしゃる通り。ちょっと仮運用してみます。
960 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 21:29:32.33 ] >>951 かつての俺ガイル USB メモリなくして涙目になって dropbox に置くようになった 仕事関係では mercurial 使ってて、 個人では bazaar 使ってる ブランチの使い方が両者で全然違うので ツールが違えば運用ルールも変わる的な 面倒くささがうざい
961 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 23:41:59.50 ] >>958 リポジトリを別に置くのは--separate-git-dirでないかな。 --bareはサーバー用にワーキングディレクトリを使わない宣言だった希ガス
962 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:05:47.25 ] GitHubに脆弱性、第三者が権限のないリポジトリへのアクセス権を取得可能 ttp://slashdot.jp/ insiderman 曰く、 3月4日、GitHubに脆弱性が発見された(GitHubのブログ)。同日中に問題は修正され、現在これによる影響をチェックしているとのこと。 この問題は、GitHubが使っているRuby on Railsに含まれていたMass assignmentという脆弱性を使ったもので、 実例としてこれを用いて不正な日付でIssueを登録したり、本来なら登録する権限がないSSH公開鍵の登録が行われていた模様。 これはRuby on Railsの問題であり、Issueで議論が行われている。 Ruby on Rails側の問題ということで、Ruby on Railsを使っているほかのサイトでも同様の問題が発生する可能性があるようだ
963 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:15:37.17 ] >>958 ぼくはSubversionからBazaarに乗り換えたよ。 Bazaarも試してみてね。
964 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:16:25.05 ] Subversionでもサーバ立てずに使えるよね。 ファイルで。
965 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 03:54:39.10 ] 使えるといえば使えるけど、結局サーバー立てるのに比べて あまり簡単にならないんだよね。単にプロトコルが file:// になっただけというか。 まずリポジトリを作らなければならないし、 import したあとに作業コピーを作る必要があるし、 リポジトリと作業コピーを別々に管理する必要があるし……
966 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 08:30:06.47 ] >>954 svnのあれがgitの場合これとか、gitのあれがhgのこれとか、そういう考え方だとはまるよ。 とっかかりとしては、いいかもしれんが。。
967 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 12:05:21.38 ] >>960 私は逆に、ネットから切り離されている(客先の)環境でも使えるようにUSBメモリを使っている。 # このUSBメモリは更にTrueCryptで暗号化されているから紛失しても大事には至らない想定。 私物は、DropBoxだけどね。
968 名前:デフォルトの名無しさん [2012/03/14(水) 17:59:17.47 ] githubを使い、自分で使っているスクリプトtool.rbを公開したいです。 ですが、スクリプト内に(Web APIを使うための)IDとパスワードが含まれています。 よって以下の様にファイルを分離し、私のIDとPASSが記録されているconfig.rbは.gitignoreで無視しようと思いました。 - tool.rb(スクリプト本体) - config.default.rb(設定ファイルの雛形) - config.rb(私が使っている設定ファイル) ですが、tool.rbでconfig.rbをrequireしている場合、ユーザにこのスクリプトを使ってもらうには config.default.rbをconfig.rbにリネームして貰わなければなりません。 このリネームの手間を無くしたいのですが、どのようにするのが一番良いでしょうか? アドバイス頂けると嬉しいです _ _
969 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 19:09:47.62 ] IDとパスワードをスクリプトに埋め込むのをやめて、ふつーにドットファイルなりレジストリなり使うようにすればいいんじゃね?
970 名前:デフォルトの名無しさん [2012/03/14(水) 20:59:59.65 ] ruby スクリプトでは pit を使ってるなぁ。
971 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 01:22:17.77 ] >>968 環境変数やコマンドライン引数で設定ファイルの位置を指定できるようにして、 自分の環境ではそれらを指定して、自分用の設定ファイルを使うに一票。
972 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:24:57.41 ] 設定ファイルを.rbにするからいけないんだろ xmlなりjsonなりの形式にしてconfig.xmlが存在しなければ config.default.xmlをconfig.xmlにコピーしてから読むようにtool.rbを書けよ つかバージョン管理は全く関係ねー
973 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:56:02.49 ] 管理しやすいように設計するって話なんだから関係はしてるでしょ
974 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 20:20:36.59 ] >>972 設定ファイルがなければコピーするのはそれでいいと思うが、 その3つのなかじゃ、セキュリティの問題がなければ、 設定ファイルとしては、.rbファイルが一番使いやすいよ。 特にxml は、誰にもメリットがない。xmlは、早く絶滅すべきフォーマット。
975 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 23:50:35.97 ] XMLは手編集する設定ファイルに向いてないのは同意だが、 マークアップランゲージとしては柔軟で強力だと思う
976 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 06:12:39.04 ] .
977 名前:デフォルトの名無しさん [2012/03/26(月) 20:29:08.44 ] CodePlex、Gitサポートを開始 sourceforge.jp/magazine/12/03/26/0529214 米Microsoftは3月21日、オープンソースソフトウェア向けの ホスティングサービス「CodePlex」でGitをサポートすることを発表した。 これにより開発者は、Microsoft Team Foundation Server(TFS)、Subversion、 Mercurial、Gitからバージョン管理システムを選択できるようになる
978 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 01:33:32.43 ] >>944 Subversion、TortoseSVNつかってるなら、普通にアップデートして 作業コピーもアップデート適用すれば、すぐに変更適用できるよ。 あまりに量が多いと大変だろうけど、便利になった。