2017年2月27日月曜日

SVNの更新

SVNの更新をするとき、普通の人はフォルダを右クリックして、コンテキストメニューから更新していると思います。
こんな感じで。


で、毎日、何回も更新しているとフォルダを開いて右クリックするのが面倒になるわけです。

そこで、活躍するのが TortoiseProc.exe のショートカット。
まず、Tortoiseをインストールしたフォルダを開き、コンテキストメニュー「送る」から「デスクトップ(ショートカットを作成)」


作ったショートカットのプロパティを開いて、「リンク先(T):」にコマンドと更新するパスを追加します。
追加するのは
/command:update /path "更新するフォルダ"


これを、ツールバーやランチャーなんかに登録しておけばワンクリックで更新できます。

けれども、しばらくすると、登録されているファイルの数や容量の増加で更新に掛かる時間が長くなってきます。
4K時代の.psdファイルなんか100MB超えはザラですし・・・。
なので、自分の関係するフォルダのみ更新を掛けたくなってくるのです。

そんな時のための更新バッチを考察。
@echo off
title %~n0 %1

set TPROC="C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe"

:: ファイルをD&Dした場合
set PATH_LIST=%1
set COMMAND=%~x1
set COMMAND=%COMMAND:.=%

:: ファイルのD&Dが無かった場合
if ""=="%PATH_LIST%" set PATH_LIST=%~dpn0.update & set COMMAND=update
if not exist %PATH_LIST% echo "%PATH_LIST%" is Not Found. & pause & goto :EOF

:: 更新実行
for /f %%a in (%PATH_LIST%) do echo %COMMAND%: & echo "%%a" & %TPROC% /command:%COMMAND% /path:"%%a"


このバッチファイルと同じフォルダに、バッチファイルと同じ名前で拡張子が.updateというファイルに書かれているファイルやフォルダの更新を行います。

上のバッチファイル名だとtsvnExecution.updateですね。
で、.updateファイルの中身は
D:\myProjects\maya\scripts*D:\myProjects\batch

こんな感じでパスを*でつなげると更新ログが1つにまとまります。

複数行にすると行数分だけログウィンドウが出てきてしまうので要注意です。

追加機能としては、バッチファイルへドラッグアンドドロップするファイルの拡張子にTortoiseのコマンドを指定すれば、ソレを実行するようになっています。
lockとかremoveとかね。

0 件のコメント:

コメントを投稿