Merci, Bendin. J'aime beaucoup votre solution.
Je l'ai modifié pour qu'il fonctionne dans l'ordre inverse, montrant les changements les plus récents en premier. Ce qui est important avec du code de longue date, maintenu sur plusieurs années. J'ai l'habitude de le mettre dans plus.
svnhistory elements.py |more
J'ai ajouté -r au tri. J'ai supprimé la gestion des spécifications pour le 'premier enregistrement'. Il y a une erreur sur la dernière entrée, car il n'y a rien pour la différencier. Mais je m'en accommode car je ne vais jamais jusque là.
#!/bin/bash
# history_of_file
#
# Bendin on Stack Overflow: http://stackoverflow.com/questions/282802
# 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.
#
# Dlink
# Made to work in reverse order
function history_of_file() {
url=$1 # current url of file
svn log -q $url | grep -E -e "^r[[:digit:]]+" -o | cut -c2- | sort -nr | {
while read r
do
echo
svn log -r$r $url@HEAD
svn diff -c$r $url@HEAD
echo
done
}
}
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.