2017-01-23 57 views
2

如何列出過去已刪除的Fossil存儲庫的所有文件?如何列出過去已刪除的Fossil存儲庫的所有文件?

我能想到的唯一解決方案是在時間線上爲每個修訂執行ls,以便在排序的輸出上執行diff

有沒有更簡單的方法?

難的方法:

#! /bin/bash 
set -eu 
prev_id= 
fossil timeline -n 0 "[email protected]" | 
sed -n 's/^..:..:.. \[\([0-9a-f]*\)\] .*/\1/p' | 
while read id; do 
    if [ "$prev_id" ]; then 
    diff <(fossil ls -r "$id" "[email protected]"|sort) <(fossil ls -r "$prev_id" "[email protected]"|sort) | 
    egrep '^[<>]' | 
    sed 's/^>/add/;s/^</del/' | 
    sed "s/^/$id /" 
    fi 
    prev_id=$id 
done 

回答

6

您可以使用:

fossil sql "select name from filename" 

列出在資源庫中曾經存在過的所有文件名。

如果你只想要那些不存在的,你必須排除那些出現在fossil ls

相關問題