[arch-projects] [ABS] [PATCH 5/6] vcs prototypes: more efficient temp build directories
Linus Arver
linusarver at gmail.com
Wed Nov 2 22:13:48 EDT 2011
On Wed, Nov 02, 2011 at 09:03:37PM -0400, Dave Reisner wrote:
> On Wed, Nov 02, 2011 at 05:52:37PM -0700, Linus Arver wrote:
> > The bzr, darcs, git, and hg version control systems use a single
> > internal folder at the root to store all VCS-related data (commits,
> > history, etc.). This folder can get quite large (hundreds of MiB) for
> > big projects and continues to grow as the project lives on.
> >
> > We exclude this folder when creating a temporary build directory to save
> > time and space.
> >
> > CVS and SVN pollute the source repo with "CVS" and ".svn" directories
> > recursively for every single directory, so there is no simple one-liner
> > solution to exclude the VCS data for these systems.
> >
> > Signed-off-by: Linus Arver <linusarver at gmail.com>
> > ---
> > prototypes/PKGBUILD-bzr.proto | 6 ++++--
> > prototypes/PKGBUILD-darcs.proto | 6 ++++--
> > prototypes/PKGBUILD-git.proto | 6 ++++--
> > prototypes/PKGBUILD-hg.proto | 6 ++++--
> > 4 files changed, 16 insertions(+), 8 deletions(-)
> >
> > diff --git a/prototypes/PKGBUILD-bzr.proto b/prototypes/PKGBUILD-bzr.proto
> > index a01eea8..ef7187d 100644
> > --- a/prototypes/PKGBUILD-bzr.proto
> > +++ b/prototypes/PKGBUILD-bzr.proto
> > @@ -47,8 +47,10 @@ build() {
> > msg "Starting build..."
> >
> > rm -rf "$_bzrmod-build"
> > - cp -r "$_bzrmod" "$_bzrmod-build"
> > - cd "$_bzrmod-build"
> > + mkdir $_bzrmod-build
> > + cd $_bzrmod
> > + ls -A | grep -v .bzr | xargs -d '\n' cp -r -t ../"$_bzrmod-build"
>
> Oh hell no. We are not parsing ls here. This can be done without the
> need for grep and findutils as well, e.g.
>
> mkdir "$_bzrmod-build"
> cp -a "$_bzrmod"/!(.bzr) "$_bzrmod-build"
>
> Note the proper quoting here, too, that you've stripped.
Hmm, I just did some tests, but the "!(.bzr)" syntax that you used gives
me a parse error.
More information about the arch-projects
mailing list