+package main
+
+import (
+ "path"
+ "path/filepath"
+)
+
+func mustAbs(pth string) string {
+ pth, err := filepath.Abs(pth)
+ if err != nil {
+ panic(err)
+ }
+ return pth
+}
+
+func mustRel(basepath, targpath string) string {
+ pth, err := filepath.Rel(basepath, targpath)
+ if err != nil {
+ panic(err)
+ }
+ return pth
+}
+
+func cwdMustRel(paths ...string) string {
+ return mustRel(Cwd, path.Join(paths...))
+}
+
+func cwdAndTgt(tgt string) (string, string) {
+ cwd, tgt := path.Split(tgt)
+ return mustAbs(cwd), tgt
+}