TortoiseSVN には SubWCRev というツールが付属しています。
ソースコード中のキーワード文字列をリビジョン番号で置換できるようです。(アプリの about ダイアログにリビジョン番号を表示とか)
ヘルプに目を通していると COM インターフェースが提供されていて javascript のサンプルが載っていました。
思い立ったが吉日、秀丸マクロに書き直してみました。
マニュアル
オフライン
「Subversion クライアント for Windows」の日本語ヘルプ
「第5章 SubWCRev プログラム」を参照
オンライン
第5章 SubWCRev プログラム
http://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/tsvn-subwcrev.html
マニュアル付属のサンプル
一部抜粋して引用。
// testCOM.js - javascript file // test script for the SubWCRev COM/Automation-object filesystem = new ActiveXObject("Scripting.FileSystemObject"); revObject1 = new ActiveXObject("SubWCRev.object"); revObject1.GetWCInfo(filesystem.GetAbsolutePathName("d:\\my_app\\trunk"), 1, 1); wcInfoString1 = "Revision = " + revObject1.Revision + "\nMin Revision = " + revObject1.MinRev + "\nMax Revision = " + revObject1.MaxRev + "\nDate = " + revObject1.Date + "\nURL = " + revObject1.Url + "\nAuthor = " + revObject1.Author + "\nHasMods = " + revObject1.HasModifications + "\nIsSvnItem = " + revObject1.IsSvnItem + "\nNeedsLocking = " + revObject1.NeedsLocking + "\nIsLocked = " + revObject1.IsLocked + "\nLockCreationDate = " + revObject1.LockCreationDate + "\nLockOwner = " + revObject1.LockOwner + "\nLockComment = " + revObject1.LockComment; WScript.Echo(wcInfoString1);
秀丸マクロ版
//秀丸マクロ版。 #filesystem = createobject("Scripting.FileSystemObject"); #revObject1 = createobject("SubWCRev.object"); //ファイル名、又は、ディレクトリ名 $abs_path = callmethod_returnstr(#filesystem, "GetAbsolutePathName", "d:\\my_app\\trunk"); callmethod #revObject1, "GetWCInfo", $abs_path, 1, 1; $wcInfoString1 = "Revision = " + str(getpropnum(#revObject1, "Revision")) + "\nMin Revision = " + str(getpropnum(#revObject1, "MinRev")) + "\nMax Revision = " + str(getpropnum(#revObject1, "MaxRev")) + "\nDate = " + getpropstr(#revObject1, "Date") + "\nURL = " + getpropstr(#revObject1, "Url") + "\nAuthor = " + getpropstr(#revObject1, "Author") + "\nHasMods = " + str(getpropnum(#revObject1, "HasModifications")) + "\nIsSvnItem = " + str(getpropnum(#revObject1, "IsSvnItem ")) + "\nNeedsLocking = " + str(getpropnum(#revObject1, "NeedsLocking ")) + "\nIsLocked = " + str(getpropnum(#revObject1, "IsLocked ")) + "\nLockCreationDate = " + getpropstr(#revObject1, "LockCreationDate") + "\nLockOwner = " + getpropstr(#revObject1, "LockOwner") + "\nLockComment = " + getpropstr(#revObject1, "LockComment"); message($wcInfoString1); releaseobject #revObject1;
まとめ
ダイアログが起動しないため融通が利きそうですが、
「ファイル名とリビジョン」の一覧表(CSV)を作るくらいしか用途が思いつきません。