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 ....". > >>> + 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 > >