commit:     437fa331a8d9ed4259949e3731b2eab330b69f2a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 16 06:47:46 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Mar  2 08:33:23 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=437fa331

eutils.eclass: More reliable return status for e*_clean functions.

In ecvs_clean, combine the two find commands into one, so that the
exit status of the first one won't be ignored.

Also use find -exec rather then find | xargs, so we don't have to
check the exit status of all commands in the pipeline.

 eclass/eutils.eclass | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 8bbd561015a..0a5bf385358 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -44,8 +44,8 @@ fi
 # internal CVS directories.  Defaults to $PWD.
 ecvs_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf
-       find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf
+       find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
+               -exec rm -rf '{}' +
 }
 
 # @FUNCTION: esvn_clean
@@ -55,7 +55,7 @@ ecvs_clean() {
 # internal Subversion directories.  Defaults to $PWD.
 esvn_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
+       find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
 }
 
 # @FUNCTION: egit_clean
@@ -65,7 +65,7 @@ esvn_clean() {
 # contains internal Git directories.  Defaults to $PWD.
 egit_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.git*' -prune -print0 | xargs -0 rm -rf
+       find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
 }
 
 # @FUNCTION: emktemp

Reply via email to