]> git.saurik.com Git - cydia.git/blobdiff - Library/move.sh
Store backup symbols in bins/.
[cydia.git] / Library / move.sh
index 0b9e09d2748eca60202ceea473aee1e327cc90ce..4a15ca711039e23e032041c2067cee251bf24023 100755 (executable)
@@ -2,6 +2,13 @@
 
 shopt -s extglob nullglob
 
+if [[ ${1:0:1} == - ]]; then
+    v=$1
+    shift 1
+else
+    v=
+fi
+
 function df_() {
     free=$(df -B1 "$1")
     free=${free% *%*}
@@ -14,18 +21,18 @@ function mv_() {
     src=$1
 
     mkdir -p /var/stash
-    dst=$(mktemp -d /var/stash/$(basename "${src}").XXXXXX)
+    dst=$(mktemp -d /var/stash/"${src##*/}".XXXXXX)
 
     if [[ -e ${src} ]]; then
         chmod --reference="${src}" "${dst}"
         chown --reference="${src}" "${dst}"
 
-        cp -aT "${src}" "${dst}" || {
+        cp -aT $v "${src}" "${dst}" || {
             rm -rf "${dst}"
             exit 1
         }
 
-        rm -rf "${src}"
+        rm -rf $v "${src}"
     else
         chmod 775 "${dst}"
         chown root.admin "${dst}"
@@ -35,10 +42,10 @@ function mv_() {
 }
 
 function shift_() {
-    dir=$1
+    dir=${1%/}
 
     if [[ -d ${dir} && ! -h ${dir} ]]; then
-        used=$(du -bs "${dir}")
+        used=$(/usr/libexec/cydia/du -bs "${dir}")
         used=${used%%$'\t'*}
         free=$(df_ /var)