如何列出过去已被删除的Fossil存储库的所有文件?

cev*_*ing 2 bash fossil

如何列出过去已被删除的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
Run Code Online (Sandbox Code Playgroud)

Rei*_*nds 6

您可以使用:

fossil sql "select name from filename"
Run Code Online (Sandbox Code Playgroud)

列出存储库中曾存在的所有文件名.

如果您只想要那些不存在的那些,则必须排除那些显示的内容fossil ls.