1 名前:デフォルトの名無しさん [2008/07/08(火) 21:38:48 ] バージョン管理システムについて語りましょう。 関連スレ CVS 1.3 [UNIX板] pc11.2ch.net/test/read.cgi/unix/1093611448/ CVS導入スレ〜 Rev.3 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1113141518/ Subversion r9 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1202086238/ subversion バージョン管理【サブバージョン】 [Linux板] pc11.2ch.net/test/read.cgi/linux/1154701996/ git スレッド [Linux板] pc11.2ch.net/test/read.cgi/linux/1197798039/ 前スレ バージョン管理システムについて語るスレ pc11.2ch.net/test/read.cgi/tech/1193332500/
747 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 19:33:08 ] >>746 en.wikipedia.org/wiki/Comparison_of_revision_control_software Bazaar: HTTP, SFTP, FTP, custom, custom over ssh, email bundles, WebDAV (with plugin) Git: custom, custom over ssh, rsync, HTTP, email, bundles Mercurial: HTTP, custom over ssh, email bundles (with standard plugin)
748 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:43:18 ] >>747 FTP, SFTPがあることにびっくりだよBazaar!
749 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:20:07 ] 主観は入りまくりだけど、そこがよい >>741 乙
750 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:39:12 ] >>735 表面が化けてちゃ、おいしさも半減なわけですが。 いちいちvimでなんかみたくないし、Tortoiseで化けるのは 設定でなんとかなるの?
751 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:11:22 ] >>750 Tortoiseの方は.bzr/.branch/branch.confで 「encoding = エンコーディング」を指定したら logメニューからの表示は文字化けしなくなった。 diffメニューからの表示は文字化けするようだ。 コマンドラインから起動する場合はbzr qdiff --encoding=ARGで 一回実行すればエンコーディングのオプションはbranch.confに記録される。
752 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:15:17 ] >>741 Gitのマージアルゴリズムはhgやbzrよりも劣るんじゃなかったっけ。 最近はそうでもないのかな?
753 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 02:47:52 ] Mercurialで、不要になったbranchを閉じるって、今のところ実装されてないんだね。 ↓一応、対策は提案されてるけど。 www.selenic.com/mercurial/wiki/index.cgi/PruningDeadBranches 開発チーム内に余計なbranchを作る奴が居ても、ずっと放置か。 hg branchしてない、名無しのheadでも同じ事だよね。 今のところは、リポジトリのcloneによる(概念的)branchの方が整理をつけやすくて 安全って事なのかな。
754 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:01:03 ] >>748 そう。さくらのレンタルサーバーとか、FTPやsftpが使えれば、サーバーに bzrをインストールしなくてもクライアントにだけbzrがあれば使えるのが強み。 これに慣れると、gitとかサーバー側にインストールするの面倒。
755 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:06:22 ] >>750 中身がしっかりしてれば、表面なんてどうにでもなる。 あるひとつの条件で、たまたまsvnが化けずにbzrが化けたからって、 svnの方が良いと考えるのは軽率すぎる。 bzrで化けるときの対策方は>>751 が教えてくれたけど、TortoiseBzrで WinMerge使えるようにはしたいね。今忙しいけど、手の空いたときに 試してみる。
756 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:17:06 ] >>754 sshfs でマウントしてしまえば git だろうが hg だろうが自由自在だと思うが.
757 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:25:17 ] Windowsでsshfsとかできないじゃん sshfsする一手間が面倒じゃん そもそも、安いレンサバだとssh使えないでFTPだけ使えるとかあるじゃん。
758 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 06:49:18 ] >>755 bzrは日本語全く問題ないんではなかったのか? 問題ありありなわけだが。嘘つき。 単一プラットホームで化けるなんて、中身がどうのこうの以前の問題だろ。 いくら、小手先の対策示しても意味ない。
759 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:33:44 ] >>758 そもそもdiffってのは、二つのファイルのエンコーディングと、ファイル名のエンコーディング、 合計3つのエンコーディングが混ざってるから、「完全」なんてありえないんだよ。 たとえば、コンソールでdiff出力してファイル名が化けるのは、ファイル名をUTF-8で出してるから。 svnで化けないって事は、svnはlocaleやコードページに変換してるんだろうな。 でも、そのdiffで作ったパッチを、メールでLinuxユーザーに送ったらどうなると思う? 「問題ない」といってるのは、「ソ連」みたいな0x5c問題や、環境依存のファイル名エンコーディングを そのままリポジトリにぶち込んでしまってほかの環境でファイル名が化けたりといった、日本語 ファイル名を扱う上での話をしてるんだよ。
760 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 15:21:47 ] それってdiff一般の話じゃないよね。 bzrのdiffの実装がそうなってるってこと?
761 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:01:04 ] >>760 コンソール上のdiff一般の話だよ。 diffが化けないのは、(1)コンソール、(2)ファイル名、(3)二つの入力ファイルの内容 すべてのエンコーディングが一致したときのみ。 ファイル名に関しては、diffで作ったパッチを送信したりすることを考えるとエンコーディングを 統一するべきで、統一するならUTF-8が妥当。なので、コマンドプロンプトをchcpでUTF-8 モードにするか、 diff | gvim - みたいにテキストエディタで見るしかない。 Linux でも、 diff の出力はリダイレクトでファイルに保存するかパイプで直接エディタで見るのが基本。 Bazaar Plugin の extdiff を使えば、外部の diff プログラムと連携できる。Windowsなら WinMergeとか使うと吉。
762 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:02:56 ] >>755 せっかくなので外部コマンドとエイリアスの使い方を書いておきます。 当面はコマンドツールとの併用になるでしょうから。 bzr diffでWinMergeを使いたいならオプションとして--using=WinMergeを指定します。 WinMergeの注意事項としてはmlang.dllによるコードページの検出オプションを 有効にしていないと付けないと文字化けします。 オプションの入力を省略したければbazaar.confファイルを 編集してエイリアスを設定します。 設定ファイルの位置はbzr versionで見つかります。 [ALIASES] diff=diff --using=WinMerge
763 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:10:06 ] ちなみに、GUIのdiffプログラムだとテキストエディタと同じで文字コード指定が 簡単にできたり自動認識したりすると良くて、その点 TortoiseBzr の中の qdiff は 機能不足。(これはBazaarの問題ではないが、周辺環境が揃ってない一例) 俺はソースをはじめテキスト類は全部UTF-8で書いてるから qdiff でも全く文字化け しない。 Windowsも早く日本語の標準マルチバイトエンコーディングをUTF-8にすれば良いのに、 いつまでcp932なんて使ってるんだろう・・・
764 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:43:44 ] cp932なのはwindowsが悪いけど、 今のbzrだと文字コードのせいですんなり使えないね。
765 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:05:57 ] Mercurialのレポジトリをhgwebdir.fcgiで公開してるんだけど,これってすごく重くない? うちのサーバがボロってのもあるかもしれないけど,大きめのファイルを開くと一気に ロードアベレージが跳ね上がってしまう. pdfファイルに至っては選択するといつまでたっても応答が返ってこないでCPU食いつぶしてるし. これってこういうもんなの?
766 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:51:29 ] >>765 スペック、構成、設定、ロードアベレージは具体的にどのプロセスが、IOとCPUのどちらで 重いのか、hg serve と比べてどれくらい遅いのか。 これくらいまとめてから質問しようぜ。
767 名前:765 mailto:sage [2008/11/19(水) 10:04:11 ] >>766 単に愚痴るだけのつもりだったんだけど,そのくらいの情報は出しとかないと 毒にも薬にもならんわな.すまん. サーバ機のスペックは CPU: Celeron 2.4GHz (詳しいことは忘れた.4年前くらいのセレロン) メモリ: 256MB OS: Ubuntu 8.10 このマシン上でlighttpdからhgwebdir.fcgiを呼び出してる. hgwebdir.fcgiはHGENCODINGをUTF-8に指定したくらいで, 他は特ににいじってない. 各レポジトリはbz2,gz,zipでのダウンロードを許可していて, pushにはDigest認証が必要にしてある で,pdfを開くと応答が返ってこないんだけど,このときCPU使用率が 跳ね上がっていることを確認済みで,IOなどは特に異常な数値は示し ていない.原因になっているプロセスはwebサーバを走らせているユー ザの権限で動いている python /usr/share/hg/cgi-bin/hgwebdir.fcgi 他の形式(テキスト形式のファイルや画像)だと,pdfよりサイズが 大きい場合でも一時的にCPU使用率があがるものの,きちんと表示される. あと,hg serveだと動作が軽快にはなってるみたいなんだけど, pdfを開こうとすると上で書いたのと同じような症状になって応答が 返ってこなくなる.
768 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 10:12:13 ] >767 知らんけど、内部でPDFをテキスト化するツールとか、Ghostscriptとかを 呼び出そうとしてトラブってるんじゃないの? Prostscriptの記述がバグって 無限ループしてるとか、展開サイズが大きすぎてメモリ不足になってるとか。
769 名前:デフォルトの名無しさん [2008/11/19(水) 12:10:57 ] TortoiseHg 0.5での質問があります。 ・日本語ログがupdate revisionで化けるので、事実上日本語ログが使えなくない? ・GUIで hg mv する方法はないのでしょうか? ・pushした日本語ファイル名がWindows以外の環境で化ける、というのは本当でしょうか?
770 名前:766 mailto:sage [2008/11/19(水) 12:21:38 ] >>767 ん、メモリが少なめだから、全体的にロードアベレージが高いのは リポジトリがキャッシュからすぐに消えちゃってる可能性がある。 pdfに関してはIOが低いならメモリの問題じゃないんだけど、Mercurialは「pdfだけ」 という処理はしてない。変なプラグインは入れてないよね? ということで、こっからエスパー。 pdfって、ブラウザプラグインで、ブラウザの画面内に表示してない? その場合、HTTPクライアントはブラウザじゃなくてプラグインになってるから、 それが分割ダウンロードとかしようとして負荷をかけてる可能性がある。 Adobe Readerのブラウザプラグインを無効にして、ブラウザが 「テンポラリファイルに保存→スタンドアロンのAdobe Reader 起動」 するようにしてみて。 あと、hg serveで軽くなるなら、fcgiの設定が良くない(メモリ食い)という可能性がある。 fcgi使ったこと無いんだけど、スレッド数やプロセス数を減らせない? lighttpd も同時接続数を3くらいに減らしてみて。
771 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:31:35 ] >>769 最後の問題、ファイル名エンコーディングをロケールから判別して、リポジトリに 入れる前にUnicodeへデコードするパッチを日本人が本家MLに送ったんだけど、 「ファイル名はファイルの内容と同じでバイナリ弄らない」とか言われてrejectされた。 なので、今は win32mbcs という拡張で対応しないといけない。一人でも対応してない ヤツがpushしたら、そのリポジトリはcp932ファイル名で汚される。 ただし、これはコンソールのエンコーディングがUTF-8じゃない場合の話で、 TortoiseHgだと最初からUnicodeでファイル名を使ってるかもしれない。 俺は TortoiseHg 使ってないんだけど、コンソールとTortoiseで日本語ファイル名を やり取りしてみたら?
772 名前:769 [2008/11/19(水) 12:36:20 ] > ・pushした日本語ファイル名がWindows以外の環境で化ける、というのは本当でしょうか? そもそも、Mercurialでは日本語ファイル名がコミットできないようです。 TortoiseHgでは、コミットウインドウでファイルを追加してもcommitボタンが押せず、 全選択チェックボックスを押すとcommitボタンが押せるのですが、 正常コミット時のように閉じてくれず、hg stで確認しても変化なしでした。 コマンドラインのhgでは、 > hg ci -A -m "initial commit from command line" adding ・が怖い、・の・フトSJIS.txt removing ・が怖い、・の・フトSJIS.txt ・が怖い、・の・フトSJIS.txt not tracked! ・が怖い、・の・フトSJIS.txt does not exist! nothing changed というように言われ、hg stで確認しましても変化ありません。 実はWindowsでのhgは日本語ファイル名に対応してなかったのですね・・・。 TortoiseHg 0.5と付属のコマンドラインのhgで確認しました。 ファイル名:表が怖い、噂のソフトSJIS.txt 中身は適当な感動コピペをSJISで保存です。
773 名前:769 mailto:sage [2008/11/19(水) 12:40:13 ] >>771 ああ、わかりました。 標準でSubversionのようにUnicodeへのデコードなどはやってないわけですか。 で、ロケール(日本語WindowsだとSJIS?)で入ってしまう、と (そもそも入りすらしなかったけどw) ファイル名とかログのエンコード周りは基本的なことだと思うのになあ。 OSSで使うならなお更なのに・・・
774 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 12:46:20 ] >>773 入りすらしないのは、0x5c問題だと思うよ。 0x5cが入ってないファイル名だと、コミットはできるけど、そのままリポジトリに入っちゃう。 (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加) そもそも「ファイル名はバイト列として変更せずに扱う」というポリシーが間違ってると思うけど、 外国人には伝えにくいからねぇ。gitは最初からWindowsなんて気にしてないし。 Python3.0になると、文字列=unicodeになるから、「ファイル名のバイト列」自体消滅する。 MercurialもPython3.0対応する時点で嫌でもポリシーを修正するはず。 その前にBazaarに乗り換えたほうが幸せな気もする。
775 名前:765 mailto:sage [2008/11/19(水) 13:03:46 ] >>768 Mercurialのレポジトリブラウザってpdfをテキスト化して表示するの? コード眺めた感じそれっぽい部分は見当たらなかったけど. >>770 > pdfに関してはIOが低いならメモリの問題じゃないんだけど、Mercurialは「pdfだけ」 > という処理はしてない。変なプラグインは入れてないよね? そうなんだよね.なんでpdfに限ってこんなことになるのかがよくわかんない. プラグインもなにも入れてないです. > Adobe Readerのブラウザプラグインを無効にして、ブラウザが > 「テンポラリファイルに保存→スタンドアロンのAdobe Reader 起動」 > するようにしてみて。 やってみたけど,症状はかわらずです. というか,テキスト表示できないタイプのファイルってチェンジセットから 選択すると,最初に"これはバイナリファイルですよ"みたいなページに 遷移するよね?そのページのrawの項目を選択するとダウンロードが始まる, みたいな. pdfの場合,チェンジセットから選択したあとの最初の遷移の段階でとまって しまうので,そのあたりは関係ないような気もする. > あと、hg serveで軽くなるなら、fcgiの設定が良くない(メモリ食い)という可能性がある。 > fcgi使ったこと無いんだけど、スレッド数やプロセス数を減らせない? > lighttpd も同時接続数を3くらいに減らしてみて。 いちおうlighttpd側でmaxprocsを3にはしてあるんですけど,だめですね.
776 名前:769 mailto:sage [2008/11/19(水) 13:05:29 ] >>774 > (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加) いけますタ! hg と TortoiseHgの両方でいけることを確認しました。 どうやらすごいFAQみたいですね。 それにしても、TortoiseHgがコミットログやらファイル名やら化けまくりで実用に耐えられないなあ・・・ プログラマはそんなでもないけど、デザイナとか複数人で使う時に、 英語ファイル名、英語ログ強制はまず使ってもらえないわ w バージョン管理ソフトとかこういう環境的な物の導入には、 手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。 > その前にBazaarに乗り換えたほうが幸せな気もする。 そちらを検討してみます。 いろいろ教えてくれてありがとう。
777 名前:769 mailto:sage [2008/11/19(水) 13:06:19 ] > バージョン管理ソフトとかこういう環境的な物の導入には、 > 手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。 バージョン管理ソフトとかこういう環境的な物の導入には、 ソフトウェアの使い勝手よりも、むしろ 手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
778 名前:766 mailto:sage [2008/11/19(水) 14:24:59 ] >>775 あらら、エスパー失敗か。 じゃぁ、その pdf ファイルの先頭 4096 バイト内に 0 というバイトが存在しないと予測。 Mercurialは先頭4096バイトの中に 0 が有るかどうかでバイナリとテキストを判別しているから、 テキストだと思って頑張って表示しようとしている可能性がある。
779 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 14:33:54 ] >>774 > (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加) 環境変数 HGENCODING に cp932 を設定するのとでは何か違いある?
780 名前:765 mailto:sage [2008/11/19(水) 17:35:50 ] >>778 それであたりっぽい.util.binaryが問題の部分だね. 開発ブランチだとファイル全体で0というバイトの有無を判定してるので, そっちを使ってみることにするよ. 今サーバが落ちてるので,結果がわかり次第また書き込むわ.
781 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:57:13 ] Mercurialは、どんなにTortoiseの完成度が高くなっても デザイナーには使えない。概念的な部分の複雑度が高すぎる、 ってのが俺の印象だな。 プログラマーさえ、チームの2割もまともに理解できる奴いないと思う。
782 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 19:14:28 ] PDFってテキストファイルの中に一部バイナリ埋まってるような構造だからなぁ
783 名前:765 mailto:sage [2008/11/19(水) 20:44:14 ] 765です。>>766 さんの指摘で問題解決したので報告します。 問題の原因はファイルがバイナリかテキストかを判定するutil.binaryが、ファイルの先頭4096バイ ト中に0というバイトがあるかどうかをチェックしていたことでした。 なので、この問題はutil.binaryを書き換えることで解決可能です。最初は開発版を使おうかと思って いたけど、書き換えのみでとりあえず解決できたのでそうしました。ちなみに、バージョン1.0.1 のものを書き換えました。 書き換え自体は簡単なのでここには書かないけど、わからなければ開発版のコードを見れば大丈夫。 以上報告でした。付き合ってくれた方々ありがとう。
784 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:04:22 ] git format-patch でできたパッチを適用するのは git am しかないんでしょうか。 メールボックスとかシランので、単に git format-patch でできたパッチを適用したいだけなんですけど。
785 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:17:51 ] >>784 git am 0001-patch-name.patch でいけました。メールボックスじゃなくてもいけますね。すんません。
786 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:51:03 ] hgのwin32mbcs拡張は前見たときは単に0x5c問題だけ回避してるように見えたんだけど リポジトリに記録されるエンコーディングをユニコードにしてるって本当?
787 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 01:09:34 ] >781 基本的に理解力の低い人は、理解できない部分は無視してくれるので(例外は居るが) まずはバックアップ支援ツールとして広め、ちょっとずつ高度化してくのが吉かと。
788 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 14:48:10 ] >概念的な部分の複雑度が高すぎる ってのを読んだ限りだと、こいつは自分で使ったことが無いんだろうな
789 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:27:17 ] >788 いや、使ってみた感想だよ。俺が主に使ったのはLinux版のコマンドラインでだが。 他のメンバーは、より簡単なSubversion + TortoiseSVNでさえ、何度も繰り返し教えて やっと使えるようになった状態だし、デザイナーが触るファイルにはロック機構が要ると思う。 プログラマでさえ、衝突時のマージがうまく出来ない奴も居るし、別branchの変更点を trunkに取り込む為のマージ操作が出来る奴も限られてる。 で、この現状を見た時、より難解なMercurialを無事に導入出来るとは思えなかった。
790 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:34:37 ] svnの操作がどうこうよりもSCMについての根本的な理解が欠けてるだけなのでわ
791 名前:766 mailto:sage [2008/11/20(木) 21:03:38 ] >>789 Subversion から
792 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:18:43 ] >789 だからまずはバックアップツールとして使って貰えと。 いきなりコンフリクトの解決方法云々は、性急過ぎる。 SCMの歴史を追うように、RCS的な使い方から順に、 少しづつ教えていった方が理解は早いぞ。 というか、いきなり高度な事を教えると基礎がおろそかに…
793 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:40:27 ] >>789 俺もチーム内で広めようと思っているんだけど、 こんなの使えねー、っていうのをなるべく避けるいい方法ないかね。 まずは、 バックアップツール=個人で使ってもらう ↓ ? ↓ 補完キボン
794 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:08:45 ] バックアップツール=個人で使ってもらう ↓ 毎日終業後に、SCMボランティアとして >793 が各メンバーのワーキングディレクトリを チェックして回り、trunkとマージしてあげる ↓ 「>793 っていい人だよね」
795 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:30:55 ] 1年くらい前にSubversionを使わせるようになったけど 使わせるにあたって最近は分散型が流行ってて こんな事が出来るようになると言っておいた 慣れてくると、こんな事が出来るようになると便利なのにって 思うようになるから、予めそう言う知識の断片だけを 頭に入れて貰ってから使わせてる で、最近は分散型にも徐々に興味を持ってくれるようになった 問題は俺がSVKしか使えないことなんだけど
796 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 15:17:05 ] svnのコマンドを拡張して分散型として使わせてくれたらうれしいんだけどね。 そもそもコンセプトが違うし無理か。
797 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 15:45:44 ] >>796 それが svk ただし、サイズ的にも速度的にも効率悪い。
798 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 15:47:16 ] あ、あと、Bazaarリポジトリを svn:// プロトコルで見せようというプロジェクトもある。 まともに開発されてるのかは知らないけど。
799 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 16:30:50 ] つ git-svn google code projectでもgit使える。 Google Open Source Blog: Develop with Git on a Google Code Project google-opensource.blogspot.com/2008/05/develop-with-git-on-google-code-project.html
800 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 16:54:15 ] gitはコマンド違いすぎるだろjk
801 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:39:31 ] >793 (1)バックアップツールとして広める (2)ある程度慣れてきたら、ブランチを切ったりマージする方法を教える。 他人の持ってるファイルを修正する必要が出てきた時や、 複数のバージョンを管理しなきゃならなくなった時を見計らって教えると良いかも。 (3)頃合を見計らって集中管理を始めるか、分散型だったらpush/pull等を教える。
802 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 23:47:12 ] ・diffツールとして広める のほうが良くね?
803 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 02:21:41 ] 俺はファイルサーバ(レポジトリ)に自動でアップロード・ダウンロードを してくれうソフトとして広めた。 これだと考え方が集中型に固定されてしまう気がしないでもないが……。
804 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 05:36:36 ] anond.hatelabo.jp/20081120002535 こんな事態を避ける為にもバージョン管理システムを使いましょう
805 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 05:44:27 ] SubversionのVが大文字・・・
806 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 07:42:04 ] 修正履歴というと ChangeLog のこと?
807 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:29:45 ] >>805 確かに「大恥かくでしょうがww」って書いといて SubVersion はないよな。 >>806 ChangeLog をソースのどこかに入れてるところもあるけど、>>804 のリンク 先が言ってるのは // int i = 10; // DEL: 2008/11/10: Bug 1234 by ○○ int i = 11; // CHG: 2008/11/10: Bug 1234 by ○○ float f = 1.23; // INS: 2008/11/09: Bug 1230 by △△ みたいな奴だと思う。
808 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:48:06 ] // add 2008.11.22 nanashi-default hoge.huga(); // add end 2008.11.22 nanashi-default 前の会社これだったな。CVS入れていても。
809 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:04:03 ] >>808 うちもそうだった…… つかコーダの人はCVS使えない (結合試験完のソースを管理者に渡してコミットしてもらう) 辺りが間違いの元だったんじゃないかと……
810 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:07:12 ] >>808 うちもSubversion使ってるのにもかかわらず、そうする奴がいる。 本来のソースが見づらくなるんだよな。
811 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:15:18 ] > (結合試験完のソースを管理者に渡してコミットしてもらう) 刑務所みたいなふいんきを想像した
812 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 13:44:43 ] >>810 いるいるwww 俺はコーディング規約で明確に禁止した。
813 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 19:40:49 ] そういう奴らはDiffの使い方がわかってないんだよ。 TortoiseSVNやRapid入れて過去ログとの比較を教えてやったら二度としないと思うけどな。
814 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 19:51:07 ] コミット時にフックを掛けて弾くのも効果ある
815 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 20:27:51 ] >813 diffの使い方が分かってないと言うよりは、blame/annotateの使い方が分かってないんだろ。
816 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 20:36:06 ] blameはよくわからん
817 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 20:41:17 ] TortoiseSVNなら、blameの結果が専用ビューワーで超見やすい。
818 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:07:02 ] ところで、 いい加減TortoiseSVNのアップデートは自動でできるようにならんかね? アップデートのたびにホームページ行ってダウンロードして上書きインストールしてから再起動・・・って いちいち面倒だっつうに。
819 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:13:53 ] アップデートのたびにホームページ行ってダウンロードして上書きインストールしてから再起動するプログラムを作る
820 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:26:38 ] それこそsvn updateで行えるべきだ
821 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 01:01:08 ] >>820 もまえ天才
822 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 07:39:40 ] diffはちょっと馬鹿なとこがあって、メソッド1つ追加したら 次のメソッドの説明コメント1行目まで差があることになったりするよな。 確かにそういう解釈にならんことも無いんだが、 あれ、どうにかならんかなあ。 } //------------ +//func2 +//------------ +void func2 () { + ... +} + +//------------ //func3
823 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 07:57:15 ] 異なる行を取る仕様上、そういう動作にならざるを得ないのでは どうしても気になるならコメント一行目が違うように記述するとか…? // func2 -------- // 説明 // ------------- // func3 -------- うーん…
824 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 09:33:02 ] diff はコメントとかを意識してるわけじゃないからなあ。 言語仕様を意識した diff を作るか、>>822 のバカな認識を 変えるしかないと思う。
825 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 09:37:17 ] >>824 言ってることはそれなりに正しいのに、たったの三文字で台無しだ。
826 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 10:24:16 ] コメントを関数の中で定義すれば? void func2 () { //------------ //func2 //------------ ... }
827 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 12:19:43 ] ここでpythonのコーディング規約が優れていることが判るわけですね。
828 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 12:59:52 ] >>825 三文字? もしかして「バカな」に逆切れ? >>826 ソースの見辛さと diff の見辛さの二択なら、ソースの方を優先すべきだと思うが。
829 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 14:29:28 ] ずらすだけならむずかしくない
830 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 22:51:43 ] git add したファイルを取り消すにはどうしたらいいですか。 #なんかgitのマニュアルはわかりずらい。
831 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 22:52:25 ] >gitのマニュアルはわかりずらい 禿同
832 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 23:00:20 ] ちょっとした煽りに過敏に反応する世代がこのスレに居るとはな
833 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 04:25:13 ] TortoiseHg使って、公開鍵認証が必要なssh経由でcloneしようとしたら、結構面倒だった。 インスコそのままだとパスワード方式しかダメで、ホームディレクトリのmercurial.iniを 書き換える必要がある。Program Files以下の同名ファイルを見たら、cygwin sshの 設定がコメントアウトされてたんで、それをコピペしたらこれが罠で、秘密鍵のパスフレーズを 入力不可能な標準入力で入力待ちしてしまって、アプリが固まる。 諦めて標準のTortoisePlink.exeを使う事にして、mercurial.iniで「-i 秘密鍵へのパス」 オプションを追加すると、やっとGUIダイアログでパスフレーズを聞いてくれるようになった。 もっともその前に、puttyを落としてきてOpenSSHの秘密鍵をputty形式に変換するという さらにめんどくさい作業が必要。以上、作業メモ。
834 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 07:07:23 ] >>832 >ちょっとした煽りに過敏に反応する世代がこのスレに居るとはな そのまんま832のことじゃないか
835 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 08:33:17 ] >>833 たぶん、普段から putty と pageant なり、mingw の ssh なりを使っている人には 面倒じゃないんだろうな。 putty の設定で、秘密鍵ファイルの設定がレジストリに書かれていたら、 -i オプションが無くても秘密鍵は自動で選ばれるし、 pageant を使っていると 秘密鍵のパスフレーズ入力も無い。 Bazaar も pageant あると自動で利用してくれるから、 pageant お勧め。
836 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 12:34:14 ] >>833 前にBitBucketにコミットしたときは、pageant立ち上げておくだけで行けたけど
837 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 19:02:37 ] 一番いいのはどれなの?
838 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 20:17:18 ] linuxerならgit一択 *NIXerならhgかbzr
839 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 20:28:55 ] darcs使いとしては,最近のdarcsのガラパゴスぶりに泣けてくる
840 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:06:19 ] でも hackage の都合上選択肢は darcs しかないという
841 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:33:06 ] Linus儲ならgit、Shuttleworth儲ならbzr、それ以外ならhgでおk。
842 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:43:48 ] subversionより、いいのってあるの?
843 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 22:46:29 ] とりあえず hg の mq は最高ってことで。
844 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 23:02:42 ] >>843 rebaseで良くね?
845 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 23:14:16 ] よく分からんけど、Mercurialのrebaseって、gitの機能をパクったの? mozilla.orgと関係有るっぽい?
846 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 23:16:06 ] rebaseってsvn由来じゃ?
847 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:40:01 ] ポリシーに合ってる機能ならどんどんパクるべきだろ。