m個ってなってるのは数えるのが面倒だからです。
別の記事にねじ込んでたので、分離しました。
開発の現場ではバージョン管理ツールは使ってるだろうと思いますが、
「創業当時からのsubversionです」ってところが殆どでしょう。
しかし、subversionは幾つかの明確な問題があり、
業務に支障を来す恐れがあります。
実際に、今小生は出稼ぎにいっている職場では、
支障を来しています。
以上の大きなデメリットが、僅かなメリットを凌駕します。
一応、「僅かなメリット」も書いておきましょう。
一方、分散バージョン管理は、自前でリポジトリを持つため、ローカルOSのファイル名キャラクタセットとは無縁では居られません。小生もちょっと考えたけど思いつきませんし。
別の記事にねじ込んでたので、分離しました。
開発の現場ではバージョン管理ツールは使ってるだろうと思いますが、
「創業当時からのsubversionです」ってところが殆どでしょう。
しかし、subversionは幾つかの明確な問題があり、
業務に支障を来す恐れがあります。
実際に、今小生は出稼ぎにいっている職場では、
支障を来しています。
- 設置面
 - 「サーバ」が必ず必要。
 - C++による実装のため、ソースから設置は面倒くさい。
 - rpmアルよ
 - 知ってるよ。ってCentOSだと古かったり、組み合わせるバグトラックシステムが古かったりとか色々。小生はubuntuだから比較的新しいけど。使ってないけど。
 - 運用面では
 - ローカルコピーでもかなり遅い。→実測しました。
 - さらにHTTP経由だと更に遅い
 - そのために、.svnディレクトリに、巨大なキャッシュファイルを置いている。
 - 迂闊にディレクトリコピーしようとすると、.svnを上書きしちゃって、ややこしいことに。
 - .svnを削除してからコピー、って※ツールの癖に手間を増やすな
 - 遠隔地にコピーしようとすると、絶望的な時間を要する。
 - .svnを削除してからscp/ftp、って※ツールの癖に手間を増やすな
 - apacheモジュールサーバの場合だと、リポジトリを破損する可能性が高い。
 - 実績&経験を踏まえると、20MB以上のサイズのバイナリを扱うと、壊れる可能性が飛躍的にあがる
 - リポジトリを破損しても
 - 次のリビジョンをcommit出来てしまう。
 - 修復する手段が少ない。
 - しかもsvndumpは壊れたリビジョンに引っかかると異常終了する。
 - 信頼性皆無
 - ブランチの実装がヘボイ。
 - branchって掘ってコピーして使ってね♪とか意味判らん。※ツールの癖に手間を増やすな
 - マージの実装がヘボイ。殆ど手伝ってくれない。マージ対象バージョンを必ず人間が指定する、って ※ツールの癖に手間を増やすな
 
以上の大きなデメリットが、僅かなメリットを凌駕します。
一応、「僅かなメリット」も書いておきましょう。
- 複数種類のOSで、相互に日本語ファイル名を交換できる。
 
一方、分散バージョン管理は、自前でリポジトリを持つため、ローカルOSのファイル名キャラクタセットとは無縁では居られません。小生もちょっと考えたけど思いつきませんし。