]> Cypherpunks.ru repositories - goredo.git/blobdiff - main.go
Import tests from apenwarr/redo and redo.sh
[goredo.git] / main.go
diff --git a/main.go b/main.go
index e066f443f55f190b279abbe4991006c4a444389b..9df1bc2bfb10f2807aa5c1fe9855a7430d440aa5 100644 (file)
--- a/main.go
+++ b/main.go
@@ -187,10 +187,12 @@ func main() {
        }
        statusInit()
 
-       tgts := flag.Args()
-       if len(tgts) == 0 {
-               tgts = []string{"all"}
+       for i, tgt := range tgts {
+               if path.IsAbs(tgt) {
+                       tgts[i] = cwdMustRel(tgt)
+               }
        }
+
        ok := true
        err = nil
        cmdName := path.Base(os.Args[0])
@@ -259,6 +261,7 @@ CmdSwitch:
                }
                os.Remove(fdTmp.Name())
                cwd, tgt := cwdAndTgt(tgts[0])
+               cwdRel := cwdMustRel(cwd)
                doFile, upLevels, err := findDo(fdTmp, cwd, tgt)
                if err != nil {
                        break
@@ -281,7 +284,7 @@ CmdSwitch:
                if doFile == "" {
                        ok = false
                } else {
-                       fmt.Println(path.Join(strings.Repeat("..", upLevels), doFile))
+                       fmt.Println(path.Join(cwdRel, strings.Repeat("..", upLevels), doFile))
                }
        default:
                log.Fatalln("unknown command", cmdName)