All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org, berrange@redhat.com,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	pbonzini@redhat.com, stefanha@redhat.com,
	"Cleber Rosa" <crosa@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	eblake@redhat.com, "Kamil Rytarowski" <kamil@netbsd.org>
Subject: Re: [Qemu-devel] [PATCH v6 03/12] scripts: Add archive-source.sh
Date: Tue, 12 Sep 2017 08:06:11 +0800	[thread overview]
Message-ID: <20170912000611.GE32341@lemon.lan> (raw)
In-Reply-To: <871sndbbbn.fsf@linaro.org>

On Mon, 09/11 14:43, Alex Bennée wrote:
> 
> Fam Zheng <famz@redhat.com> writes:
> 
> > On Fri, 09/08 15:42, Alex Bennée wrote:
> >>
> >> Fam Zheng <famz@redhat.com> writes:
> >>
> >> > Signed-off-by: Fam Zheng <famz@redhat.com>
> >> > ---
> >> >  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 <famz@redhat.com>
> >> > +#
> >> > +# 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	other threads:[~2017-09-12  0:06 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05  2:11 [Qemu-devel] [PATCH v6 00/12] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 01/12] gitignore: Ignore vm test images Fam Zheng
2017-09-08 14:12   ` Alex Bennée
2017-09-08 23:12     ` Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 02/12] qemu.py: Add "wait()" method Fam Zheng
2017-09-08 14:13   ` Alex Bennée
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 03/12] scripts: Add archive-source.sh Fam Zheng
2017-09-08 14:42   ` Alex Bennée
2017-09-08 23:14     ` Fam Zheng
2017-09-11 13:43       ` Alex Bennée
2017-09-12  0:06         ` Fam Zheng [this message]
2017-09-08 14:56   ` Peter Maydell
2017-09-08 23:13     ` Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 04/12] tests: Add vm test lib Fam Zheng
2017-09-08 15:22   ` Alex Bennée
2017-09-08 23:29     ` Fam Zheng
2017-09-09  1:25       ` Philippe Mathieu-Daudé
2017-09-09  4:10         ` Fam Zheng
2017-09-11 10:44       ` Alex Bennée
2017-09-12  0:10         ` Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 05/12] tests: Add ubuntu.i386 image Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 06/12] tests: Add FreeBSD image Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 07/12] tests: Add NetBSD image Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 08/12] tests: Add OpenBSD image Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 09/12] Makefile: Add rules to run vm tests Fam Zheng
2017-09-05  2:11 ` [Qemu-devel] [PATCH v6 10/12] MAINTAINERS: Add tests/vm entry Fam Zheng
2017-09-05  2:12 ` [Qemu-devel] [PATCH v6 11/12] tests: Add README for vm tests Fam Zheng
2017-09-05  2:12 ` [Qemu-devel] [PATCH v6 12/12] docker: Use archive-source.py Fam Zheng
2017-09-08 16:20 ` [Qemu-devel] [PATCH v6 00/12] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170912000611.GE32341@lemon.lan \
    --to=famz@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=kamil@netbsd.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.