summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dot/bashrc17
1 files changed, 9 insertions, 8 deletions
diff --git a/dot/bashrc b/dot/bashrc
index c2534bd..19bf544 100644
--- a/dot/bashrc
+++ b/dot/bashrc
@@ -380,12 +380,13 @@ fanspeed()
380 380
381subvolify() 381subvolify()
382{ 382{
383 [ -d "$1" ] || return 383 local path
384 [ -e "$1".subvol~ -o -e "$1".subvol ] && return 1 384 path=$(realpath -e "$1") || return
385 sudo btrfs subvolume create "$1".subvol || return 385 [ -e "$path".subvol~ -o -e "$path".subvol ] && return 1
386 sudo chown --reference="$1" "$1".subvol || return 386 sudo btrfs subvolume create "$path".subvol || return
387 sudo chmod --reference="$1" "$1".subvol || return 387 sudo chown --reference="$path" "$path".subvol || return
388 sudo find "$1" -mindepth 1 -maxdepth 1 -print0 | xargs -0 mv -t "$1".subvol 388 sudo chmod --reference="$path" "$path".subvol || return
389 mv "$1" "$1".subvol~ 389 sudo find "$path" -mindepth 1 -maxdepth 1 -print0 | xargs -0 mv -t "$path".subvol
390 mv "$1".subvol "$1" 390 mv "$path" "$path".subvol~
391 mv "$path".subvol "$path"
391} 392}