バージョン管理システ ..
751:デフォルトの名無しさん
08/11/17 23:11:22
>>750
Tortoiseの方は.bzr/.branch/branch.confで
「encoding = エンコーディング」を指定したら
logメニューからの表示は文字化けしなくなった。
diffメニューからの表示は文字化けするようだ。
コマンドラインから起動する場合はbzr qdiff --encoding=ARGで
一回実行すればエンコーディングのオプションはbranch.confに記録される。
752:デフォルトの名無しさん
08/11/17 23:15:17
>>741
Gitのマージアルゴリズムはhgやbzrよりも劣るんじゃなかったっけ。
最近はそうでもないのかな?
753:デフォルトの名無しさん
08/11/18 02:47:52
Mercurialで、不要になったbranchを閉じるって、今のところ実装されてないんだね。
↓一応、対策は提案されてるけど。
URLリンク(www.selenic.com)
開発チーム内に余計なbranchを作る奴が居ても、ずっと放置か。
hg branchしてない、名無しのheadでも同じ事だよね。
今のところは、リポジトリのcloneによる(概念的)branchの方が整理をつけやすくて
安全って事なのかな。
754:デフォルトの名無しさん
08/11/18 03:01:03
>>748
そう。さくらのレンタルサーバーとか、FTPやsftpが使えれば、サーバーに
bzrをインストールしなくてもクライアントにだけbzrがあれば使えるのが強み。
これに慣れると、gitとかサーバー側にインストールするの面倒。
755:デフォルトの名無しさん
08/11/18 03:06:22
>>750
中身がしっかりしてれば、表面なんてどうにでもなる。
あるひとつの条件で、たまたまsvnが化けずにbzrが化けたからって、
svnの方が良いと考えるのは軽率すぎる。
bzrで化けるときの対策方は>>751が教えてくれたけど、TortoiseBzrで
WinMerge使えるようにはしたいね。今忙しいけど、手の空いたときに
試してみる。
756:デフォルトの名無しさん
08/11/18 03:17:06
>>754
sshfs でマウントしてしまえば git だろうが hg だろうが自由自在だと思うが.
757:デフォルトの名無しさん
08/11/18 03:25:17
Windowsでsshfsとかできないじゃん
sshfsする一手間が面倒じゃん
そもそも、安いレンサバだとssh使えないでFTPだけ使えるとかあるじゃん。
758:デフォルトの名無しさん
08/11/18 06:49:18
>>755
bzrは日本語全く問題ないんではなかったのか?
問題ありありなわけだが。嘘つき。
単一プラットホームで化けるなんて、中身がどうのこうの以前の問題だろ。
いくら、小手先の対策示しても意味ない。
759:デフォルトの名無しさん
08/11/18 11:33:44
>>758
そもそもdiffってのは、二つのファイルのエンコーディングと、ファイル名のエンコーディング、
合計3つのエンコーディングが混ざってるから、「完全」なんてありえないんだよ。
たとえば、コンソールでdiff出力してファイル名が化けるのは、ファイル名をUTF-8で出してるから。
svnで化けないって事は、svnはlocaleやコードページに変換してるんだろうな。
でも、そのdiffで作ったパッチを、メールでLinuxユーザーに送ったらどうなると思う?
「問題ない」といってるのは、「ソ連」みたいな0x5c問題や、環境依存のファイル名エンコーディングを
そのままリポジトリにぶち込んでしまってほかの環境でファイル名が化けたりといった、日本語
ファイル名を扱う上での話をしてるんだよ。
760:デフォルトの名無しさん
08/11/18 15:21:47
それってdiff一般の話じゃないよね。
bzrのdiffの実装がそうなってるってこと?
761:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/11/18 20:02:56
>>755
せっかくなので外部コマンドとエイリアスの使い方を書いておきます。
当面はコマンドツールとの併用になるでしょうから。
bzr diffでWinMergeを使いたいならオプションとして--using=WinMergeを指定します。
WinMergeの注意事項としてはmlang.dllによるコードページの検出オプションを
有効にしていないと付けないと文字化けします。
オプションの入力を省略したければbazaar.confファイルを
編集してエイリアスを設定します。
設定ファイルの位置はbzr versionで見つかります。
[ALIASES]
diff=diff --using=WinMerge
763:デフォルトの名無しさん
08/11/18 20:10:06
ちなみに、GUIのdiffプログラムだとテキストエディタと同じで文字コード指定が
簡単にできたり自動認識したりすると良くて、その点 TortoiseBzr の中の qdiff は
機能不足。(これはBazaarの問題ではないが、周辺環境が揃ってない一例)
俺はソースをはじめテキスト類は全部UTF-8で書いてるから qdiff でも全く文字化け
しない。
Windowsも早く日本語の標準マルチバイトエンコーディングをUTF-8にすれば良いのに、
いつまでcp932なんて使ってるんだろう・・・
764:デフォルトの名無しさん
08/11/18 23:43:44
cp932なのはwindowsが悪いけど、
今のbzrだと文字コードのせいですんなり使えないね。
765:デフォルトの名無しさん
08/11/19 01:05:57
Mercurialのレポジトリをhgwebdir.fcgiで公開してるんだけど,これってすごく重くない?
うちのサーバがボロってのもあるかもしれないけど,大きめのファイルを開くと一気に
ロードアベレージが跳ね上がってしまう.
pdfファイルに至っては選択するといつまでたっても応答が返ってこないでCPU食いつぶしてるし.
これってこういうもんなの?
766:デフォルトの名無しさん
08/11/19 01:51:29
>>765
スペック、構成、設定、ロードアベレージは具体的にどのプロセスが、IOとCPUのどちらで
重いのか、hg serve と比べてどれくらい遅いのか。
これくらいまとめてから質問しようぜ。
767:765
08/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:デフォルトの名無しさん
08/11/19 10:12:13
>767
知らんけど、内部でPDFをテキスト化するツールとか、Ghostscriptとかを
呼び出そうとしてトラブってるんじゃないの? Prostscriptの記述がバグって
無限ループしてるとか、展開サイズが大きすぎてメモリ不足になってるとか。
769:デフォルトの名無しさん
08/11/19 12:10:57
TortoiseHg 0.5での質問があります。
・日本語ログがupdate revisionで化けるので、事実上日本語ログが使えなくない?
・GUIで hg mv する方法はないのでしょうか?
・pushした日本語ファイル名がWindows以外の環境で化ける、というのは本当でしょうか?
770:766
08/11/19 12:21:38
>>767
ん、メモリが少なめだから、全体的にロードアベレージが高いのは
リポジトリがキャッシュからすぐに消えちゃってる可能性がある。
pdfに関してはIOが低いならメモリの問題じゃないんだけど、Mercurialは「pdfだけ」
という処理はしてない。変なプラグインは入れてないよね?
ということで、こっからエスパー。
pdfって、ブラウザプラグインで、ブラウザの画面内に表示してない?
その場合、HTTPクライアントはブラウザじゃなくてプラグインになってるから、
それが分割ダウンロードとかしようとして負荷をかけてる可能性がある。
Adobe Readerのブラウザプラグインを無効にして、ブラウザが
「テンポラリファイルに保存→スタンドアロンのAdobe Reader 起動」
するようにしてみて。
あと、hg serveで軽くなるなら、fcgiの設定が良くない(メモリ食い)という可能性がある。
fcgi使ったこと無いんだけど、スレッド数やプロセス数を減らせない?
lighttpd も同時接続数を3くらいに減らしてみて。
771:デフォルトの名無しさん
08/11/19 12:31:35
>>769
最後の問題、ファイル名エンコーディングをロケールから判別して、リポジトリに
入れる前にUnicodeへデコードするパッチを日本人が本家MLに送ったんだけど、
「ファイル名はファイルの内容と同じでバイナリ弄らない」とか言われてrejectされた。
なので、今は win32mbcs という拡張で対応しないといけない。一人でも対応してない
ヤツがpushしたら、そのリポジトリはcp932ファイル名で汚される。
ただし、これはコンソールのエンコーディングがUTF-8じゃない場合の話で、
TortoiseHgだと最初からUnicodeでファイル名を使ってるかもしれない。
俺は TortoiseHg 使ってないんだけど、コンソールとTortoiseで日本語ファイル名を
やり取りしてみたら?
772:769
08/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
08/11/19 12:40:13
>>771
ああ、わかりました。
標準でSubversionのようにUnicodeへのデコードなどはやってないわけですか。
で、ロケール(日本語WindowsだとSJIS?)で入ってしまう、と
(そもそも入りすらしなかったけどw)
ファイル名とかログのエンコード周りは基本的なことだと思うのになあ。
OSSで使うならなお更なのに・・・
774:デフォルトの名無しさん
08/11/19 12:46:20
>>773
入りすらしないのは、0x5c問題だと思うよ。
0x5cが入ってないファイル名だと、コミットはできるけど、そのままリポジトリに入っちゃう。
(から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
そもそも「ファイル名はバイト列として変更せずに扱う」というポリシーが間違ってると思うけど、
外国人には伝えにくいからねぇ。gitは最初からWindowsなんて気にしてないし。
Python3.0になると、文字列=unicodeになるから、「ファイル名のバイト列」自体消滅する。
MercurialもPython3.0対応する時点で嫌でもポリシーを修正するはず。
その前にBazaarに乗り換えたほうが幸せな気もする。
775:765
08/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
08/11/19 13:05:29
>>774
> (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
いけますタ!
hg と TortoiseHgの両方でいけることを確認しました。
どうやらすごいFAQみたいですね。
それにしても、TortoiseHgがコミットログやらファイル名やら化けまくりで実用に耐えられないなあ・・・
プログラマはそんなでもないけど、デザイナとか複数人で使う時に、
英語ファイル名、英語ログ強制はまず使ってもらえないわ w
バージョン管理ソフトとかこういう環境的な物の導入には、
手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
> その前にBazaarに乗り換えたほうが幸せな気もする。
そちらを検討してみます。
いろいろ教えてくれてありがとう。
777:769
08/11/19 13:06:19
> バージョン管理ソフトとかこういう環境的な物の導入には、
> 手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
バージョン管理ソフトとかこういう環境的な物の導入には、
ソフトウェアの使い勝手よりも、むしろ
手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
778:766
08/11/19 14:24:59
>>775
あらら、エスパー失敗か。
じゃぁ、その pdf ファイルの先頭 4096 バイト内に 0 というバイトが存在しないと予測。
Mercurialは先頭4096バイトの中に 0 が有るかどうかでバイナリとテキストを判別しているから、
テキストだと思って頑張って表示しようとしている可能性がある。
779:デフォルトの名無しさん
08/11/19 14:33:54
>>774
> (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
環境変数 HGENCODING に cp932 を設定するのとでは何か違いある?
780:765
08/11/19 17:35:50
>>778
それであたりっぽい.util.binaryが問題の部分だね.
開発ブランチだとファイル全体で0というバイトの有無を判定してるので,
そっちを使ってみることにするよ.
今サーバが落ちてるので,結果がわかり次第また書き込むわ.
781:デフォルトの名無しさん
08/11/19 17:57:13
Mercurialは、どんなにTortoiseの完成度が高くなっても
デザイナーには使えない。概念的な部分の複雑度が高すぎる、
ってのが俺の印象だな。
プログラマーさえ、チームの2割もまともに理解できる奴いないと思う。
782:デフォルトの名無しさん
08/11/19 19:14:28
PDFってテキストファイルの中に一部バイナリ埋まってるような構造だからなぁ
783:765
08/11/19 20:44:14
765です。>>766さんの指摘で問題解決したので報告します。
問題の原因はファイルがバイナリかテキストかを判定するutil.binaryが、ファイルの先頭4096バイ
ト中に0というバイトがあるかどうかをチェックしていたことでした。
なので、この問題はutil.binaryを書き換えることで解決可能です。最初は開発版を使おうかと思って
いたけど、書き換えのみでとりあえず解決できたのでそうしました。ちなみに、バージョン1.0.1
のものを書き換えました。
書き換え自体は簡単なのでここには書かないけど、わからなければ開発版のコードを見れば大丈夫。
以上報告でした。付き合ってくれた方々ありがとう。
784:デフォルトの名無しさん
08/11/19 21:04:22
git format-patch でできたパッチを適用するのは git am しかないんでしょうか。
メールボックスとかシランので、単に git format-patch でできたパッチを適用したいだけなんですけど。
785:デフォルトの名無しさん
08/11/19 21:17:51
>>784
git am 0001-patch-name.patch
でいけました。メールボックスじゃなくてもいけますね。すんません。
786:デフォルトの名無しさん
08/11/19 21:51:03
hgのwin32mbcs拡張は前見たときは単に0x5c問題だけ回避してるように見えたんだけど
リポジトリに記録されるエンコーディングをユニコードにしてるって本当?
787:デフォルトの名無しさん
08/11/20 01:09:34
>781
基本的に理解力の低い人は、理解できない部分は無視してくれるので(例外は居るが)
まずはバックアップ支援ツールとして広め、ちょっとずつ高度化してくのが吉かと。
788:デフォルトの名無しさん
08/11/20 14:48:10
>概念的な部分の複雑度が高すぎる
ってのを読んだ限りだと、こいつは自分で使ったことが無いんだろうな
789:デフォルトの名無しさん
08/11/20 19:27:17
>788
いや、使ってみた感想だよ。俺が主に使ったのはLinux版のコマンドラインでだが。
他のメンバーは、より簡単なSubversion + TortoiseSVNでさえ、何度も繰り返し教えて
やっと使えるようになった状態だし、デザイナーが触るファイルにはロック機構が要ると思う。
プログラマでさえ、衝突時のマージがうまく出来ない奴も居るし、別branchの変更点を
trunkに取り込む為のマージ操作が出来る奴も限られてる。
で、この現状を見た時、より難解なMercurialを無事に導入出来るとは思えなかった。
790:デフォルトの名無しさん
08/11/20 19:34:37
svnの操作がどうこうよりもSCMについての根本的な理解が欠けてるだけなのでわ
791:766
08/11/20 21:03:38
>>789
Subversion から
792:デフォルトの名無しさん
08/11/20 23:18:43
>789
だからまずはバックアップツールとして使って貰えと。
いきなりコンフリクトの解決方法云々は、性急過ぎる。
SCMの歴史を追うように、RCS的な使い方から順に、
少しづつ教えていった方が理解は早いぞ。
というか、いきなり高度な事を教えると基礎がおろそかに…
793:デフォルトの名無しさん
08/11/21 08:40:27
>>789
俺もチーム内で広めようと思っているんだけど、
こんなの使えねー、っていうのをなるべく避けるいい方法ないかね。
まずは、
バックアップツール=個人で使ってもらう
↓
?
↓
補完キボン
794:デフォルトの名無しさん
08/11/21 11:08:45
バックアップツール=個人で使ってもらう
↓
毎日終業後に、SCMボランティアとして >793 が各メンバーのワーキングディレクトリを
チェックして回り、trunkとマージしてあげる
↓
「>793 っていい人だよね」
795:デフォルトの名無しさん
08/11/21 11:30:55
1年くらい前にSubversionを使わせるようになったけど
使わせるにあたって最近は分散型が流行ってて
こんな事が出来るようになると言っておいた
慣れてくると、こんな事が出来るようになると便利なのにって
思うようになるから、予めそう言う知識の断片だけを
頭に入れて貰ってから使わせてる
で、最近は分散型にも徐々に興味を持ってくれるようになった
問題は俺がSVKしか使えないことなんだけど
796:デフォルトの名無しさん
08/11/21 15:17:05
svnのコマンドを拡張して分散型として使わせてくれたらうれしいんだけどね。
そもそもコンセプトが違うし無理か。
797:デフォルトの名無しさん
08/11/21 15:45:44
>>796
それが svk
ただし、サイズ的にも速度的にも効率悪い。
798:デフォルトの名無しさん
08/11/21 15:47:16
あ、あと、Bazaarリポジトリを svn:// プロトコルで見せようというプロジェクトもある。
まともに開発されてるのかは知らないけど。
799:デフォルトの名無しさん
08/11/21 16:30:50
つ git-svn
google code projectでもgit使える。
Google Open Source Blog: Develop with Git on a Google Code Project
URLリンク(google-opensource.blogspot.com)
800:デフォルトの名無しさん
08/11/21 16:54:15
gitはコマンド違いすぎるだろjk
801:デフォルトの名無しさん
08/11/21 21:39:31
>793
(1)バックアップツールとして広める
(2)ある程度慣れてきたら、ブランチを切ったりマージする方法を教える。
他人の持ってるファイルを修正する必要が出てきた時や、
複数のバージョンを管理しなきゃならなくなった時を見計らって教えると良いかも。
(3)頃合を見計らって集中管理を始めるか、分散型だったらpush/pull等を教える。
802:デフォルトの名無しさん
08/11/21 23:47:12
・diffツールとして広める
のほうが良くね?
803:デフォルトの名無しさん
08/11/22 02:21:41
俺はファイルサーバ(レポジトリ)に自動でアップロード・ダウンロードを
してくれうソフトとして広めた。
これだと考え方が集中型に固定されてしまう気がしないでもないが……。
804:デフォルトの名無しさん
08/11/22 05:36:36
URLリンク(anond.hatelabo.jp)
こんな事態を避ける為にもバージョン管理システムを使いましょう
805:デフォルトの名無しさん
08/11/22 05:44:27
SubversionのVが大文字・・・
806:デフォルトの名無しさん
08/11/22 07:42:04
修正履歴というと ChangeLog のこと?
807:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/11/22 08:48:06
// add 2008.11.22 nanashi-default
hoge.huga();
// add end 2008.11.22 nanashi-default
前の会社これだったな。CVS入れていても。
809:デフォルトの名無しさん
08/11/22 09:04:03
>>808
うちもそうだった……
つかコーダの人はCVS使えない
(結合試験完のソースを管理者に渡してコミットしてもらう)
辺りが間違いの元だったんじゃないかと……
810:デフォルトの名無しさん
08/11/22 09:07:12
>>808
うちもSubversion使ってるのにもかかわらず、そうする奴がいる。
本来のソースが見づらくなるんだよな。
811:デフォルトの名無しさん
08/11/22 09:15:18
> (結合試験完のソースを管理者に渡してコミットしてもらう)
刑務所みたいなふいんきを想像した
812:デフォルトの名無しさん
08/11/22 13:44:43
>>810
いるいるwww 俺はコーディング規約で明確に禁止した。
813:デフォルトの名無しさん
08/11/22 19:40:49
そういう奴らはDiffの使い方がわかってないんだよ。
TortoiseSVNやRapid入れて過去ログとの比較を教えてやったら二度としないと思うけどな。
814:デフォルトの名無しさん
08/11/22 19:51:07
コミット時にフックを掛けて弾くのも効果ある
815:デフォルトの名無しさん
08/11/22 20:27:51
>813
diffの使い方が分かってないと言うよりは、blame/annotateの使い方が分かってないんだろ。
816:デフォルトの名無しさん
08/11/22 20:36:06
blameはよくわからん
817:デフォルトの名無しさん
08/11/22 20:41:17
TortoiseSVNなら、blameの結果が専用ビューワーで超見やすい。
818:デフォルトの名無しさん
08/11/22 22:07:02
ところで、
いい加減TortoiseSVNのアップデートは自動でできるようにならんかね?
アップデートのたびにホームページ行ってダウンロードして上書きインストールしてから再起動・・・って
いちいち面倒だっつうに。
819:デフォルトの名無しさん
08/11/22 22:13:53
アップデートのたびにホームページ行ってダウンロードして上書きインストールしてから再起動するプログラムを作る
820:デフォルトの名無しさん
08/11/22 22:26:38
それこそsvn updateで行えるべきだ
821:デフォルトの名無しさん
08/11/23 01:01:08
>>820
もまえ天才
822:デフォルトの名無しさん
08/11/23 07:39:40
diffはちょっと馬鹿なとこがあって、メソッド1つ追加したら
次のメソッドの説明コメント1行目まで差があることになったりするよな。
確かにそういう解釈にならんことも無いんだが、
あれ、どうにかならんかなあ。
}
//------------
+//func2
+//------------
+void func2 () {
+ ...
+}
+
+//------------
//func3
823:デフォルトの名無しさん
08/11/23 07:57:15
異なる行を取る仕様上、そういう動作にならざるを得ないのでは
どうしても気になるならコメント一行目が違うように記述するとか…?
// func2 --------
// 説明
// -------------
// func3 --------
うーん…
824:デフォルトの名無しさん
08/11/23 09:33:02
diff はコメントとかを意識してるわけじゃないからなあ。
言語仕様を意識した diff を作るか、>>822 のバカな認識を
変えるしかないと思う。
825:デフォルトの名無しさん
08/11/23 09:37:17
>>824
言ってることはそれなりに正しいのに、たったの三文字で台無しだ。
826:デフォルトの名無しさん
08/11/23 10:24:16
コメントを関数の中で定義すれば?
void func2 () {
//------------
//func2
//------------
...
}
827:デフォルトの名無しさん
08/11/23 12:19:43
ここでpythonのコーディング規約が優れていることが判るわけですね。
828:デフォルトの名無しさん
08/11/23 12:59:52
>>825
三文字? もしかして「バカな」に逆切れ?
>>826
ソースの見辛さと diff の見辛さの二択なら、ソースの方を優先すべきだと思うが。
829:デフォルトの名無しさん
08/11/23 14:29:28
ずらすだけならむずかしくない
830:デフォルトの名無しさん
08/11/23 22:51:43
git add したファイルを取り消すにはどうしたらいいですか。
#なんかgitのマニュアルはわかりずらい。
831:デフォルトの名無しさん
08/11/23 22:52:25
>gitのマニュアルはわかりずらい
禿同
832:デフォルトの名無しさん
08/11/23 23:00:20
ちょっとした煽りに過敏に反応する世代がこのスレに居るとはな
833:デフォルトの名無しさん
08/11/24 04:25:13
TortoiseHg使って、公開鍵認証が必要なssh経由でcloneしようとしたら、結構面倒だった。
インスコそのままだとパスワード方式しかダメで、ホームディレクトリのmercurial.iniを
書き換える必要がある。Program Files以下の同名ファイルを見たら、cygwin sshの
設定がコメントアウトされてたんで、それをコピペしたらこれが罠で、秘密鍵のパスフレーズを
入力不可能な標準入力で入力待ちしてしまって、アプリが固まる。
諦めて標準のTortoisePlink.exeを使う事にして、mercurial.iniで「-i 秘密鍵へのパス」
オプションを追加すると、やっとGUIダイアログでパスフレーズを聞いてくれるようになった。
もっともその前に、puttyを落としてきてOpenSSHの秘密鍵をputty形式に変換するという
さらにめんどくさい作業が必要。以上、作業メモ。
834:デフォルトの名無しさん
08/11/24 07:07:23
>>832
>ちょっとした煽りに過敏に反応する世代がこのスレに居るとはな
そのまんま832のことじゃないか
835:デフォルトの名無しさん
08/11/24 08:33:17
>>833
たぶん、普段から putty と pageant なり、mingw の ssh なりを使っている人には
面倒じゃないんだろうな。
putty の設定で、秘密鍵ファイルの設定がレジストリに書かれていたら、
-i オプションが無くても秘密鍵は自動で選ばれるし、 pageant を使っていると
秘密鍵のパスフレーズ入力も無い。
Bazaar も pageant あると自動で利用してくれるから、 pageant お勧め。
836:デフォルトの名無しさん
08/11/24 12:34:14
>>833
前にBitBucketにコミットしたときは、pageant立ち上げておくだけで行けたけど
837:デフォルトの名無しさん
08/11/24 19:02:37
一番いいのはどれなの?
838:デフォルトの名無しさん
08/11/24 20:17:18
linuxerならgit一択
*NIXerならhgかbzr
839:デフォルトの名無しさん
08/11/24 20:28:55
darcs使いとしては,最近のdarcsのガラパゴスぶりに泣けてくる
840:デフォルトの名無しさん
08/11/24 21:06:19
でも hackage の都合上選択肢は darcs しかないという
841:デフォルトの名無しさん
08/11/24 21:33:06
Linus儲ならgit、Shuttleworth儲ならbzr、それ以外ならhgでおk。
842:デフォルトの名無しさん
08/11/24 21:43:48
subversionより、いいのってあるの?
843:デフォルトの名無しさん
08/11/24 22:46:29
とりあえず hg の mq は最高ってことで。
844:デフォルトの名無しさん
08/11/24 23:02:42
>>843
rebaseで良くね?
845:デフォルトの名無しさん
08/11/24 23:14:16
よく分からんけど、Mercurialのrebaseって、gitの機能をパクったの?
mozilla.orgと関係有るっぽい?
846:デフォルトの名無しさん
08/11/24 23:16:06
rebaseってsvn由来じゃ?
847:デフォルトの名無しさん
08/11/25 22:40:01
ポリシーに合ってる機能ならどんどんパクるべきだろ。
848:デフォルトの名無しさん
08/11/26 01:09:14
Mercurial で 0x5c で終わるディレクトリがあるとおかしくなるのは
うちだけ?
hg init .
mkdir 管理表
hg status
abort: 指定されたファイルが見つかりません。: D:\HGTEST\test\.\管理表\管理表
win32mbcs を読み込ませても同じ。
849:デフォルトの名無しさん
08/11/26 01:14:46
NetBeansでつかってるけど、マルチバイトのファイル名で
おかしくなるからそれは管理しないようにしないとだめ
コミットログ等は問題ないけどね
しかし表でおかしくなるとかあいかわらず世界は
マルチバイト圏のことはまったく考慮されてないんだなぁとおもた
十数年たってもこれだから100年後もかわってないかも
850:デフォルトの名無しさん
08/11/26 01:16:58
>>848
Cygwinだったら、cygwin1.dllのせい。UTF-8 cygwin 使っとけ。
それ以外だったらわからん。
851:デフォルトの名無しさん
08/11/26 01:18:23
日本語ファイル名使うなら bzr か svn にしとけって。
hg や git はUnicodeファイル名じゃないんだから。
852:デフォルトの名無しさん
08/11/26 01:30:23
>>849
10年どころか、PCで日本語扱うようになって四半世紀くらい経ってますぜ。
とは言え、Unicode/UTF-8の普及でほんの少しだけマシになってます。
それ以上に多種多様な問題も連れてきたけど。
>>771に書かれてる「ファイル名はファイルの内容と同じでバイナリ弄らない」
って、判断したやつにUnicode正規化の問題とか突き付けてやりたい……。
853:デフォルトの名無しさん
08/11/26 07:30:44
>>852
というかユニコード正規化とか言葉もしらないんじゃないかと。
規約や規格にわりと無頓着なプログラマって多いと思う
854:デフォルトの名無しさん
08/11/26 08:35:58
統一性がないのにユニなコードとはこれいかに
855:デフォルトの名無しさん
08/11/26 12:42:46
>>854
ほんとだよ
856:デフォルトの名無しさん
08/11/26 16:59:46
環境: WindowsServer2008 cygwinなし
TortoiseHGを試していて分らないことがあったので質問です。
適当なディレクトリで右クリでリポジトリを作成したり、
そのリポジトリに適当なファイルを置いてaddして登録することはできるのですが
HG commitしようとすると、ウィンドウが一瞬だけ表示されてすぐ消えてしまいます。
どうやらコミットが強制的にキ%
857:デフォルトの名無しさん
08/11/26 17:01:25
すいません、ブラウザの不調でレスが後半潰れてしまったようです
環境: WindowsServer2008 cygwinなし
TortoiseHGを試していて分らないことがあったので質問です。
適当なディレクトリで右クリでリポジトリを作成したり、
そのリポジトリに適当なファイルを置いてaddして登録することはできるのですが
HG commitしようとすると、ウィンドウが一瞬だけ表示されてすぐ消えてしまいます。
どうやらコミットが強制的にキャンセル?されているようで、コミットされている様子がありません。
ネットで調べた限りでは、HG commitメニューを実行すると
ログを書き残したりするためのダイアログが出てくるという事なのですが・・・
何を調査してどんな手を打てばいいかさっぱり検討も付かないので
どなたか対処を思いついた人がいたら教えて下さい
858:デフォルトの名無しさん
08/11/26 19:13:07
>>857
操作しようとしてるフォルダのパスに、日本語が含まれてないか?
Hg解説してる場所でTortoiseHgはパス、ログもほとんど日本語が使えないと書いてあった気がする。
もっとも、その解説0.30あたりの時だったから最新版ではわからんけど。
859:デフォルトの名無しさん
08/11/26 21:14:32
つーか日本語ファイル名なんてありえないだろJK
860:デフォルトの名無しさん
08/11/26 21:28:50
パスセパレータに/を使わないシステムがクソなだけ
861:デフォルトの名無しさん
08/11/26 22:25:22
win32mbcs エクステンションを入れてないとか
862:デフォルトの名無しさん
08/11/26 23:08:05
>>859
世の中理想だけじゃ回らんだろ。
仕事で日本語パスが使ってある既存プロジェクトに放りこまれたときどうすんだ。
863:デフォルトの名無しさん
08/11/26 23:20:47
ソースはまだありえないと思うが、ドキュメントとかなら普通に
使ってるからなぁ > 日本語ファイル名
864:デフォルトの名無しさん
08/11/26 23:45:35
>>863
某社の某製品が自動生成するソース(Java)は、ファイル名にもクラス名にも変数名にも日本語で吐かれるよ!!
865:デフォルトの名無しさん
08/11/26 23:55:01
>>864
悪夢だ
866:デフォルトの名無しさん
08/11/27 01:19:18
>>864
変数名とかメソッド名はファイルシステムに依存してないし、Javaのシステム上問題はない
だがクラス名につかっちまうとファイルシステム依存が出てきて大変なことになる
867:デフォルトの名無しさん
08/11/27 11:17:11
俺は個人的なプログラムではクラス名も変数名もばんばん日本語使うけどな。
いざというときでもEclipseやら使えばリネームは一発だし、そんなに困ると思えん。
プログラムが日本語チックに書けてコメントいらずだし。
868:デフォルトの名無しさん
08/11/27 12:08:49
識別子が日本語になるだけでコメントがいらなくなるものは
命名が悪いからコメント必要になってるだけだろw
869:デフォルトの名無しさん
08/11/27 12:41:11
変数名とか関数名を日本語にするやつの気が知れない
870:デフォルトの名無しさん
08/11/27 12:48:44
ちゅうか、ことコンピュータに関しては、英語圏の奴らがマジうらまやしい。
871:デフォルトの名無しさん
08/11/27 12:54:53
昔、某所で使ってた開発言語は日本語だったけど
手続き全て日本語ってのはマジで辛かったよ
廃止されてホッとした
872:デフォルトの名無しさん
08/11/27 13:04:47
ソースから仕様書も作れるって言うアレだな・・・
おやじどもには好評だったな
873:デフォルトの名無しさん
08/11/27 14:10:54
formから生成するときは母国語使える方が楽だとは思うぞ
874:デフォルトの名無しさん
08/11/27 15:46:13
漢字が使えたほうがいい場面は確かにある。
「部材別商品管理棚」を表すクラスを英語名にすると、わけわからんなる。
業務に強く依存する名前は別に日本語のままでいいよなと思う。
875:デフォルトの名無しさん
08/11/27 16:02:08
それだけ見れば、業務に強く依存するようなコードは糞だという感想しか湧かない
876:デフォルトの名無しさん
08/11/27 20:35:57
で、なんで日本語だめなの?
877:デフォルトの名無しさん
08/11/27 20:47:04
一度、全部日本語にしてソースを上から順に眺めていって見ろよ
日本語ってのは曖昧なんだ
878:デフォルトの名無しさん
08/11/27 21:08:45
>>877
曖昧の意味知ってるか?
879:デフォルトの名無しさん
08/11/27 21:20:26
>>875
学生乙
880:デフォルトの名無しさん
08/11/27 21:26:54
>>876
文字コードで面倒が起きることがあるから。
881:デフォルトの名無しさん
08/11/27 21:44:00
DBのカラム名が日本語なのに変数はダメだというのはようわからん考え方だな
アルファベットのカラム名でもExcelの日本語対応表見ながらじゃないとカラム名がわからないほうがよっぽどまずい
けど、そういうところは多いよね
882:デフォルトの名無しさん
08/11/27 21:44:52
DBのカラム名に日本語OKって正気の沙汰じゃございません
883:デフォルトの名無しさん
08/11/27 21:46:23
狂気の沙汰ほど面白い…!
884:デフォルトの名無しさん
08/11/27 22:01:23
倍pushだ
885:デフォルトの名無しさん
08/11/27 22:46:27
>>882
そのかわりExcel方眼紙に日本語名って項目がある笑える環境ではないかね?
886:デフォルトの名無しさん
08/11/27 22:49:20
物理名論理名ってDB設計では普通だろ。
887:デフォルトの名無しさん
08/11/27 23:08:09
ならコードの変数名も対照表作ったら?
888:デフォルトの名無しさん
08/11/27 23:30:03
>>886
単に英語と日本語名だけで、物理とか論理なんて関係ないじゃん。
889:デフォルトの名無しさん
08/11/28 01:02:44
論理名を日本語で付けて、物理名はアルファベットにしとくって話もわからんのか、クズ
890:デフォルトの名無しさん
08/11/28 01:26:31
>>882-883
新手法!アカギ開発w
>>889
888はお察し。多分DBまともに触ったことが無いとか
そういうヤツなんだろ。
891:デフォルトの名無しさん
08/11/28 01:39:15
ソースコードの日本語の話はどうでもいいから
VCSの日本語の話をしてくれよ。
892:デフォルトの名無しさん
08/11/28 01:41:31
VCSが物理名で、SCMが論理名?
893:デフォルトの名無しさん
08/11/28 02:08:00
>>891
ファイル名とコミットログはプラットフォームのエンコーディングに寄らず一律UTF-8かつNFCあたりで正規化、というのが落とし所だと思うんだな。
ファイルには、Content-Type/charsetを属性として付けとく?
894:デフォルトの名無しさん
08/11/28 03:54:15
URLリンク(github.com)メンテナンス中なんだけど、
すまんがおすすめのビデオでも見ててくれ、ってことで、YouTube見させられた。
なんかgithubの中の人は2chみたいなノリでおもしれーw
895:デフォルトの名無しさん
08/11/28 04:19:11
消されてんじゃねーかw
896:デフォルトの名無しさん
08/11/28 05:35:41
>>895
あれ? ホントだw
さっきまで見れてたんだけどなw
なんかオススメごと削除されたっぽいが…勝手に使うなって話だとしたらケツの穴小せえなぁ
897:896
08/11/28 05:41:39
連投スマン
候補からランダムで表示されるようになってて、いくつか消されてるのもある、ってだけだった。
898:デフォルトの名無しさん
08/11/29 20:38:34
>893
結局、Subversionがお手本って事か。
899:デフォルトの名無しさん
08/11/30 14:51:36
別にいいんじゃないの?
svnは今のところもっとも成熟したVCSだし、
そもそもsvnとgit,hgその他の違いなんて分散型かそうじゃないかだけだろ。
それはとにかく、今Mercurialを試してるんだがリポジトリを公開するのにcgi使う必要があったり、
ブラウザ上から日本語ファイルが見えなかったり、
リポジトリそのものに設定ファイルを書かなければいかんかったりと意外とめんどいな。
Gitもリポジトリをウェブへ公開するときの手間は似たようなもの?
900:デフォルトの名無しさん
08/11/30 15:08:30
>>899
bazaar使えばいいじゃん。楽だよ。
901:899
08/11/30 15:24:22
>>900
今windowsとlinux両方で開発してるんだけど、
文字コードのサポートとか、windows上のパフォーマンスとかどう?
902:デフォルトの名無しさん
08/11/30 15:38:14
>>901
>文字コードのサポート
>>735
>windows上のパフォーマンス
悪くはない
903:デフォルトの名無しさん
08/11/30 15:41:10
パフォーマンスにこだわる奴結構いるみたいだけど、具体的に何のパフォーマンスを求めてるんだ?
904:899
08/11/30 15:43:52
>>902
サンクス。このスレ常駐してたんだがgitとhgしか読んでなかった。
wikipedia見るとsvnやcvsのコマンドがそのまま使えるとか、
他のリポジトリとの互換性が最強とか結構よさげ。
一度mercurialからの乗り換え検討してみるわ。ノシ
905:899
08/11/30 15:45:52
>>903
具体的にはweb越しでの転送速度だけど、まあそういわれてみればたいして重要じゃないな。
むしろ安定性や汎用性の方が優先順位が高い。
906:デフォルトの名無しさん
08/11/30 15:55:22
>>899
bzrならhttpでアクセスできるところにファイルをアップロードするだけで
ローカルから bzr coもしくはbzr branchをすぐ試せるよ。
gitの方はリポジトリのホストサーバーにインストールする必要があるみたい。
http経由での git リポジトリのエクスポート
URLリンク(www8.atwiki.jp)
907:デフォルトの名無しさん
08/11/30 16:48:48
>>906
> gitの方はリポジトリのホストサーバーにインストールする必要があるみたい。
しなくてもできるよ。
908:デフォルトの名無しさん
08/11/30 17:45:44
>>899
cgiで済むなら、むしろ楽だと思うけど。
909:デフォルトの名無しさん
08/11/30 17:54:14
>>907 親切な人、ありがと。できた。
git clone test.git test2.git
touch test2.git/git-daemon-export-ok
cd test2.git
git --bare update-server-info
# test2.gitをサーバーにアップロードした後で
cd ../
git clone URLリンク(example.com) test3.git
910:デフォルトの名無しさん
08/11/30 17:56:38
>>909 訂正。オプション忘れてた。
git clone --bare test.git test2.git
911:デフォルトの名無しさん
08/11/30 18:39:16
つまり面倒なのはhgのみ・・・
912:デフォルトの名無しさん
08/11/30 18:40:55
>>899
> それはとにかく、今Mercurialを試してるんだがリポジトリを公開するのに
> cgi使う必要があったり、
俺は hg serve 上げて Apache の mod_proxy で転送してる。
>ブラウザ上から日本語ファイルが見えなかったり、
HGENCODING=utf-8 にするといいよ。
>>906
>bzrならhttpでアクセスできるところにファイルをアップロードするだけで
>ローカルから bzr coもしくはbzr branchをすぐ試せるよ。
これは Mercurial でも同じことができる。
913:906じゃないけど
08/11/30 18:45:37
>>912
bzr push fURLリンク(...)<)
でおkって話では?
あとhgってremoteなcheckout (非clone)できたっけか?
914:デフォルトの名無しさん
08/11/30 20:15:20
いいんだよ。Mercurialは、Python 3.0が出てから本気出すんだ。
今はその予習期間さ……。
915:デフォルトの名無しさん
08/11/30 22:41:29
>893
NFCは余計な気がするかな。
情報損失がある割に歴史的経緯で不十分な点も多いのであまり使えないと思う。
コミットログは英語でかけってのがベストな気はするけど、まぁこれも難しいんだろうな
916:デフォルトの名無しさん
08/11/30 22:43:31
hg clone static-URLリンク(example.com)
>>913
remote な checkout ってのがよくわからんのだが、どういう動作を期待してるんだ?
917:デフォルトの名無しさん
08/11/30 22:44:53
>>916
svnのような動作
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5001日前に更新/230 KB
担当:undef