diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2011-03-11 21:18:24 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-03-26 09:37:03 +0100 |
commit | aa06caf31cb4bda6c71edd37028f8c8a8d82dba5 (patch) | |
tree | 72448de9d5579dcd49a6e506588dac39e3a2a74c | |
parent | 08a68bb4a02376905be136d3cafb14bc7cbc3098 (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-x | commitpkg | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -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 |