subversionでバージョン管理をする
subversionとは、
バージョン管理
ソースコード管理
などと解説されています。

 実際PHPによるネットサービスをやったことがあります。前任者が作ったプログラムは素人に毛が生えたようなひどいもの。ソースファイルが100本以上。ひとつの関数がダラダラと500行もあったり可読性などまったくない。要するに関数の機能を定義することなくコピペでどんどん膨らませた。みたいです。こんなスパゲッティ状態のソースに変更や新規機能を実装するのはしんどいです。

 こんなぼろソフトに関わるには開発環境をしっかりしないと膨大な時間と手間がかかります。いろいろ調べてみると、
IDEはnetbeans
が使いやすいのでこれで決定。
netbeansの機能を調べてみるとsubversionが使える。昔出稼ぎの職場でsubversionを使っていました。数名で開発してたので誰がどのファイルを変更した。というのをきちんと把握できないともの凄い混乱が発生します。このような混乱を回避してくれるのがsubversionです。WindowsアプリであるTortoiseSVNを使っていました。しかし、Visual Studioから直に使うことができないのでTortoiseSVNで状況を把握して、それからVisual Studioでソース変更をしていました。(ちょっと面倒くさい。)subversionをnetbeansで使うと、
超便利
でした。これでスパゲッティなソフトを扱うのが楽になりました。

MPLABはnetbeansそのものなのでsubversionを導入すると超便利になるはずです。
subversionで何ができるか
○変更したファイル、変更内容を確認できます。

ピンクの三角は1行削除したマーク。
青の四角は訂正したマーク。
緑の四角は挿入したマーク。
ソース編集画面で記録が表示されるので大変便利です。
また、Historyタブを選ぶと、

より詳細に表示されます。
右が現行ファイル。
左がリポジトリにある変更前のファイルです。
緑の矢印を押すと元に戻せます。
赤のXを押すと挿入した行を削除して元に戻せます。

また、プロジェクト全体で変更になったファイルを表示します。大変便利です。


○古いバージョンに戻すことが簡単!
現行の関数に不具合がありもう一度3つ前のバージョンからやり直したい。この場合バージョンを指定すればその関数を簡単に戻すことができます。

○どんな機能を実装したなどがわかる
何のための変更か?をコメントを見ることによってわかります。

詳しくはHarmonyでのサンプルプログラムで紹介する予定です。
subversionのインストール
 Linux(CentOS5)でsubuversionのインストールは超簡単でした。プログラムの追加/削除ですんなりインストール終了。
 Windowsだとそんな簡単にはいかない。subversionと名の付くソフトは、
TortoiseSVN
SilkSVN
SVNKit
と少なくとも3つあってどれをインストールすれば良いのか?

TortoiseSVNをインストール
コマンドプロンプトでsvnを入力
有効になっていない
アンインストール

SilkSVNをインストール
コマンドプロンプトでsvnを入力
有効になっている
MPLAB X でリポジトリを登録
エラーがでる
アンインストール

SVNKit
zipファイルを解凍する
なんか違うみたいだ

MicrochipのwebではSilkSVNにリンクが張ってあったのでたぶんこれっぽい。
Ecllipseの情報で、「EclipseとSilkSVNのバージョンによって同様のエラーがでる。」とのこと。
前回インストールしたのは、バージョン1.9.7。何がいいのかわからない。とりあえず1つ前のバージョン1.8.9をインストールしてみる。
リポジトリを登録
ができた。

MPLAB X   5.05
SilkSVN  1.8.9
この組み合わせでOK!  (2018/10/15現在)
subversionの基本操作
リポジトリの登録
リポジトリのフォルダを作成
C:\svn
名前は何でもOK。エクスプローラーでもコマンドラインでもいいのでフォルダを作成します。
次はコマンドプロンプトで設定。

my_appは任意。subversionに必要はファイルが作成されています。とりあえずプロジェクトと同じ名前にしておけばわかりやすいと思います。
MPLAB Xでのリポジトリ登録



Repository URLに
file:///C:/svn/led_blink
上記形式で入力します。(led_blinkはプロジェクト名です。前述のsvnadmin create led_blink で作成されています)
[next]ボタンをクリックします。

何かコメントを入力します。
[next]ボタンをクリックします。

ファイルがたくさん出てきます。コミットをする対象のファイルを選択します。あとで選択するしないを設定できるので、何もしないで[finish]ボタンをクリックします。
これでsubversionがつかえるようになった!あとはHarmonyのところで解説する予定です。