暴走を阻止するため、全てのループに回数上限を設定する」■これは自然と意識してる。タイムアウトを設定せず無限に待つとか、条件が成立するまで無限ループするとか、ループの終了条件が32ビットなり64ビットなりの表現のうちのひとつだけであるとかは、書いていて不安になる。
最終更新: 2018-04-28T11:31+0900
sourceforge.net の変節は耳にしてる。当時は、そのうち osdn.net へ移行するんだろう、そうしたら自分のアカウントは無効になるからパッチ投稿だけ継続しようか、音沙汰のない人間にリポジトリの鍵を預けっぱなしにしておくなんてリスクだからちょうどいいんじゃないの、って気楽に考えていた。せめて支持は表明すべきだった。正当性をもった移行だと認められて人が付いてこなければ、結果的に個人フォークや不成功に終わった乗っ取りと同じことになるのだから。
移行先は名前が挙がってる GitHub より osdn.net の方がずっといいだろう。GitHub は開発者にはおなじみだろうが、掲示板が動かないことにはバグ報告も質問も途絶えてしまう。ただの利用者に英語の画面を使わせたり発言するのにアカウント登録を求めたりするのは、門前払いに等しい行為だよ。
いくつか問題が挙げられてるが、移行してからなんとでもなることを無視すると、究極的には人の問題が残る。開発者の問題が。すでに活動していない人であっても、かつて主要な貢献をしたその名前がリストされていることが、プロジェクトの正統性を裏付けるという側面があるだろう。2年前は誤解していたけど、今こうしてほとんど人が去ったプロジェクトの現状を目の当たりにすると、お願いして名前を掲載させてもらいたい立場であることがわかる。この現状で過去を清算するような移行は、プロジェクトにとって致命傷になりかねない、と思う。
開発の活発化を企図するなら、個人個人でリポジトリを持って自由にコミットできる Git の採用が必要だと思う。登録された開発メンバーという意味ではなく開発ができる利用者個人という意味ね。git svn
コマンドのおかげでプロジェクトのリポジトリが Subversion であっても自分の Git リポジトリを持てることを考えると、よりカジュアルにフォークできる GitHub 上の Git リポジトリが本当に必要なものだという気もする。GitHub にプッシュされた私家版パッチは見えるし、Pull Request もあって本家取り込みもやりやすいだろう。
こうなると osdn.net への移行がわからなくなる。けどたぶん考える前に行動することが必要なんだと思う。sourceforge.net に留まり続けるプロジェクトは見捨てられたプロジェクトなんだと、俺はもう受け取るようになっている。移行してしまえば、少なくともそう決めてしまえば自分はついて行くし(「こっち来んな」って?)、チケットの移行など手を動かすこともするんだけど、問題は自分が「ついて行く」人間であって引っ張っていく人間ではないことなんだな。sourceforge.net のサクラエディタプロジェクトに対して自分ができることって svn commit
だけだというのもあるし。
amend
, rebase
は最優先で使い方を調べたいとか、ブランチごとにフォルダとリポジトリを分けるとコミット先がわかりやすいけど絶対いけてないなとかまあ、疑問がいっぱい。SourceTree がインストールできなくて(※DPT-CP1 と同じ理由)、一番の可視化ツールが GitHub ぽい。PR もあるし。■■■git diff master... > a.patch
でブランチ作成以後の差分を取得し、LF 改行を CRLF 改行に置換し、patch -p1 < a.patch
で適用する。これでローカルの Git リポジトリに加えた変更を、公開 Subversion リポジトリのワーキングコピーに適用できる。なぜこういう操作が必要になるかというと、ローカルの Git リポジトリにはコミットできるけど公開 Subversion リポジトリにはコミットができず、そのワーキングコピーにもコミットの前段階のような、回復可能な記録機能がないからだ。■Git はリポジトリに CRLF 改行のテキストファイルを保存できないらしい。UTF-16 のテキストファイルを扱えないことといい、割と独善的なんだよな。コマンドは親切だけど一部に押しつけがある。実装のための割り切りなのかもしれないけど、切り捨てられた方は面白くない。改行コードの変換とかいらんことせんでええねん。LF なら LF、CRLF なら CRLF を俺は扱っているのであって、どっちも問題なく扱えるのであって、なんなら混じっていても問題ないのであって、他の神を認めない一神教の信者みたいな振る舞いはノーサンキュー。全部バイナリファイル扱いにして、でも diff は見られたらいいなあ。■log も diff と同じように git log master...
でブランチ後のログだけ見られる。--stop-on-copy
より短いのが嬉しい。■SourceTree はインストールできなかったけど、git gui
ってなコマンドがある! ツリーの視覚化だけはどうしても必要だからね。git gui がワークツリーに対する操作・状態表示を担当していて、gitk がコミットツリーの視覚化担当らしい。git gui してから Repository > Visualize ... History を選んでもいいけど直接 gitk
する方が早い。