目次

verCtrler : 実行ファイルのバージョン管理プログラム

1. 概要

バージョン番号付きで存在する一連の実行ファイルの中から、 特定の一つを選んでバージョン番号なしの リンク/エイリアス を作成することができます。
デスクトップ等にはこのバージョン番号なしの リンク/エイリアス を置いて置くようにすると verCtrler で リンク/エイリアス を設定したプログラムが実行されます。

2. ダウンロード

ほとんど Unix(FreeBSD)上でしかチェックしていませんが、Windows 上でも同様に動いて欲しい。

3. 使い方

3.1 基本的な使い方

verCtrler で、例えば、XafsM2 というプログラムのバージョン管理を行うことを考えます。 この「XafsM2」というバージョン番号が付いていないプログラム名を ここでは「ターゲット名」と呼びます。
ターゲットのこれまでのバージョンが、「ターゲット名 + 何か」(「何か」はなんでも良い)という 名前で保存されていたとします。

これらは全て /home/xafs/bin の中や、/Users/XAFS/XafsM2 の中など どこかにまとめて置かれていることとします。
このとき verCtrl を起動すると次のような window が現れます 1)

これは上記6つのファイルが存在し、管理対象になっていることを表しています。 また、XafsM2 は XafsM2-20200710-1 へのリンクであることも表しています (3行目、「XafsM2」の表示の右に「XafsM2-20200710-1」と表示され、4行目の先頭のチェックボタンにチェックが入っている)。

この状態で、画面左端に並んでいるチェックボックスを押すと、 XafsM2 からのリンク/エイリアスがそのファイルに切り替わります。 これが、verCtrler の基本的な使い方です。

3.2 GUI の詳細

上に示した GUI 画面を順番に説明すると次のようになります。

上の例では、ターゲット名のファイル(XafsM2)がリンク/エイリアスでした。 もし、ターゲット名のファイルが実体の場合には GUI 上では次のような表示になります。

などの点が、先程の例との違いです。 ここで、3行目の「リンク化」というボタンを押すと、今のターゲット名のファイル(XafsM2)が、 『XafsM2-「今日の日付」-「通し番号」』という名前に変更され、XafsM2 はそのファイルへのリンク/エイリアスに変わり 表示は次のようになります。

XafsM2 はリンク/エイリアスに変わったので「リンク化」のボタンは無くなっています。
「リンク化」のボタンを押すのではなく、 どれかのバージョンのファイルを選択した(チェックボタンを押した)場合も XafsM2 は選択したファイルへのリンク/エイリアスに変わります。 次はその様な操作をした時の画面の例です。

3.3 ターゲット名のファイルが存在していなかった場合

verCtrler 起動時にターゲット名のファイルが存在しなかった場合、 日付(ファイルのタイムスタンプ)が最も新しいバージョンに対する リンク/エイリアス としてターゲット名のファイルが作成されます。 (ターゲット名のファイルがもともと存在していた場合は変更されません。)

4. 設定

verCtrler が管理する対象のプログラムは config.cfg で指定します (将来は GUI 上からも指定できるようにするつもりですが、現在は config.cfg で指定しておく必要があります)。

config.cfg の例を次に示します。 ほとんど自明ですが、1行が一つのターゲットの指定になっています。 行の先頭の “Target” というキーワードに続けて、「ターゲット名」「管理対象ディレクトリ/フォルダ」を書いて下さい。 区切りはスペース区切りです。

「管理対象ディレクトリ/フォルダ」は「ターゲット」毎に違っていて構いません。 あるいは、同じ XafsM2 でも、Qt5.14.2 使用版と、Qt5.12.4 使用版が別のフォルダにあるなら、 それを二つ別のターゲットとして書いて構いません (逆に、2つのフォルダにまたがって存在しているファイルをまとめて管理することは今はできません)。

config.cfg
#
# Config File :: version Controler
#
#    2020.07.10 M. Tabuchi
#
 
Target XafsM2         /home/tabuchi/bin
Target testProg       /home/tabuchi/bin
Target testExe        /home/tabuchi/bin
Target colorManager   /home/tabuchi/bin
Target test2exe.exe   /home/tabuchi/bin
Target test3exe       /home/tabuchi/bin.pl
1)
管理対象のフォルダーや、ターゲット名を指定する必要が有りますが、それは後で説明します。