Bug #17800

arv-put --no-follow-links issues

Added by Lucas Di Pentima 5 days ago. Updated 1 day ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
SDKs
Target version:
Start date:
06/14/2021
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)
Story points:
-
Release relationship:
Auto

Description

A customer reported an incorrect behavior on the arv-put command when used with --no-follow-links:

$ arv-put --no-follow-links /path/to/some-dir/

and

$ arv-put --no-follow-links /path/to/some-dir/*

Should produce the same collection, but if /path/to/some-dir/ has some symbolic links inside, the second execution will not ignore them.


Subtasks

Task #17806: Review 17800-arvput-no-follow-linksIn ProgressTom Clegg

History

#1 Updated by Lucas Di Pentima 4 days ago

  • Status changed from New to In Progress

#2 Updated by Lucas Di Pentima 1 day ago

Updates at 96dc323b0 - branch 17800-arvput-no-follow-links
Test run: https://ci.arvados.org/job/developer-run-tests/2521/

  • Fixes reported bug by ignoring symlinks (when requested) early in the upload list building process.
  • Updates test.

#3 Updated by Tom Clegg 1 day ago

Code LGTM.

Which behavior is "correct" seems debatable: it might be surprising that "arv-put --no-follow-symlinks foo" just creates an empty collection if foo itself is a symlink.

Perhaps worth adding something to the --help message to clarify?

-Do not follow file and directory symlinks.                                                                                                                       
+Do not follow file and directory symlinks. Even paths given explicitly on the command line will be skipped if they are symlinks.                                                                                                                       

#4 Updated by Lucas Di Pentima 1 day ago

Updates at 43e30e4be
Test run: https://ci.arvados.org/job/developer-run-tests/2525/

  • Improves --help documentation following the above suggestion.
  • Logs warning when skipping a path that was specified by the user.
  • Logs a warning when skipping saving an empty new collection.
  • Adds test.

Also available in: Atom PDF