Re: Untracked working tree files
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-06-15 22:45:29
On Thu, 16 Oct 2008 10:42:13 +0200 "Paolo Ciarrocchi" [off-list ref] wrote:
On Wed, Oct 15, 2008 at 10:23 PM, Andrew Morton [off-list ref] wrote:quoted
On Wed, 15 Oct 2008 13:08:36 -0700 (PDT) Linus Torvalds [off-list ref] wrote:quoted
On Wed, 15 Oct 2008, Andrew Morton wrote:[...]quoted
quoted
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 isHi 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