GNU Emacs、プロジェクトのソースコード管理ツールをBazaarからGitへ移行させる 34
ストーリー by hylom
世はGitの天下か 部門より
世はGitの天下か 部門より
GNU Emacsが、プロジェクトで使用するソースコード管理ツールをBazzarからGitに移行させた(Phoronix)。
以前、「オープンソース」という言葉を広めた人物としても知られるEric S. Raymond氏がEmacs開発者向けメーリングリストに「Bazaarは死につつある」としてBazzarからの移行を提案していた(スラッシュドットの過去記事)ことも移行のきっかけになったようだ。
Emacsのソースコードを公開するGitリポジトリ自体は以前から存在したが、Emacsは非常に長い歴史のあるソフトウェアということで、その過去の履歴までを含めてGitに移行させるのは大変な作業だったようだ。
なお、リポジトリの情報やGitを使ったEmacsの開発手順についてはEmacs Wikiにまとめられている。
その過去の履歴までを含めてGitに移行させるのは大変な作業だったようだ? (スコア:1)
データ量が多いので自動処理に時間がかかるだけで
作業としてはそんなに大変では無いと思います
MLで詳細が流れていますが,当人も大変だとは言っていません.
移行中はサーバ停止します.時間が掛かるけど皆待っててね,とアナウンスしているだけです.
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00548.html [gnu.org]
お前は何もわかっていない... (スコア:5, 興味深い)
Eric S Raymond は感情を抑制する人で、ある特定の場所以外では
あまり本音を吐きません。ESR自身が苦労をぶちまけている
サイトがあるので、是非探してみてください。
この作業がどれほど大変だったか。それは過去30年間、Emacs
はほとんど毎日、500人以上の開発者によってコミットされ続け、
その歴史をきちんと保存した形で git に移行したということです。
過去ログで経歴を確認すると、何人かの古い開発者はすでに
死亡しています。
1980年代はRCSと呼ばれるバージョン管理システムでEmacsは
開発されていました。まだインターネットは地球上のごく
一部にしかなく、Emacsが欲しい人はFSFに空テープと
実費を送るとソフトが郵送されていた時代です。
当時、経産省のΣプロジェクトへのEmacs移植の担当者は、
FSFから取り寄せたEmacsの磁気テープを
自前で多数コピーし、バイクで東京の開発会社を回ってGNU Emacsを
配布していました。
(ΣのはTECO系で、GNU Emacsとは違っていましたが。。)
RCSバージョン管理システムは(今から見ると)独特のお作法が
あり、その変更履歴の git 化は非常に困難だったと思います。
過去30年間の開発の思い出を全部書き出すと多分、いくらでもかかりますが、
その後、CVS、そして BZR とバージョン管理が
移行し、多数のブランチも作成されました。多くのブランチはマージされ、
または死にましたが、そのなかでも Emacs内部の文字コードを
Emacs-Mule から Unicode に移行する emacs-unicode および
emacs-unicode-2 ブランチの苦労は相当大変だったと思います。
途中、Erik Naggum との激しい文字コード論争(この人が最初の所謂
ネットの[炎上」 "flamer"を生み出した人だと認識されています。)
もありましたが彼もすでに鬼籍に入り5年が経過しました。
完璧主義者で、自分で全てを制御しないと気がすまないRMS が遂に
他人に管理権限を移譲したとき、その期待に彼が応えきったときもありました。
Emacs内のいくつかのコードは、30年近い経歴を経ても今なお、当時
の面影を残している部分があり、その経緯が複雑すぎて世界でもコードを
読める(なぜこうなったかを歴史的経緯を含めて理解できる)人は
数人クラスとも言われているものもあります。
ヘルプを出すのに C-h を4回押していた時代を覚えている人ももう今は少ない
でしょう。その後3回になり、そして今は2回になりました。
そんなこんなで過去30年、「こうすれば少しは便利になるんじゃない?」
という思いでなされた多数の絶え間ない無数のコミットによって、今でも
現役でばりばり使われています。
現役長寿フリーソフトにはX11、
TeX, Emacs を挙げたいと思いますが、その中でも一番、活発に開発されている
ソフトだと思いまし、その歴史的意義を理解して、全ての変更履歴をきちんと
保存された形で git に移すのに、ESRは多忙であるにも関わらず、準備期間を含めて
8ヶ月、そして2ヶ月はこの作業「だけ」に自分の時間を捧げました。
Emacs HEAD は version.25になり、いくつかの根幹的な部分も見直され
始め、まだまだいくつも変貌の余地を残しています。
ERSの苦労と偉業がどれほどのものなのか、ログを見て少し昔を思い出して
感慨に浸っています。
Re: (スコア:0)
> その経緯が複雑すぎて世界でもコードを
> 読める(なぜこうなったかを歴史的経緯を含めて理解できる)人は
> 数人クラスとも言われているものもあります。
それって自慢するポイントなの? GCCに至ってはLLVM/clangにケツを叩かれるまでわざと読みにくくしてたんだっけ?
Re:お前は何もわかっていない... (スコア:2, すばらしい洞察)
久々の本物の登場なのに、そんな浅いコメントすんなよ。
Re:お前は何もわかっていない... (スコア:1)
大変だし価値があることも解るが、微妙な表情にならざるを得ない。
> ヘルプを出すのに C-h を4回押していた時代を覚えている人ももう今は少ない
> でしょう。その後3回になり、そして今は2回になりました。
> そんなこんなで過去30年、「こうすれば少しは便利になるんじゃない?」
> という思いでなされた多数の絶え間ない無数のコミットによって、今でも
> 現役でばりばり使われています。
むしろemacsは歴史的経緯を散々引きずった挙句、Sublime Text、Brackets、Atom等の新興エディタ群にもろに食われて危機に陥っているという認識なんですが……。
https://www.google.co.jp/trends/explore#q=emacs [google.co.jp]
Re: (スコア:0)
>むしろemacsは歴史的経緯を散々引きずった挙句、Sublime Text、Brackets、Atom等の新興エディタ群にもろに食われて危機に陥っているという認識なんですが……。
それらのエディタに、emacsやviのキーバインドを望む声がなくなった時が真の危機でしょうね。
もはや、emacs、viは教育、文化の域です。
これが変わるのは、人の世代が変わるとき、つまりこの状況が30年継続した後。
Re: (スコア:0)
Google Trend は文字通り「話題性」以外の何かには見えないですね。
人気凋落の傍証にはあまり向いてないような。
例えばLinux。
ずいぶんと右下がりですが、重要度低下って訳でもないでしょうし。
https://www.google.co.jp/trends/explore#q=linux [google.co.jp]
Re: (スコア:0)
確かに色々な意味でホンモノだな。
Re: (スコア:0)
お前はそれを自慢と受け取ったのか・・・
つまりはお前がその種の話をするときは自慢だということなのだな。
Re: (スコア:0)
Bazzarした時は過去の履歴を捨ててたってこと?
Re: (スコア:0)
捨ててないはず。
Re: (スコア:0, フレームのもと)
「わかっていない」といいつつエビデンスのURLを隠す意味がわからないんだけど。
Re:お前は何もわかっていない... (スコア:1)
> Eric S Raymond は感情を抑制する人で、ある特定の場所以外では
> あまり本音を吐きません。
ここを汲んだんでは。
# 本人があまり公にしてないのに、それを無視した無粋な真似ができるかと
言葉は無粋! (スコア:0)
他のコード管理システムからの移行のしやすさも git の評価ポイントだったから本音を吐かなかったのに…。
Re: (スコア:0, 荒らし)
バイアスのかかったコメントよりURLのほうがはるかに価値がある
Re: (スコア:0)
s/経産省/通産省/
だよねぇ。Σの時期的に。
Re: (スコア:0)
今日に至る先人の苦労とか、それが感慨深いってのは分かったけどそれのどこが
Gitに移行するが大変だった理由
なの?全然関係なくない?
移行は処理に時間がかかっただけ だと思うんだけど。「是非探して」ではなく、知ってるならポインタで示して欲しいです。
Re: (スコア:0)
ソース探さずに勘で書くけど、こういう偉人がただ処理時間が長いだけのことに
10ヶ月も掛けないだろうし、2ヶ月も掛かり切りになるなんてことはないでしょう。
複数のレガシなシステムにまたがって記録されたデータの変換は手間でしょうけど、
このクラスの人間が専従で作業して2ヶ月もかかるとは到底思えません。
多分、コミットコメントやメールなど非メタデータとして記録されていたメタデータを、
自動化できる分は自動化しつつ、残りを記憶やメールを頼りに手でメタデータ化してたんでは?
そう
Re: (スコア:0)
おまえはさらに何もわかっていない
この記事を書いたのがhylomだということを
こいつは転載すればなぜかオリジナルでは正しい部分に誤字を入れたり
飛ばし記事を持ってきたり信用に足る人物ではないと言うことを
Re: (スコア:0)
どうしてそういうコードになっているのか、わかる人が生きているうちに、再構成をするべきだったのでは…GIT移行はその最後のチャンスだったのではないだろうか…
Re: (スコア:0)
あんたがそれをやってもええんやで。
Re: (スコア:0)
もっと体力、そして気力があったならなあ。XWindowsはまだ改革の波が起きているようだけど、TeXはバージョンπになった後どうなるんだろう?
Re: (スコア:0)
見事な老害だな
そんな裏付けのない思い出話はチラシの裏か、せめてブログに書けよ
元コメはERSのメールを出しているんだから、反論するならいま読んでいるログを出すなりERSに問い合わせるなりすればいいだけのことだ
Re:お前は何もわかっていない... (スコア:2)
ERS って誰だよ、というツッコミはおいておく。
やめてくれ。 ESR はそこまで暇じゃないだろう。
Re: (スコア:0)
先にERSと書いてしまったのは長文の方ですから、責められる人が違うのでは?
Re:その過去の履歴までを含めてGitに移行させるのは大変な作業だったようだ? (スコア:3)
そのスレッドの別のメール [gnu.org]には、「1 年掛かりで準備した」と書いてある。「大変」と書いてはいないけど、大変だったんじゃないの。
同じ GNU プロジェクトの一部なのにね (スコア:0)
GNU のプロジェクトである GNU Emacs が、同じく GNU のプロジェクトである
Bazaar を捨てて Git へ移行するというのがなんとも。
まだ Ubuntu という大口ユーザーが残っているけど、いずれ Hurd と共に
GNU の 2大失敗プロジェクトと言われるようになるのかね。
# 個人的には Bazaar 、好きだったんだけどね。
Re: (スコア:0)
Ubuntuが残っていると言うかカノニカルの持ち込んだプロダクトなので、GNUの失敗プロジェクトという話ではないのでは
Re: (スコア:0)
BazaarはGNU発ではないですよ。
UbuntuがユーザーというかUbuntuの開発元のCanonical産です。
Bazaarの開発はすでに終了されてるのに使い続ける方が不自然でしょう。
ちなみに他にCanonicalから生まれたプロダクトとしてUpstartがありますがこちらも廃止予定です。
Re: (スコア:0)
>Bazaarの開発はすでに終了されてる
えっ、そうだったの!?
シェアはGitに持ってかれたけど、Bazaarにも利点はあったし、まだユーザーも残っているだろうから、そんなにあっさり終了とは思わなかった。
Re: (スコア:0)
bzrがGNU発ではないのは他の人が書かれている通りですが、
emacsがbzrに移行した頃は、git、hg、bzrのどれが主流になるか分からない状況でした。
ある時点での優位点が次の月にはそうでなくなる程の競争の中で互いに切磋琢磨した結果の現在であって、
切磋琢磨の相手にすらなれなかったHurdと並べるのは違和感があります。
Re: (スコア:0)
Hurd はGrubが作られるきっかけになったのだけが世に出ている貢献?
Re:同じ GNU プロジェクトの一部なのにね (スコア:1)
伽藍方式代表として、バザール方式普及の踏み台になってくれたという立派な功績があります。