【发布时间】:2017-06-07 18:22:34
【问题描述】:
如何列出一个 Fossil 存储库的所有文件,这些文件过去已被删除?
我能想到的唯一解决方案是为时间轴中的每个修订版执行ls,以便在排序输出上执行diff。
有没有更简单的方法?
艰难的道路:
#! /bin/bash
set -eu
prev_id=
fossil timeline -n 0 "$@" |
sed -n 's/^..:..:.. \[\([0-9a-f]*\)\] .*/\1/p' |
while read id; do
if [ "$prev_id" ]; then
diff <(fossil ls -r "$id" "$@"|sort) <(fossil ls -r "$prev_id" "$@"|sort) |
egrep '^[<>]' |
sed 's/^>/add/;s/^</del/' |
sed "s/^/$id /"
fi
prev_id=$id
done
【问题讨论】: