バージョン管理」カテゴリーアーカイブ

Git と Subversion 2大バージョン管理システムのクライアントツール解説

qw

こんにちは、あなたの開発チームはどちらのバージョン管理システムを利用していますか。
Git でしょうか? Subversionでしょうか?

最近利用を開始したユーザーからは分散バージョン管理システムである「Git」「Mercurial」の利用やお問い合わせを頂きます。tracpath のサービス開始時は、Subversion のみに対応していたためSubversionを利用しているプロジェクトが圧倒的に多いのが現状です。

 

では、クライアントツールはどうでしょうか。

 

LinuxやCUIに慣れたユーザーは、Git,Subversionをすべてコマンドラインで操作した方が分かりやすいし、何よりも操作性、処理速度が速いという意見があり、クライアントツールとして利用します。

 

「ターミナル(コマンドライン)があればほとんど他のツールはいらない・・・」

開発者は毎日ソースコードにアクセスするためにバージョン管理システムを利用する事になります。

使い慣れたツールがもっとも開発効率が高くなるため新しく分かりやすいツールがリリースされても移ることは少ないと思います。

 

でも、初心者やバージョン管理システムを使い始めたばかりのユーザにとって、GUIを持つアプリケーションの使い勝手はとても良く、多くの便利な機能と視覚的なサポートがあり利用する人を増やしています。

 

結局、どのようなツールを使うかではなく、「何を開発するのか」「ツールで目的が達成できるのか」が重要になってくると考えます。

 

これからバージョン管理を使ってみようと思っている方を対象に、Gitのクライアントツールで有名な「TortoiseGit」と「Git Extensions」を使ったバージョン管理の基礎勉強(チュートリアル)とSubversionのクライアントツールで有名な「TortoiseSVN」の基礎勉強(チュートリアル)を紹介します。

 

このチュートリアルをレッスン1から実行することで、基本的なバージョン管理の機能を試すことが出来ます。チュートリアルは30分〜1時間くらいですが膨大なマニュアルを読む前に仕組みを把握することが出来ますのでぜひ挑戦してください。

 

Subversion:TortoiseSVN

TortoiseSVN の基礎勉強 ~ TortoiseSVN によるバージョン管理 ~

Git:TortoiseGit

TortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~

Git:Git Extensions

Git Extensions の基礎勉強 ~ Git Extensions によるバージョン管理 ~

 
 

CVS リポジトリを SVN や Git に移行する方法

 

こんにちは、皆様はバージョン管理ソフトウェアとして何を使っていますか。

tracpath はエンタープライズ向けの利用者が多く、Subversion がトップでその次が Git の利用者が多くなっています。

 

組込みシステム開発の現場

 

組込みシステム開発のお客様の中で何十年と開発が継続している製品のバージョン管理ソフトウェアとして、「CVS」を利用されているお客様がいらっしゃいます。

 新しいプロジェクトは tracpath の Subversion 環境をご利用頂いていますが、過去から継続している CVS プロジェクトだけはできない理由があるようです。担当者としては新しいバージョン管理の優れた機能を利用したいため「Subversion」や「Git」を使いたいと声をあげるのですが、管理側からは

「膨大なCVSリポジトリを他のリポジトリに移行(変換)したとき、だれも品質を保証してくれない」

という理由でなかなか踏み切れないと聞いたことがあります。

 

この問題以外にもバージョン管理システムを切り替えるリスクは存在しています。

 

まずは新規プロジェクトで新しいバージョン管理サービスを利用して徐々に移行することをオススメしています。

バージョン管理の初心者用コンテンツ

 

今回は、初心者向けに「CVS リポジトリを別のリポジトリに移行する方法」「SVN/Git/Mercurial リポジトリを別のリポジトリに移行する方法」の記事を公開しました。

リポジトリの変換用のツールも提供されており比較的簡単に移行できることがおわかりだと思います。

エンタープライズ向けの大規模なリポジトリの移行サービスを行っておりますのでまずはこちらよりご相談ください。

 

リポジトリ変換方法まとめ

 

