Re: [git pull] drm patches for 2.6.16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 02 2006, Dave Airlie wrote:
> 
> > >
> > > commit 30e2fb188194908e48d3f27a53ccea6740eb1e98
> > > Author: Dave Airlie <airlied@starflyer.(none)>
> > > Date:   Thu Feb 2 19:37:46 2006 +1100
> > >
> > >     sem2mutex: drivers/char/drm/
> > >
> > >     From: Arjan van de Ven <[email protected]>
> >
> > A lot of your commits have this structure.
> >
> > What do you use to apply these emails? It _looks_ like the emails are
> > well-behaved ("From:" at the top), yet your Author: information is wrong
> > and whatever script you used to do it missed it.
> >
> > 		Linus
> >
> 
> I mostly apply the patches + any cleanups (most of the patches I get from
> DRM CVS needs whitespace cleanups - damn X hackers) so I usually just
> write the commit message by hand from the mail when I check the stuff in,
> 
> I don't know of any way when doing hand commits to easily change the
> author without messing with environment variables...

I have a set of really cheasy ag-* git scripts to help with this sort of
thing. This is ag-commit. If you just do ag-commit, it'll use the
defined author/committer. If I need to commit a patch that eg Linus did
(hah, fat chance!), I'll just do ag-commit -a "Linus Torvalds
<[email protected]>". -c is for committer (which I never ended up using,
since that's always me), and you can write the changelog up front as
changelog.txt if you choose (which I never ended up using either).

I'm sure there are better ways, but it works fine for me.


#!/bin/bash

TEMP=`getopt -o a:c: --long a-long:,c-long:: -- "$@"`
eval set -- "$TEMP"

AUTHOR="Jens Axboe"
AUTHOR_EMAIL="[email protected]"
COMMITTER="Jens Axboe"
COMMITTER_EMAIL="[email protected]"

while true; do
	case "$1" in
		-a|--a-long)
			AUTHOR=`echo $2 | cut -d '<' -f 1`
			AUTHOR_EMAIL=`echo $2 | cut -d '<' -f 2 | sed s/">"//g`
			shift 2;;
		-c|--c-long)
			COMMITTER=`echo $2 | cut -d '<' -f 1`
			COMMITTER_EMAIL=`echo $2 | cut -d '<' -f 2 | sed s/">"//g`
			shift 2;;
		--) shift; break;;
		*) echo "error"; exit 1;;
	esac
done

if [ x"$AUTHOR" == 'x' ]; then
	echo bad author
	exit 1
fi
if [ x"$AUTHOR_EMAIL" == 'x' ]; then
	echo bad author email
	exit 1
fi
if [ x"$COMMITTER" == 'x' ]; then
	echo bad committer
	exit 1
fi
if [ x"$COMMITTER_EMAIL" == 'x' ]; then
	echo bad commiter email
	exit 1
fi

GIT_AUTHOR_NAME="$AUTHOR"
GIT_AUTHOR_EMAIL="$AUTHOR_EMAIL"
GIT_COMMITTER_NAME="$COMMITTER"
GIT_COMMITTER_EMAIL="$COMMITTER_EMAIL"

export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL

echo "Committing: $GIT_AUTHOR_NAME/$GIT_AUTHOR_EMAIL, $GIT_COMMITTER_NAME/$GIT_COMMITTER_EMAIL"

#git-commit-tree `git-write-tree` -p $(cat .git/HEAD) < changelog.txt > .git/HEAD

if [ -f changelog.txt ]; then
	git commit -m changelog.txt
	rm -rf changelog.txt
else
	git commit
fi

unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux