既存のテキストを Git 管理下に置くスクリプト
ちょっと前に書いた、既存の blosxom 用テキスト群から Git リポジトリを作るスクリプト。 git init
したワーキングコピーにドバッとテキストを置いて叩くと、各ファイルの mtime を元にコミット日時を設定して個別にコミットしてくれる。
#!/bin/bash
find . -name \*.txt | sort | while read file; do
time="`stat --format=%Y $file` +0900"
git add $file
env GIT_AUTHOR_DATE="$time" GIT_COMMITTER_DATE="$time" \
git commit -m 'initial revision' $file
done
まぁ、これを書いたきっかけは「テキストを Git 管理できたらナウいんじゃね?」という単なる思いつきで、生の .git を直接データとして見にいく blosxom プラグインもちょっと書いてはみたんだけど、
- 履歴をどうテンプレートに渡して展開するのか
- 標準のテンプレートじゃ無理だろ
- 本当に些細な typo やマークアップの修正も問答無用で更新扱いにするのか
- さらに言えば、その些細な修正の履歴が見えたところで誰得なのか
- diff 見せなきゃ旨味半減だけど、そのインタフェースをどう用意するのか
とか考え始めたらいろいろめんどくさくなったので、きっとこのままお蔵入りだろうな。