移行先リポジトリ
移行元リポジトリ CVS SVN Git Hg
CVS n/a cvs2svn
一括変換
cvs2git
一括変換
hg convert
逐次変換
SVN manual
手動変換
n/a git-svn
一括変換
hg convert
逐次変換
Git manual
手動変換
manual
手動変換
n/a hg convert
逐次変換
Hg manual
手動変換
manual
手動変換
manual
手動変換
n/a

表中の各項目は、上から順に使用するコマンド、変換方法、難易度を表しています。

コマンド cvs2svn CVS→SVNリポジトリ変換コマンド
cvs2git CVS→Gitリポジトリ変換コマンド
git-svn SVN→Gitリポジトリ変換コマンド
hg convert Mercurial拡張コマンド
manual 移行元、移行先のバージョン管理ソフトウエアのcheckout/importコマンド
変換方法 一括変換 移行元のリポジトリを全て一括変換できる。
逐次変換 移行元のリポジトリを個別に変換できる。
手動変換 移行元のリポジトリをチェックアウトして、移行先にインポートする。
難易度 簡単に変換できる。
少し手間が掛かるが、変換できる。
変換が不安定なことが多い。

詳しい説明は以下のサイトで説明していますのでご覧下さい。「CVS リポジトリを別のリポジトリに移行する方法」「SVN/Git/Mercurial リポジトリを別のリポジトリに移行する方法

 

構成管理の基本

 

こんにちは、tracpath の重要な機能にソースコードの構成管理(バージョン管理)機能があります。
tracpath のバージョン管理機能は、Subversion(SVN) / Git / Mercurial を利用する事が出来ます。

あなたのチームでバージョン管理ソフトウェアを利用されている方もこれから利用を検討している方も参考になる記事を公開しました。

バージョン管理の歴史はそれなりに古く、RCS(Rivision Control System)が1982年に登場してから、30年余りが経過しています。オープンソースソフトウエア(OSS)の Apache Project や、FreeBSD Project などを中心にさまざまなバージョン管理ソフトウエアが開発されています。ソースコード管理に最適なバージョン管理ソフトウエアとして有名なソフトウェアのインストールから基本的な使い方を説明しています。

構成管理の基本

エンタープライズでもよく利用される4つのバージョン管理システムについてインストールから基本的な使い方を説明しています。自分にとって使い易いツールを見つけてください。
あなたのソフトウェア開発にとって必ず必要なバージョン管理システムの理解になればと思います。

  1. ソースコード管理に最適!バージョン管理ソフトウエアとは ~ 基礎学習 ~
  2. 「CVS編」バージョン管理システムを使ってみる
  3. 「Subversion編」バージョン管理システムを使ってみる
  4. 「Git編」バージョン管理システムを使ってみる
  5. 「Mercurial編」バージョン管理システムを使ってみる

CVS(Concurrent Versions System)

項目 説明
開発元 The CVS Team
最新版 1.11.23 / 2008年5月8日
最新評価版 1.12.13 / 2006年7月26日
プログラミング言語 C
対応OS UNIX系、Windows
種別 バージョン管理システム
ライセンス GPL
公式サイト http://www.nongnu.org/cvs

ref:WikipediaのCVS

Apache Subversion(SVN)

項目 説明
開発元 Apacheソフトウェア財団
初版 2000年10月20日(13年前)
最新版 1.8.1 / 2013年07月24日(4か月前)
対応OS クロスプラットフォーム
種別 バージョン管理システム
ライセンス Apache License
公式サイト subversion.apache.org

ref:Wikipedia:Apache Subversion

Git

項目 説明
開発元 濱野純, リーナス・トーバルズ, ほか多数
初版 2005年12月21日(7年前)
最新版 1.8.4.3 – 2013年11月8日
プログラミング言語 C, Bourne Shell, Tcl, Perl
対応OS Unix系, Linux, Windows
種別 バージョン管理システム
ライセンス GNU General Public License バージョン2
公式サイト git-scm.com

ref:Wikipedia:Git

Mercurial

項目 説明
開発元 Matt Mackall
初版 2005年04月19日(8年前)
最新版 2.8 / 2013年11月1日(36日前)
プログラミング言語 Python, C
対応OS クロスプラットフォーム
種別 バージョン管理システム
ライセンス GPL v2
公式サイト mercurial.selenic.com

ref:Wikipedia:Mercurial