Trac Lightning で自動バックアップ!

目的

毎朝5時に Trac Lightning を自動バックアップし、ZIP 圧縮してファイルサーバへ転送する。

環境

手順

  1. Trac Lightning インストールフォルダ直下にある backup.bat をコピーして auto_backup.bat を作成する。
  2. 9行目と29行目の pause 文を削除する。
  3. 新しく auto_archive.bat を作成する。
    call auto_backup.bat
    
    if not DEFINED TL_ARCHIVE_DIR set TL_ARCHIVE_DIR=%TRAC_LIGHT_HOME%
    if not DEFINED TL_7ZIP set TL_7ZIP="C:\Program Files\7-Zip\7z.exe"
    
    @echo %TL_ARCHIVE_DIR%ディレクトリにアーカイブを作成します。
    @echo 古いアーカイブは削除されます。
    
    
    cd /d "%TL_ARCHIVE_DIR%"
    %TL_7ZIP% a -tzip -mx=9 backup.zip "%TL_BACKUP_DIR%" > backup.log
    
    @echo %TL_BACKUP_DIR%ディレクトリをアーカイブしました。
    
    if not DEFINED TL_ARCHIVE_SERVER set TL_ARCHIVE_SERVER=\\Server\Backup
    
    @echo %TL_ARCHIVE_SERVER%ディレクトリにアーカイブをコピーします。
    
    
    net use %TL_ARCHIVE_SERVER% password /user:user
    copy backup.zip %TL_ARCHIVE_SERVER%
    net use %TL_ARCHIVE_SERVER% /delete
    
    @echo %TL_ARCHIVE_SERVER%ディレクトリにアーカイブをコピーしました。
  4. [コントロールパネル]?[タスク]から、auto_archive.bat をスケジュール化する。

Subversion でのコミット時に「MERGE request failed on …」とエラーが発生する。

現象

TortoiseSVN から追加したドキュメントをコミットをすると、以下の現象が発生する。

  1. リポジトリへのドキュメントの追加が成功したメッセージが表示される。
  2. 続いて、以下のエラーメッセージが表示される。
    エラー: Commit failed (details follow):
    エラー: MERGE request failed on '/svn/SampleProject/LibraryProject'
    エラー: MERGE of '/svn/SampleProject/LibraryProject': 200 OK (http://SVNServer)
  3. Trac のリポジトリブラウザから見ると、ドキュメントの追加には成功している。しかし、ローカルのチェックアウトフォルダはコミット失敗の状態で、リポジトリとローカルのリビジョンの同期が取れていない。
  4. 以降のリポジトリ操作が、更新・コミットともに不可能になる。別フォルダへのチェックアウトは可能。

環境

原因

Trac Lightning 1.7.4 で、環境変数 TL_PROJECT_HOME が追加になっている。これに伴い、hook クリプト(post-commit.bat)が変更になっているが、旧バージョンで作成されたプロジェクト内のスクリプトは自動的に置き換えられていないため。

方法

  1. hook クリプトに独自の修正を加えていないならば、そのままプロジェクトの hooks フォルダにコピーする。
    cp \TracLight\bin\post-commit.bat \TracLight\projects\svn\SampleProject\hooks\
  2. hook クリプトに独自の修正を加えていれば、\TracLight\bin\post-commit.bat を参考にして修正する。

Trac Lightning のアップデート。

先月末から Trac Lightning が立て続けにリリースされていたので、最新版にアップデートすることにした。

環境

手順

  1. [スタート]‐[コントロール パネル]‐[管理ツール]から[サービス]を起動し、Apache 2.2 を選択してから[サービスの停止]ボタンをクリックし、Apache を停止する。
  2. [スタート]‐[プログラム]‐[Trac]から[バックアップ]を起動し、バックアップを取得する。
  3. Trac Lightning をダウンロードする。
  4. インストーラを起動し、インストールする。
    [追加タスクの選択]画面で[Apache の設定を上書きする…]のチェックをはずす。
    Trac Lightning インストールウィザード
  5. インストールが終了したら、PC を再起動する。
  6. http://localhost/ (http://インストールした server/)に接続し、Trac Lightning のトップページが表示されることを確認する。

参照

謝辞

ゴールデンウィークで俺が遊び呆けている間に、大幅なアップデートをかけた Trac Lightning 開発チームの皆さんに、心より感謝します。

Trac プロジェクト一覧で、「File contains no section headers. file: …」とエラーが表示されプロジェクトが開けなくなる。

現象

trac.ini を編集すると、以下の現象が発生する。

  1. Internal Server Error が表示されプロジェクトが参照できない。
  2. プロジェクト一覧で、以下のメッセージが表示される。
    SampleProject: エラー
    (File contains no section headers. file: E:\TracLight\projects\trac\SampleProject\conf\trac.ini, line: 1 '\xef\xbb\xbf# -*- coding: utf-8 -*-\n')

環境

原因

trac.ini を編集したときに[メモ帳]を使用したが、[メモ帳]で Unicode 型式のファイルを保存すると、ファイルの先頭に BOM が自動的に付加される。
Trac が BOM コードをゴミと認識し、trac.ini が破損ファイル扱いになるので、エラーが発生する。

手順

trac.ini を再作成する。

  1. [メモ帳]以外のテキストエディタ(ここでは[秀丸])を使用する。
  2. 既存の trac.ini を開き、内容を全てコピーする。
  3. 新規にファイルを作成し、コピーした内容を貼り付ける。
  4. 貼り付けたファイルを trac.ini として保存する。

注意

BOM が付加されてしまったファイルは、[秀丸]で開いて保存しなおしても BOM は除去されない。

参照

Trac Lightning のインストール。

XAMMP をベースに環境を作ろうと思っていたが、他にもインストールしないといけないものが多いので、おとなしく Trac Lightning で一発セットアップすることにした。

環境

手順

  1. Trac Lightning をダウンロードする。
  2. インストーラを起動し、インストールする。
  3. http://localhost/ (http://インストールした server/)に接続し、Trac Lightning のトップページが表示されることを確認する。

注意

Apache HTTP Server や Python など、Trac Lightning がインストールするソフトウェアがすでに導入されている場合、環境変数などが変更されるおそれがある。

参照

感想

簡単。Trac Lightning 使っちゃうと、一から色々と関連ソフトウェア入れるなんてアホらしくてできないね。