fix direct symlink adding
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
Sep 2, 2015 at 10:51 UTC
167532c2b632d1902817c0ce77e3dac428b9fac1
1 file changed
+12
-3
commands/cli/parse.go
+12
-3
@@ -351,13 +351,22 @@ func appendFile(args []files.File, inputs []string, argDef *cmds.Argument, recur
351
}
352
fpath = cwd
353
}
354
-
355
- file, err := os.Open(fpath)
354
+ stat, err := os.Lstat(fpath)
355
if err != nil {
356
return nil, nil, err
357
}
358
360
- stat, err := file.Stat()
359
+ if stat.Mode()&os.ModeSymlink != 0 {
360
+ target, err := os.Readlink(fpath)
361
+ if err != nil {
362
+ return nil, nil, err
363
+ }
364
+
365
+ arg := files.NewLinkFile("", fpath, target, stat)
366
+ return append(args, arg), inputs[1:], nil
367
+ }
368
+
369
+ file, err := os.Open(fpath)
370
if err != nil {
371
return nil, nil, err
372
}