On Thu, 16 Oct 2008 10:42:13 +0200 "Paolo Ciarrocchi" <paolo.ciarrocchi@xxxxxxxxx> wrote: > On Wed, Oct 15, 2008 at 10:23 PM, Andrew Morton > <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, 15 Oct 2008 13:08:36 -0700 (PDT) > > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > >> On Wed, 15 Oct 2008, Andrew Morton wrote: > [...] > >> Is "git checkout -f" part of the scripting? Or "git reset --hard"? > > > > well, this script has been hacked on so many times I'm not sure what > > it does any more. > > > > Presently the main generate-a-diff function is > > > > Hi Andrew, > I was wondering whether you could share the scripts you built on top of git, > you might get some useful suggestions from this list and they could be > inspiration for further improvement in GIT (it just happened with this > thread ;-) oh gee, you don't want to look. It should all be in http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz But really it's just the one script, pull-git-patches, below. That thing's been hacked around so much that I daren't breathe on it. Fortunately as long as Stephen Rothwell is producing linux-next I don't have much need for it any more. #!/bin/sh GIT_TREE=/usr/src/git26 PULL=/usr/src/pull git_header() { tree="$1" echo GIT $(cat .git/refs/heads/$tree) $(cat .git/branches/$tree) echo } # maybe use git clean -dqfx doit() { tree=$1 upstream=$2 cd $GIT_TREE git checkout -f "$upstream" 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" } do_one() { tree=$1 upstream=$2 if [ ! -e $PULL/$tree.patch ] then echo "*** doing $tree, based on $upstream" git branch -D $tree doit $tree $upstream else echo skipping $tree fi } mkdir -p $PULL if [ $1"x" = "-x" ] then exit fi cd $GIT_TREE git checkout -f master cd /usr/src if [ $# == 0 ] then trees=/usr/src/git-trees else trees="$1" fi if [ $# == 2 ] then do_one $1 $2 else while read x do if echo $x | grep '^#.*' > /dev/null then true else do_one $x fi done < $trees fi -- 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