2017-01-23 5 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.