git-svnでsvnリポジトリの変更を自動で取得する

久しぶりにsvnを触ったら、logの表示やupdateがあまりに遅い。
git-svnを使っても、やっぱりupdateは遅い。

という訳で

勝手にgit svn fetchするようにbat/shを書いてみた。

バッチファイル・スクリプト

標準出力で出してる文字は下記の意味にしてる。

  • - : 待機中
  • > : git-svnのfetch 処理中
  • . : git-svnのfetch 終了

auto_svn_update.bat

@echo off

set LIMIT=600
set SLEEP_EXE="%ProgramFiles(x86)%\Git\bin\sleep.exe"
set GIT_EXE="%ProgramFiles(x86)%\Git\bin\git.exe"

%GIT_EXE% svn fetch
:LOOP
  set /p x="-" < nul
  %SLEEP_EXE% %LIMIT%

  set /p x=">" < nul
  %GIT_EXE% svn fetch
  set /p x="." < nul
goto :LOOP

exit /b 0


auto_svn_update.sh

#!/bin/sh

limit=600

git svn fetch
while :
do
  printf "-"
  sleep $limit

  printf ">"
  git svn fetch
  printf "."
done

後はrebaseするなり、resetするなり、自由自在。