summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2011-03-11 21:18:24 +0100
committerPierre Schmitz <pierre@archlinux.de>2011-03-26 09:37:03 +0100
commitaa06caf31cb4bda6c71edd37028f8c8a8d82dba5 (patch)
tree72448de9d5579dcd49a6e506588dac39e3a2a74c
parent08a68bb4a02376905be136d3cafb14bc7cbc3098 (diff)
Abort properly if source files are not under version control (FS#23122).
Remove superfluous subshell code from version control checks in commitpkg, making it exit properly if source files are not under version control. Also, improve correctness of sed(1) commands and use fgrep(1) instead of grep(1) where appropriate. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
-rwxr-xr-xcommitpkg14
1 files changed, 7 insertions, 7 deletions
diff --git a/commitpkg b/commitpkg
index 7ad1433..37faba7 100755
--- a/commitpkg
+++ b/commitpkg
@@ -85,23 +85,23 @@ else
fi
# check if all local source files are under version control
-(for s in ${source[@]}; do
- echo $s | grep -vq '://' && \
- svn status $s | grep -q '?' && \
+for s in ${source[@]}; do
+ echo $s | grep -Fvq '://' && \
+ svn status $s | grep -q '^\?' && \
abort "$s is not under version control"
-done) || true
+done
# check if changelog and install files are under version control
-(for i in 'changelog' 'install'; do
+for i in 'changelog' 'install'; do
filelist=$(sed -n "s/^[[:space:]]*$i=//p" PKGBUILD)
for file in $filelist; do
# evaluate any bash variables used
eval file=${file}
- if svn status ${file} | grep -q '?'; then
+ if svn status ${file} | grep -q '^\?'; then
abort "${file} is not under version control"
fi
done
-done) || true
+done
# see if any limit options were passed, we'll send them to rsync
unset rsyncopts