#!/bin/bash file="$1" anno="$file.anno" prev="" export GIT_DIFF_OPTS=-u0 rm $anno touch $anno revs=`git-rev-list HEAD | tac` for rev in $revs; do if [ ! -z "$prev" ]; then git-diff-tree -p $prev $rev $file \ | sed -e "/^--- /p" \ -e "/^+++ /p" \ -e "/^--- /d" \ -e "/^+++ /d" \ -e "s/^-/-$prev /g" \ -e "s/^+/+$rev /g" | patch $anno fi prev=$rev done * gives a warning when the diff is empty * has a problem with "\ No newline at end of file" What I tried to do is to reconstruct the file from the diffs, and prefixing each line with the sha1 of the revision. After further testing, I see that the implementation I provided does not work, because the context is not necessarily from the previous version, but from /a/ previous version. Still the idea should work. So patch needs to ignore the sha1 of the revision. Maybe git-apply can be modified to do this...? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Thu Jun 30 23:55:59 2005
This archive was generated by hypermail 2.1.8 : 2005-06-30 23:56:03 EST