パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Linus曰く「Subversionは史上最も無意味なプロジェクト」」記事へのコメント

  • by Anonymous Coward on 2007年12月03日 22時52分 (#1259599)
    Microsoftに金を払ってVisual StudioにVisual SourceSafeを組み合わせて使った。

    1社にOS/言語/開発環境/バージョン管理を全て委ねるのは、非常に問題あるとも思われるが、責任は会社持ちという従業員的立場からすれば楽チンきわまりない。
    オープンソース界隈の「ソフト毎に操作が違う」なんて面倒な事が無くて。
    • Re:一方企業では (スコア:3, 参考になる)

      by kai_kamome (4560) on 2007年12月03日 23時53分 (#1259646) ホームページ 日記
      VSSは実際問題としてディレクトリの共有と排他ロックをしてくれるだけ(差分持ってるけどマージがすべて手動だから意味ない)
      だけだら、管理した気分になって、管理してますというポーズだけ作れて、
      自分達の書いたコードの品質維持に責任持たなくていいなら、すごくお勧め。

      実際なにも管理してないから、品質維持コストゼロ(維持される品質もゼロ)だし。
      --
      wild wild computing
      親コメント
      • by Anonymous Coward
        ああ、VSSはソースコード管理システムであって品質管理システムじゃないです。
        管理システムは単体で使う場合や、他の管理システムと有機的に併用する場合など、
        様々な使い方があって、他の管理システムと組み合わせて使う場合には
        VSSの様なシンプルなものは逆に使い勝手は良いです。

        ソースコード管理システムが下手に機能拡大したものだと逆に使い難くなって
        用途には合いにくい場合が起き易くなりますが、シンプルイズベストというのを
        それなりに実感する場面は多いですね。まあ最終的には用途が全てを決めますが。

        #道具なんぞ使いこなしてなんぼ。
        • by Anonymous Coward
          VSSはシンプルなんじゃなく片手落ちなんだと思う。
          必要最小限の機能じゃなく、機能不足なんだと。

          CVSやSVNがいいとは言わない。
          あれはあれで機能に色々混乱が有るから。

          が、差し引きで考えれば少なくともVSSよりはマシだ。
          • by Anonymous Coward
            俺はVSSの機能で困った事は無いなぁ・・・。
            数千人規模のプロジェクトとかだと困ったりするの?
            • by Anonymous Coward
              いや規模に関係なく困るよ。
              リポジトリ壊れると復旧手段がないから。
              analyzeかけてみ、以前のコードが取り出せなくなってたりする。
              おかげで普段からanalyzeかけてメンテナンスで結構大変。
              本当に管理出来てますか。
              以前のタグでソースをひっぱたら(リポジトリが壊れているらしく)正常にとれないなんてことになってませんか。
              # Windowsファイル共有でリポジトリを共有して操作するのがそもそも駄目なんだろうなぁと思う。

              ローカルPCで個人使用の範囲までではなかろうかと思います。
              MS自身あれの駄目具合を認識していてのTeamSystemなんでなかろうかと。
              • Re:一方企業では (スコア:2, 参考になる)

                by Anonymous Coward on 2007年12月05日 1時06分 (#1260451)
                ># Windowsファイル共有でリポジトリを共有して操作するのがそもそも駄目なんだろうなぁと思う。

                SVNはむしろ「そういう運用でも全然平気だぜ」が最近は売りのひとつらしい。

                かくいう私の職場も、(リポジトリURLの) svn:が旨く動いてくれなかったので file:で運用を開始したが、数年間ぜんぜん問題なく稼動している。

                (少なくともWindowsの)共有フォルダにリポジトリを持ちたければ、

                file://共有ホスト名/共有フォルダ名/以下お好きに/…

                って感じね。

                (スラッシュの数は正にこの通りだから間違えないように。
                特にfile:の直後はスラッシュ2つだ。
                これがローカルフォルダだと file:///c:/xxx/yyy というようにスラッシュ3つになる。
                個人的にはリモートのほうが数が少ないのは直感に反するんだが…まあそれはそれ。)

                (すさまじくオフトピだが、MSYSのbashで共有フォルダにcdする(できるんだなこれが。cmd.exeではできないのに)ときは、同じく //ホスト/共有フォルダ/xxx…)

                今(?)のリポジトリの内部形式であるfsfs型とかいう奴は、ようするに自力でジャーナルファイルシステムもどきをやってるようなものだ。
                リビジョン番号そのまんまがファイル名になってるファイルがリポジトリフォルダの中にはそれぞれ有り、そのファイルが「その回のコミットの情報」すべてを持っている。そして過去リビジョンのファイルは二度と更新されない。いちど作られたらずっとimmutableだ。こんなやりかただから滅多に壊れないぞと。

                欠点としては過去バージョンを一通り舐めないと答えが出せない問い(svn logとか色々)に対する答えが帰ってくるのが遅いって点。だがそのかわり確実性は有る。

                (Win9xで公開したフォルダだって平気だぜとか豪語してるようだ。もっとも9xではOSそのものの確実性のほうがよっぽど不安で全くお勧めできないが。)

                SVNは以前「Apache入れないと運用できないんだぜ」とかいうデマのせいで普及が遅れた時機もあったが、今ではこのfile:ベースで紹介してるWebサイトも結構あり、むしろCVSより導入がずっと楽なんじゃないか?と思ってもらえる(実際そうだし)機会が多くなってる。

                なお、こんなやり方なので、サーバ「プログラム/プロセス」が不要だってのは味噌だ。共有フォルダさえ開けてあればそれで運用できるわけ。何かをインストールする必要は無いんだ。

                しかもトータスSVNとかでは、それ自体の機能で(adminコマンドとか使わず)リポジトリのクリエイトをやらせてくれる。

                こうなってくると導入はすごく楽だ。以前あった書籍の謳い文句じゃないが、普通の人が普通使いできるバックアップツール(?)と呼ぶに値するモノにかなり近づいていると思う。(あとひといき)

                たしかにLinusが求める機能/性能は無いのかも知れない。他にも色々な要望を満たせてないかも知れない。が、その範囲内では、SVNは結構健闘してると思う。機能も性能も。そして「使いやすさ」も。

                少なくとも「Better CVS」という任はそれなりに果たしていると思う。

                あと、ここで読み書きしてるかたがたには釈迦説法だろうが、CVSの概念を綺麗に焼きなおした功績は大きい。混乱しきったCVSの内部モデルを、徹底的にリファイン(リファクタリング??)し、「すべてはコピー」という美しいモデルにまとめたことは、賞賛に値するし、そのぶん今後の拡張性(つまり皆さんが指摘してる機能不足の解消)の可能性も高いと思われる。
                親コメント
              • by Anonymous Coward
                >リポジトリ壊れると復旧手段がないから。

                うちの使い方では壊れたことが無いのでその手の心配はしたことがないですね。
                数年以上運用してる範囲ではその手の苦情が来たことは無いですし。
                もっとも、壊れたところで前日までの状態にならすぐにバックアップから
                戻せますからそんなに支障ありません。規模としては数十人程度ですから
                大きくありませんけど。

                とはいえ、プロジェクト単位で細かく区切って開発を終えたものはフリーズして
                データが大きく・長期化しない様にしてますが。ま、過去のプロジェクトの履歴を
                見る頻度
    • ClearCase (スコア:3, 興味深い)

      by jabirinia (30240) on 2007年12月04日 0時17分 (#1259661)
      有償製品だと、IBMのRational ClearCaseってのもあります。

      ClearCaseはITILでいう「ソフトウェア構成管理」を実装し、「変更管理」製品であるRational ClearQuestと連携できます。

      1.OSの認証情報を使うので、PAM/Unix、ActiveDirectory/Windows環境で、認証に煩わされることなく、大規模展開可能(小規模だとActiveDirectory環境の構築が手間)。
      2.プロセスを複数サーバに分散可能(水平拡張の設計思想)。
      3.地理的に離れている場合は、MultiSiteというエディションで、レプリカ機能を提供。
      4.APIとコマンドラインが充実しているのでシェル化が楽。
      5.トリガという機能でコマンド前後にスクリプトを仕込める。
      6.Eclipse Plug-inが存在するので、EclipseベースのIDEと連携可能。
      7.Antタスクにも要素が用意されているので、サーバビルドをするなら、ビルド/リリースの自動化も可能。同一セグメント上にあって、シェルを書けば、だけど。

      一個も出てないのがかわいそうなので、メリットを紹介しました(裏返すとデメリットでもある)。
      IBM系の開発プロジェクトだと、結構使われているんではなかろうか。
      親コメント
      • Re:ClearCase (スコア:2, 興味深い)

        by Anonymous Coward on 2007年12月04日 1時45分 (#1259710)
        IBM社内でもほとんど使われていませんよ。社内なのに月数万円費用がかかるし、
        機能的にもSubversionと対して変わらない(EclipseプラグインはSubversionより劣る)。
        自分のところではSubversionとCVSがほとんどです。Eclipseとの相性がいいので。
        CCがいいと思ったのはClearQuestとの連携くらいですね。

        ボロクソ言ってるけど金の問題さえ何とかすれば使ってもいいと思うんだけどなぁ。
        本当に融通が利かなくて困る。

        # さすがにAC

        親コメント
      • by adeu (2937) on 2007年12月04日 12時47分 (#1259987)
        いまは月掛けで使用料金がかかるんですねぇ。
        IBMの前のRationalのさらに前のClearCase社が立ち上がった時からのユーザです。
        もちろん会社が、ね。
        でそのClearcase社が立ち上がった時に、無期限のClearCase/Multisiteライセンスを買ったんで
        いまだに保守料金なしで使い続けてますね。なんでもHPなどいくつかの会社でもその無期限
        ライセンスを保持してましたよ。スタートアップ時に出資してたという理由で。
        当時の日本の代理店さんはうちの窓口になるばかりでバージョンアップしてもお金を取れずに
        可哀そうなことをしました。
        親コメント
      • by Anonymous Coward
        jabiriniaさんは本当にCC/CQを今後も使いたいと思って書いてるの?
        それともオープンソースなSCMは使ったこと無いのかな。
    • Re:一方企業では (スコア:3, おもしろおかしい)

      by ich84 (33072) on 2007年12月04日 11時36分 (#1259916)
      実際業務ではVSS使ってますが、VSSは確かに楽ちんなことこの上ないです。

      ・VSSはMSDNのライセンスで使えるので追加投資がない(Windowsでそれなりの規模の開発やってれば、MSDNに入っていると思います)
      ・クライアントはGUI、管理もGUI、初めての人でもクライアントインストールしてもらうだけで簡単に使える、しかもインストールも当然GUI
      ・いちおうCUI操作にも対応しているのでバッチファイルとかに組み込める
      ・天下のMicrosft社製。何か困ったことがあっても、これもMSDNのライセンス内のサポートで全部解決してくれる。
      ・致命的な何かが起きてもMicrosoftが悪いといえば「仕方がない」となる。これがOSSだったりしたら、「選定した奴出て来い、何とかしろ!」となる。
      親コメント
    • by haru (2039) on 2007年12月03日 23時34分 (#1259628) ホームページ 日記
      VSSの使いにくさって異常じゃないですか?
      特にチェックアウトするとロックがかかる仕様には殺意を覚えます
      Microsoftの中の人はホントにこれでプロジェクト管理してるのかなぁ

      Visual Studio 2005ではなんちゃらスイートとかって大規模開発用のも有ったと思うんですがあれってどうですか?

      # 職場じゃ未だVS6なので関係なし
      # ってか自分は6.0で止まってるんで最近のを教えて貰いたかったり
      --
      脳味噌腐乱中…
      親コメント
      • by Anonymous Coward on 2007年12月04日 0時07分 (#1259656)
        使いにくいってUIの話かと思ったら、、

        VSSには多重チェックアウトという設定が昔からあります。
        スキルの低い技術者にはマージは高度な機能として
        既定ではやらなくて済む設定になっているだけです。

        上級者はプロジェクトメンバーのスキルを勘案して
        設定を変えるので問題ありません。

        むしろ私は、CVSに排他チェックアウトがないのか散々さがして
        「CVSつかえねー」って思ったクチです。
        まわりのメンバーのスキル的に不安だったので。
        親コメント
        • by Anonymous Coward
          cvsにも一応排他ロックする仕組みあるよ。ヘルプをよく読もう。
          # ってか、管理粒度がファイル単位で排他ロックで充分なら、
          # rcs使ってみんなで共有ディレクトリつっつけばいいじゃん、古きよき時代のように。
          # ローカルに持ってきて更新する手間が無駄。
          • by Anonymous Coward
            >cvsにも一応排他ロックする仕組みあるよ。ヘルプをよく読もう。
            当時見つけられなかったんです。ありがとう。
            社内のUNIX, Linux使いに聞いても「分からない」だったんで、、

            RCSってのは知らなかったです。
            少し調べてみたけど運用形態までは分かりませんでした。

            VSS等でローカルコピーを作成して編集するのは
            チェックインするまで(あきらかに)不具合があるものを他人に公開しないで済むという
            重要な理由があると思うんだけど、RCSでスムーズに出来るんですか?
            Wikipediaを見る限り、シングルユーザー向けっぽいんですけど、、
            • Re:一方企業では (スコア:1, 参考になる)

              by Anonymous Coward on 2007年12月04日 3時00分 (#1259747)
              > RCS

              複数人で使いたければ、
              リポジトリ(と呼ぶのもなんだが、ようはRCSって名前のディレクトリ)を
              おのおの対応するソースが有るフォルダの下に
              「シンボリックリンクで」置いておけばいい(乱暴にいえば)。
              そういう環境を人数分作ればいい。

              そのためだけにRCSを今更使うのはお勧めしないけどね。
              というかあれはそれこそシングルユーザで、
              「リポジトリなんか作らずに済む気楽さ」を重んじたいときに
              はじめてメリットが有る。

              あとそれこそSVNは最近はロックもサポートしてるようだ。
              デフォだとMIMEタイプごとにロックかマージか決められてる、んだっけかな?
              設定いじればロック対象を増やせる…と思う。
              関心持ったことないので未確認だが。
              いずれにせよバイナリファイルの扱いはCVSよりSVNのほうが数段良いらしいので、
              (そしてテキストも負けてなんかいないので)
              Linusみたいな状況に置かれないかぎりSVNはお勧め。
              親コメント
            • by Anonymous Coward on 2007年12月04日 7時23分 (#1259781)
              >RCSってのは知らなかったです。

              CVSを知っててRCSを知らないとは、時代が変わったものだなぁ(遠い目)

              親コメント
          • by Anonymous Coward
            # ってか、管理粒度がファイル単位で排他ロックで充分なら、 # rcs使ってみんなで共有ディレクトリつっつけばいいじゃん
            そ、それだ!!!
      • by Phork (15003) on 2007年12月04日 0時35分 (#1259675)
        原則として他人が編集中のファイルには手をつけない、マージも使わない、というポリシーで運用しているので、問題ないです。
        というか、逆にロックがかかってくれないと困ります。
        親コメント
      • by Anonymous Coward
        > Microsoftの中の人はホントにこれでプロジェクト管理してるのかなぁ
        もちろんMS社内では別のシステムを使ってますよ。有名な話だと思うけど。
    • by Anonymous Coward
      >責任は会社持ちという従業員的立場

      気楽でいいなあおい。

      こちとら、たしかにこっちも「従業員」ではあるんだが、
      なんかトラブったときは「とにかく!なんとか!しろ!」とドヤされるばかりだ。解決するまで許してなんてくれねぇ。

      つまりトラブルの芽は実質的に自分らに跳ね返ってくる構造。

      良好な開発体制を整えるのは、ほかでもなく保身のためですよ。
      (もちろんそのほうが開発しやすくもあるが。)
      情けは人のためならずって?

      というかそれ以前に、
      例えばソース(リポジトリごと)飛んだら、どうすんだよ?
      飛んだソースは最終的には自分らで書き直させられないのか?
      だったらオメデトウだが、こっちはそうじゃないので、
      お仕着せのバックアップ体制より数倍マシなバックアップを
      (バックアップはべつに重複してても減るもんじゃないから)
      自前でかけてるよ。
    • by Anonymous Coward
      グーグルで使われているといわれるPerforceはどんな感じなのでしょうかね。
      個人では購入できそうにないし、身近に使用している組織もないので、見たことは無いですけど。
      • by Anonymous Coward

        Perforceは2ユーザ/5ワークスペースまでなら無料で好きに使えますよ。ダウンロードするだけ。perforce.com のサイトより:

        You may use software downloaded from Perforce for any purpose you want and for as long as you like, provided no modifications are made to the software. The Perforce Server supports only two users and five client workspaces unless used with a Perforce License .

        あとオープンソースプロジェクトに使う場合は申請すれば無料のライセンスが得られたはず。

        個人的には、少人数でちょこちょこやっている小規模なプロジェクトでは突出したメリットは無いかなあという感じですが。

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

処理中...