Message ID | 1440746120-21577-4-git-send-email-gwshan@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
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 <gwshan@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 > + 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 > + 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" >
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 <gwshan@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? >> + 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
On Fri, Aug 28, 2015 at 10:30:48PM +1000, 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 <gwshan@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? > Maybe you suggested to use something like below? In that case, "$res" can be dropped. if cd $to && git commit -qa -m "$message" -s ; then echo "Changes submitted successfully" else echo "Failure submitting changes" exit 4 fi >>> + 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
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 <gwshan@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 > >
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 <gwshan@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
On Fri, Aug 28, 2015 at 05:15:15PM +1000, 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 <gwshan@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) "git rev-parse HEAD" might be a simpler way to get the current commit id. > + subject="Synchronize Linux headers from kernel $version" > + message="Synchronize the Linux headers from kernel version $version" > + message=$(echo "$message\n(commit $commit)") Might be more readable to use the shell <<EOF syntax to construct the commit message. > + res=$(cd $to && git commit -qa -m "$subject" -m "$message" -s && echo $?) > + if [ "$res" = "0" ]; then > + 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" Obviously this will fail if you run it against an exported qemu source tree, instead of a git tree. I'm not sure if that's a problem.
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) + 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 + 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"
This submits changes with formatted commit log while updating Linux headers using scripts/update-linux-headers.sh. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> --- scripts/update-linux-headers.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)