diff options
author | Andrew Cady <d@jerkface.net> | 2019-07-23 13:17:41 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2019-07-23 13:17:41 -0400 |
commit | 0d75f1a3e3b64e73b5d3d4bd8618abba5f534a96 (patch) | |
tree | 53476881d91680cdc652d53204b393275d33bf28 /dot/bashrc | |
parent | 6b4a6ffbce738d56a7c91328342cbb51c1c50cfc (diff) |
fix nasty bug in 'subvolify'
If the argument ends in /, it would break.
Diffstat (limited to 'dot/bashrc')
-rw-r--r-- | dot/bashrc | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -380,12 +380,13 @@ fanspeed() | |||
380 | 380 | ||
381 | subvolify() | 381 | subvolify() |
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 | } |