On Mon, Aug 31, 2015 at 02:37:43PM +0200, Laurent Vivier wrote: >On 28/08/2015 14:30, Gavin Shan wrote: >> On Fri, Aug 28, 2015 at 01:50:47PM +0200, Laurent Vivier wrote: >>> On 28/08/2015 09:15, Gavin Shan wrote: >>>> This submits changes with formatted commit log while updating Linux >>>> headers using scripts/update-linux-headers.sh. >>>> >>>> Signed-off-by: Gavin Shan <gws...@linux.vnet.ibm.com> >>>> --- >>>> scripts/update-linux-headers.sh | 24 ++++++++++++++++++++++++ >>>> 1 file changed, 24 insertions(+) >>>> >>>> diff --git a/scripts/update-linux-headers.sh >>>> b/scripts/update-linux-headers.sh >>>> index 18daabe..1be02b8 100755 >>>> --- a/scripts/update-linux-headers.sh >>>> +++ b/scripts/update-linux-headers.sh >>>> @@ -63,6 +63,28 @@ cp_virtio() { >>>> fi >>>> } >>>> >>>> +submit_change() { >>>> + from=$1 >>>> + to=$2 >>>> + if ! [ -e $to/include/qemu-common.h ]; then >>>> + echo "$to not QEMU source directory, skip submitting changes" >>>> + exit 3 >>>> + fi >>>> + >>>> + version=$(make -C $from -s kernelversion) >>>> + commit=$(cd $from && git log --oneline -1 | cut -d " " -f 1) >>> >>> it's a detail, but you can use directly: git log --format="%h" -1 >>> >> >> Yeah, I don't need another "cut" here with powerful "git log --format". >> Will adjust in next revision. By the way, it seems one message suggested >> by Peter is still missed, I'll add it: >> >> This commit was created automatically by update-linux-headers.sh. >> >>>> + subject="Synchronize Linux headers from kernel $version" >>>> + message="Synchronize the Linux headers from kernel version $version" >>>> + message=$(echo "$message\n(commit $commit)") >>>> + res=$(cd $to && git commit -qa -m "$subject" -m "$message" -s && echo >>>> $?) >>>> + if [ "$res" = "0" ]; then >>> >>> another detail, but you should be able to do something like: >>> >>> if git commit -C $to -qa -m "$subject" -m "$message" -s ; then >>> >> >> I didn't figure out the option to switch to target directory from the >> manpage. would you mind telling the option? > >in fact, it is "git -C $to commit ....". >
Thanks, Laurent. I'll pick your command in next revision. >> >>>> + echo "Changes submitted successfully" >>>> + else >>>> + echo "Error $res submitting changes" >>>> + exit 4 >>>> + fi >>>> +} >>>> + >>>> # This will pick up non-directories too (eg "Kconfig") but we will >>>> # ignore them in the next loop. >>>> ARCHLIST=$(cd "$linux/arch" && echo *) >>>> @@ -132,3 +154,5 @@ cat <<EOF >>>> >$output/include/standard-headers/linux/if_ether.h >>>> EOF >>>> >>>> rm -rf "$tmpdir" >>>> + >>>> +submit_change "$linux" "$output" >>>> >> Thanks, Gavin