Il n'y a pas de commande intégrée pour cela, donc je fais généralement quelque chose comme ça :
#!/bin/bash
# history_of_file
#
# Outputs the full history of a given file as a sequence of
# logentry/diff pairs. The first revision of the file is emitted as
# full text since there's not previous version to compare it to.
function history_of_file() {
url=$1 # current url of file
svn log -q $url | grep -E -e "^r[[:digit:]]+" -o | cut -c2- | sort -n | {
# first revision as full text
echo
read r
svn log -r$r $url@HEAD
svn cat -r$r $url@HEAD
echo
# remaining revisions as differences to previous revision
while read r
do
echo
svn log -r$r $url@HEAD
svn diff -c$r $url@HEAD
echo
done
}
}
Ensuite, vous pouvez l'appeler avec :
history_of_file $1
16 votes
Il est caché dans la commande étrangement nommée "blame".
6 votes
Je pensais que @goosemanjack plaisantait, jusqu'à ce que je l'essaie.