GNU Archが(ry 続き
svnよりbzrが実装楽そう。ってことでbzrで実装してみた。svnレポジトリに対して使いたい場合はbzr-svnで。まだ使い込んでないから問題点とか使い勝手とか不明。
'''bzrだけでbzrtools入れてないと悲惨なことになるので注意。'''
bzr-undo
#/bin/sh if [ ! -f ".undo/rev" ];then mkdir -p .undo echo 0 > .undo/rev fi export REV=`expr \`cat .undo/rev\` + 1` echo $REV > .undo/rev bzr diff -rlast:1 > .undo/rev$REV.diff bzr log -rlast:1 > .undo/rev$REV.log bzr revert -rlast:1 bzr uncommit --force
bzr-redo
#/bin/sh export REV=`cat .undo/rev` bzr ci -m "`cat .undo/rev$REV.log | tail -n 1`" # 手抜き bzr patch .undo/rev$REV.diff rm .undo/rev$REV.* expr $REV - 1 > .undo/rev
ツリーのマージが多分問題。mergeじゃなくてrebase使えってことか?
あと、取得した時/最後にマージした時のrevnoが分からない罠。何か方法はあるはずだが…。