[arch-projects] [ABS] [PATCH 5/6] vcs prototypes: more efficient temp build directories

Linus Arver linusarver at gmail.com
Wed Nov 2 20:52:37 EDT 2011


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"
+  cd ../"$_bzrmod-build"
 
   #
   # BUILD HERE
diff --git a/prototypes/PKGBUILD-darcs.proto b/prototypes/PKGBUILD-darcs.proto
index a55a346..affd2c8 100644
--- a/prototypes/PKGBUILD-darcs.proto
+++ b/prototypes/PKGBUILD-darcs.proto
@@ -45,8 +45,10 @@ build() {
   fi
 
   rm -rf "$_darcsmod-build"
-  cp -r "$_darcsmod" "$_darcsmod-build"
-  cd "$_darcsmod-build"
+  mkdir $_darcsmod-build
+  cd $_darcsmod
+  ls -A | grep -v _darcs | xargs -d '\n' cp -r -t ../"$_darcsmod-build"
+  cd ../"$_darcsmod-build"
 
   msg "Starting build..."
 
diff --git a/prototypes/PKGBUILD-git.proto b/prototypes/PKGBUILD-git.proto
index 88bc76b..75edb8b 100644
--- a/prototypes/PKGBUILD-git.proto
+++ b/prototypes/PKGBUILD-git.proto
@@ -47,8 +47,10 @@ build() {
   msg "Starting build..."
 
   rm -rf "$_gitname-build"
-  git clone "$_gitname" "$_gitname-build"
-  cd "$_gitname-build"
+  mkdir $_gitname-build
+  cd $_gitname
+  ls -A | grep -v .git | xargs -d '\n' cp -r -t ../"$_gitname-build"
+  cd ../"$_gitname-build"
 
   #
   # BUILD HERE
diff --git a/prototypes/PKGBUILD-hg.proto b/prototypes/PKGBUILD-hg.proto
index 6f54af8..8927fbf 100644
--- a/prototypes/PKGBUILD-hg.proto
+++ b/prototypes/PKGBUILD-hg.proto
@@ -47,8 +47,10 @@ build() {
   msg "Starting build..."
 
   rm -rf "$_hgrepo-build"
-  cp -r "$_hgrepo" "$_hgrepo-build"
-  cd "$_hgrepo-build"
+  mkdir $_hgrepo-build
+  cd $_hgrepo
+  ls -A | grep -v .hg | xargs -d '\n' cp -r -t ../"$_hgrepo-build"
+  cd ../"$_hgrepo-build"
 
   #
   # BUILD HERE
-- 
1.7.7.1



More information about the arch-projects mailing list