On Fri, Jan 02, 2009 at 02:39:04PM -0500, Jeff King wrote: > If you just want to see the results on some real-world cases (and don't > care about measuring performance), try installing bzr and using their > patiencediff test program as a GIT_EXTERNAL_DIFF. > > On Debian, it's: > > $ sudo apt-get install bzr > $ cat >$HOME/patience <<'EOF' > #!/bin/sh > exec python /usr/share/pyshared/bzrlib/patiencediff.py "$2" "$5" > EOF > $ chmod 755 patience > $ GIT_EXTERNAL_DIFF=$HOME/patience git diff For added fun, try this: -- >8 -- #!/bin/sh canonical() { grep '^[ +-]' | egrep -v '^(---|\+\+\+)' } git rev-list --no-merges HEAD | while read rev; do git diff-tree -p $rev^ $rev | canonical >git.out GIT_EXTERNAL_DIFF=$HOME/patience git diff $rev^ $rev | canonical >bzr.out echo "`diff -U0 git.out bzr.out | wc -l` $rev" done -- 8< -- I'm running it on git.git now. It looks like both algorithms return the same patch for most cases. Some of the differences are interesting, though. For example, f83b9ba209's commit message indicates that it moves the "--format-patch" paragraph. Which is what "git diff" shows. Patience diff shows it as moving other text _around_ that paragraph. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html