diff options
author | Bryan Drewery <bryan@shatow.net> | 2014-04-19 04:05:07 +0400 |
---|---|---|
committer | Bryan Drewery <bryan@shatow.net> | 2014-04-19 04:05:07 +0400 |
commit | df914777d824fd6fe21c077e7a61556d8beb601b (patch) | |
tree | d48c3bd049c8bd2efc7f445bc66ed25aee44e185 /src/share | |
parent | 75467995c4ff73f44c33c10f0982a5399974b9a8 (diff) |
Leftovers: Fix losing some changes
Reported by: antoine
MFH
Diffstat (limited to 'src/share')
-rwxr-xr-x | src/share/poudriere/common.sh | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh index 57222db2..ad3c4d2f 100755 --- a/src/share/poudriere/common.sh +++ b/src/share/poudriere/common.sh @@ -1311,6 +1311,16 @@ check_leftovers() { changed= while :; do read_again=0 + + # Handle leftover read from changed paths + case ${l} in + *extra|*missing|extra:*|*changed|*:*) + if [ -n "${changed}" ]; then + echo "${changed}" + changed= + fi + ;; + esac case ${l} in *extra) if [ -d ${mnt}/${l% *} ]; then @@ -1335,7 +1345,7 @@ check_leftovers() { fi ;; *:*) - changed="M ${mnt}/${l%:*}" + changed="M ${mnt}/${l%:*} ${l#*:}" read_again=1 ;; *) @@ -1343,11 +1353,8 @@ check_leftovers() { read_again=1 ;; esac - if [ ${read_again} -eq 1 ]; then - # Need to read again to find all changes - read l || break - continue - fi + # Need to read again to find all changes + [ ${read_again} -eq 1 ] && read l && continue [ -n "${changed}" ] && echo "${changed}" break done |