パスワードを忘れた? アカウント作成
8975 story

Arch 作者 Tom Lord のインタビュー 42

ストーリー by Oliver
まずは使ってみよう 部門より

tamo 曰く、 "OSDirSteve Mallett がリビジョン管理システム Arch の作者 Tom Lord にインタビューした記事日本語訳しました。 Tom Lord がいつも通り CVS や Subversion を痛烈に批判しています。Arch は使いにくいと言われることが多いですが、根底に流れる思想を理解することで、好きになれるかもしれません。OSDir の責任者 Steve Mallett に翻訳および公開の許可を得てあります。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • arch使ってます (スコア:3, 参考になる)

    by densuke (113) on 2004年09月30日 9時42分 (#629219) 日記
    hikiでも多少まとめてます(最近更新してませんが、おちついてるだけ)。

    慣れてしまえばそれほど気にならないのですが、一番の障害は珍妙ともおもえてしまうレポジトリ名等々です。このおかげでWindowsでの動作が難しいです。

    * archive/category--branch--version--patch という長いアーカイブ名
    * CVSというディレクトリならともかく、{arch}なんてディレクトリなんで、OSによっては"{}"が使えず動作できない

    前者は実際の取得の際にはarchive/category--branch(--version)で済むため、たいしたことはないですが、後者はけっこうイタいです(だからってARCHなんて使ったらいかにも本来のソースにかぶりそうだ)。

    このあたりをさっぴいても、使ってる身としては便利な道具です。
    --
    -- やさいはけんこうにいちば〜ん!
    • by Anonymous Coward
      偉いしと発見~。
      あのー、そもそもmakeするときに
      src下に"=build"ディレクトリを掘って"../configure"しろとか言われるのがうへって感じなんですが。
      "="って何故。エスケープ欲しいし。
      あとCygwin対応はどうなのでしょうか。
      ググったらMLに何か投げられてたけど…?
      SubversionはCygwinのバイナリが出てるので是非archも。
      #Windowsネイティブでもいいけど。
      • by densuke (113) on 2004年09月30日 15時06分 (#629463) 日記
        実際のとこ、適当にディレクトリ掘って
          $ ../src/configure
        すりゃいいんで、エスケープがめんどいと思った時は
          $ mkdir build; cd build
          $ ../src/configure [options]
        ですませちゃってます。ごめんよTom.

        # 全然偉くないけどID
        --
        -- やさいはけんこうにいちば〜ん!
        親コメント
      • by Anonymous Coward
        >#Windowsネイティブでもいいけど。

        TortoiseTLAキボンヌ。
  • by hogetsuyoshi (14204) on 2004年09月29日 17時30分 (#628887)
    Archって、そんなに良いの?
    誰か使っている人。
  • 仕事でオープンソースもののプログラムにちょろっと手を入れて
    使う、なんてことがけっこうある。
    もちろんそういうときの修正というのは自分のところの環境に
    特化するためのもので、上流に持ってはいけない類いのものだ。
    まぁ現状では、変更点も全部あわせて数百行以下、って程度の
    修正なので CVS も使わずに diff & patch だけで管理してる。
    でも、こういった修正の規模がどんどん大きくなったら
    どうしよう、とは思ってる。

    実際に使ってみたわけじゃないので、文面の上からの推測なんだけど、
    上記のような用途には便利なように見えるなー。
    ただ、上流がそもそも Arch でソース管理していないと
    そういう使い方はできないんだとすると…つらいなぁ…

    # Debian だと tla ってパッケージ名なのね
    --
    # mishimaは本田透先生を熱烈に応援しています
    • by Anonymous Coward on 2004年09月29日 19時16分 (#628935)
      ># Debian だと tla ってパッケージ名なのね

      GNU archは昔はlarch [srparish.net]という名前の
      shell scriptのセットで後にC版のtlaに変わったとかいう歴史が。

      #それにしてもarchっていう名前は検索の時に不便だ。tlaもだが。
      親コメント
      • 追加。larchの更に前があったらしい。
        ViewARCH-ja.txt [bluegate.org]:

        GNU arch の元になるプログラムは、Tom Lord によって、2000年の初めに作られました。
        それはいったん破棄され、2001年11月ごろに再び作成されました。最初のリリースは
        2002年の1月であり、この時点ですでに自分自身をアーカイブ管理することができました。
        このころはシェルスクリプトの集合体として構成されており larch という名前で呼ばれていました。
        その後、2003年中ごろに、全面的に C 言語で書き改められ、コマンド名も tla に変更されました。

        あとarch win32 todo [gnuarch.org]とか

        • Linux は 1階層 255, Windows はフルパスで 255bytes まででしたっけ?
          • by Anonymous Coward
            Linux
                NAME_MAX 255 (終端nulを除く1階層の文字数)
                PATH_MAX 4096 (終端nulを含むフルパスの文字数)
            Windows
                MAX_PATH 260 (終端nulを含むフルパスの文字数)

            WindowsでもNT系で特殊なパスの形式を使えば
            32767ワイド文字まで扱えるけど大抵のツールは
            対応してないからイマイチ扱いづらい現実が。
    • by Anonymous Coward on 2004年09月29日 18時30分 (#628915)
      プログラムにしか使えないと思っていませんか?

      /etc の履歴管理にCVSを使っています。
      昨日の自分と、今日の自分と、明日の自分はずいぶん考え方が変わるので(^^;
      親コメント
    • CVS 使わないんだとすると、hoge.1 とかhoge.new ?とか hoge.bak とかいうのがたくさんできて、どれが動くんだかさっぱりわからないとか、ノートPC置いてきて最新版がないとか、そんな状況でがんばっているわけですね。バージョン管理ってより、リポジトリで管理できるってところが便利なんだよな。
      • や、この場合の問題点は、本家にはcommitしないけど手許では修正したい場合にCVSが使えん、ということなわけで……。
        親コメント
        • ほかのACさんも触れていますが,
          まさにCVSを使えば幸せになれるケースなのです.

          CVSは単にファイル間の差分(diff)を管理しているに過ぎないですから,
          普段diffやpatchを使って作業している人ならCVSへはスムーズに移行できるし,
          差分の管理が楽になると言う点でメリットもあると思います.

          具体的な方法は,itojunさんのKernel hackerのためのcvs入門 [itojun.org]あたりを見ると良いと思います.

          ソース間の差分(diff)を管理する目的だけで利用するなら
          CVS(やsubversion)はかなり良い選択です.
          インタビュー中にもありますが,この点はTom Lord もみとめています.
          親コメント
          • CVSWEB [freebsd.org] とか ViewCVS [sourceforge.net] を使うとリポジトリ作ってよかった、と確信できます。

            # なんか PHP の実装があったような気がするので識者のツッコミを期待
            親コメント
          • Arch についてのストーリーなので、ちょっとずれてるな。

            > まさにCVSを使えば幸せになれるケースなのです.

            Tom Lord 氏のインタビューによれば、
            そういうケースの扱い方がうまくないのが CVS の欠点、
            ってことじゃないの? Arch ならそれがうまくできる、と。

            少なくとも、うちでは CVS を導入するメリットより
            導入コストの方が上回ってたわけですし。

            > ソース間の差分(diff)を管理する目的だけで利用するなら

            「単一のブランチについての」ソース間の差分(diff)だけを管理するならね。

            ちなみに、内部のみで開発したプログラム(=単一のブランチしかない)では
            Subversion を使って管理してる。
            これはこれで便利だけど、リリース時にはちゃんとブランチ
            分けて管理しよう、とまではめんどくさすぎて思わない。
            あの文書読んで、やっぱり CVS / Subversion でブランチ
            管理するのって誰がやってもめんどくさいものだったんだ、
            と気付いたね。
            --
            # mishimaは本田透先生を熱烈に応援しています
            親コメント
            • >Tom Lord 氏のインタビューによれば、
              >そういうケースの扱い方がうまくないのが CVS の欠点、
              >ってことじゃないの? Arch ならそれがうまくできる、と

              元の話はブランチじゃなくてローカルのリポジトリを作れば解決するように
              読めるんだけど、そういうことじゃないの?
              • 明示的に説明しなかったのは申し訳ないが、
                当然上流が更新されれば(場合によっては)追従しなければ
                いけないようなプログラムだと思っていただきたい。

                そうすると上流が更新されたら、そこに自分の加えた変更点を
                マージしなきゃならんわけで。
                CVS でマージ、とか言われるとちょっと怖気づいちゃうわけで。

                そこで怖気づかない人だけが CVS をちゃんと使えてる人なんだろうけど、
                まぁ自分はいわゆるインタビュー中で言うところの

                究極的に言って、ほとんどのユーザが行き着いたのは CVS を
                最もお馬鹿な方法でだけ使うということのようだね。複数のプログラマが
                単独のツリーでみんな一緒にハックすることができるようにするハブとして
                使うのさ。CVS でそれ以上のことはしないんだ。そう、それは悪いことじゃない。
                でも、それはバージョン管理という命題の 10 パーセントに過ぎない。
                みんなが CVS をそうやって使っているということは、このツールの欠点が
                プログラマのプロジェクト組織運営に制限を課しているということを暗示している。
                (強調は俺)ってところの「ほとんどのユーザ」。
                これは確かに勉強不足と言い替えることもできるけど、
                やっぱりそれは導入コストが高いってことだし。
                --
                # mishimaは本田透先生を熱烈に応援しています
                親コメント
              • >そこで怖気づかない人だけが CVS をちゃんと使えてる人なんだろうけど、
                >まぁ自分はいわゆるインタビュー中で言うところの

                ブランチしないんならマージつっても別に何も特別なことはないと思うけどな。
                arch になったからって劇的に改善されるというものではないと思う。
              • 最低限、本家のブランチから派生させた自分用のブランチを一本作るでしょ。 そのブランチと本家の ver.up をマージするって作業を やりたくないって話じゃないの?
              • by Anonymous Coward on 2004年09月30日 7時12分 (#629155)
                ブランチをトランクにマージした後もブランチの 変更を継続する場合のCVSのサポートがとんでもなく お粗末だよね。 ドキュメント読んでも、タグを細かく打てとか 使う側に負担させやがる。 Archはこの状況をstar-mergeでちゃんとサポート してくれるから、こっちはおまかせで全自動でいい。 この魔法は体験してみて損無いと思う。
                親コメント
              • CVS がサポートしてるのは要するにタグだけですよね。
                あとは人間がなんとかする。

                逆にそう割り切っちゃえばそんなもんかなとも思っちゃう。

                Subversion はなんとなく使いたくないなぁと思っていたので将来的には
                こっちに転ぶ方向で考え始めました。
                親コメント
    • > もちろんそういうときの修正というのは自分のところの環境に
      > 特化するためのもので、上流に持ってはいけない類いのものだ。

      自分の場合はローカルにCVSリポジトリを作ってますが、上流への追随についてはitojunさんのKernel hackerのた [itojun.org]
      • > 自分の場合はローカルにCVSリポジトリを作ってますが、
        > 上流への追随についてはitojunさんのKernel hackerのための
        > cvs入門を参考にしています。

        そうそう、更新頻度やプログラム規模は違うけど、
        まさにそういう例ですよ!

        「そういう場合に CVS はすっげぇ分かりにくくて、
        Subversion は CVS から何も進歩してないけど、
        Archならシンプルで分かりやすいよ!」ってのが
        Tom Lord 氏の意見であって(たぶん)、だからこそ使ってみたいわけ。

        ただ、現状では間違いなく導入コストの方が高くつきそうだな…
        --
        # mishimaは本田透先生を熱烈に応援しています
        親コメント
  • by Anonymous Coward on 2004年09月29日 19時11分 (#628933)
    インタビューという言葉を見聞きするたびにスラッシュドットを思いだすのはなぜだろうか。
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...