Re: Untracked working tree files
- From
- Andrew Morton <akpm@linux-foundation.org>
- Date
- Oct 16, 2008, 09:32 UTC
- Message-ID
- <20081016023204.8927325a.akpm@linux-foundation.org>
- In-Reply-To
- <4d8e3fd30810160142x36860354ka30375e3d21438ae@mail.gmail.com>
On Thu, 16 Oct 2008 10:42:13 +0200 "Paolo Ciarrocchi" <paolo.ciarrocchi@gmail.com> wrote:
Show 19 quoted lines
> On Wed, Oct 15, 2008 at 10:23 PM, Andrew Morton > <akpm@linux-foundation.org> wrote: > > On Wed, 15 Oct 2008 13:08:36 -0700 (PDT) > > Linus Torvalds <torvalds@linux-foundation.org> 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=$2cd $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