pub fn resolve(home: &str, path: &str) -> String
path on the host, absolute and tidy: ~ and a relative path under home, . and empty parts dropped, .. taken back a level (never above /), no trailing /.
path
~
home
.
..
/