On Mon, 28 Apr 2008 20:13:43 +0100 (BST) Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > > Oh well. Can you suggest how I can extract the changelogs for the > > patches which `git-diff origin...git-ia64' will print out? > > I think you get what you want with > > $ git-log --cherry-pick origin...git-ia64 > > (although I might be wrong on the order of origin and git-ia64). Nope, that still generates thousands of lines of wrongness. It's also very slow, for a non-empty tree: git-log --cherry-pick origin...git-audit-master > /dev/null 50.47s user 0.56s system 99% cpu 51.043 total git-diff origin...git-audit-master > /dev/null 0.35s user 0.02s system 100% cpu 0.369 total weird that it's hundreds of times slower than the corresponding git-diff. he-who-pulls-75-trees would be unhappy. Back to my original problem... >From my old script: doit() { tree=$1 upstream=$2 cd $GIT_TREE git reset --hard "$upstream" git fetch "$tree" || exit 1 git merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null { git_header "$tree" git log --no-merges ORIG_HEAD..FETCH_HEAD git diff --patch-with-stat ORIG_HEAD } >$PULL/$tree.patch { echo DESC echo $tree.patch echo EDESC git_header "$tree" git log --no-merges ORIG_HEAD..FETCH_HEAD } >$PULL/$tree.txt git reset --hard "$upstream" } the `git log' here does what I want. The new version: doit() { tree=$1 upstream=$2 cd $GIT_TREE git reset --hard "$upstream" git fetch "$tree" || exit 1 { git_header "$tree" git log --no-merges $upstream...$tree git diff -p --stat --no-merges $upstream...$tree } >$PULL/$tree.patch { echo DESC echo $tree.patch echo EDESC git_header "$tree" # git log --no-merges $upstream...$tree } >$PULL/$tree.txt git reset --hard "$upstream" } loses the changelogs :( -- 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