Subversionのマージは使いづらい

最近はGitHubやBitBucketをはじめとした分散型バージョン管理システムが出回るようになり、多くのプロジェクトでGitやMercurialなどの分散型バージョン管理システムでバージョン管理がなされるようになっているようだ。それを考えると、集中型バージョン管理システムの代表であるSubversionがいかに使いづらいかを感じさせられた。特にマージはかなり難儀した。

Subversionにおけるマージは、基本的には現在のワークコピーから他のリポジトリーからマージするという形態なのだが、これはマージするときにコミットしていない状態でマージできてしまうという致命的な問題を抱えており、万一競合がひどくて断念することになった場合、コミットしていない修正もお陀仏になってしまう。故にSubversionのマージは安全とは言えなかった。

一方、Girではマージを行う際は必ずコミットが完了している必要があり、万一競合がひどくて断念しなければならない事態になったとしても、リセットで戻すことができる。もっとも、ローカルにもリポジトリーを保持する関係上、データは肥大化する傾向にあるが。

もしSubversionを使っていて、マージに難儀しているようであれば、是非ともGitへの移行を勧めたい。特にマージが多いプロジェクトではかなり利便性が上がるので、是非とも試してみると良いだろう。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。
スポンサーリンク

フォローする