qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 03/12] scripts: Add archive-source.sh


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v6 03/12] scripts: Add archive-source.sh
Date: Tue, 12 Sep 2017 08:06:11 +0800
User-agent: Mutt/1.8.3 (2017-05-23)

On Mon, 09/11 14:43, Alex Bennée wrote:
> 
> Fam Zheng <address@hidden> writes:
> 
> > On Fri, 09/08 15:42, Alex Bennée wrote:
> >>
> >> Fam Zheng <address@hidden> writes:
> >>
> >> > Signed-off-by: Fam Zheng <address@hidden>
> >> > ---
> >> >  scripts/archive-source.sh | 31 +++++++++++++++++++++++++++++++
> >> >  1 file changed, 31 insertions(+)
> >> >  create mode 100755 scripts/archive-source.sh
> >> >
> >> > diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> >> > new file mode 100755
> >> > index 0000000000..3cae7f34d3
> >> > --- /dev/null
> >> > +++ b/scripts/archive-source.sh
> >> > @@ -0,0 +1,31 @@
> >> > +#!/bin/sh
> >> > +#
> >> > +# Author: Fam Zheng <address@hidden>
> >> > +#
> >> > +# Create archive of source tree, including submodules
> >> > +#
> >> > +# This work is licensed under the terms of the GNU GPL, version 2.
> >> > +# See the COPYING file in the top-level directory.
> >> > +
> >> > +set -e
> >> > +
> >> > +if test $# -lt 1; then
> >> > +    echo "Usage: $0 <output>"
> >>
> >> Maybe <output tarball> to make it clear what it creates?
> >
> > OK.
> >
> >>
> >> > +    exit 1
> >> > +fi
> >> > +
> >> > +submodules=$(git submodule foreach --recursive --quiet 'echo $name')
> >> > +
> >> > +if test -n "$submodules"; then
> >> > +    {
> >> > +        git ls-files
> >>
> >> Couldn't we do the main git ls-files first and then append the data for
> >> any submodules?
> >
> > Isn't that exactly what we are doing now?
> 
> I mean hoist the git ls-files out of the if so we can avoid repeating
> with an else leg. e.g.
> 
>   git ls-files > $1.list

The output of top "git ls-files" has to be filtered by grep if the submodules
list is non-empty, so we cannot save LoC by hoisting.

Fam

>   if test -n "$submodules"; then
>   {
>     .. the rest..
>   } | grep -x -v $(for sm in $submodules; do echo "-e $sm"; done) >> $1.list
> 
> >
> > Fam
> >
> >>
> >> > +        for sm in $submodules; do
> >> > +            (cd $sm; git ls-files) | sed "s:^:$sm/:"
> >> > +        done
> >> > +    } | grep -x -v $(for sm in $submodules; do echo "-e $sm"; done) > 
> >> > $1.list
> >> > +else
> >> > +    git ls-files > $1.list
> >> > +fi
> >> > +
> >> > +tar -cf $1 -T $1.list
> >> > +rm $1.list
> >>
> >>
> >> --
> >> Alex Bennée
> 
> 
> --
> Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]