4

I am following the tutorial about Data Version Control using mingw32 on Windows 7.

I am getting very strange error when I try to use run:

$ dvc run -v echo "hello"
Debug: updater is not old enough to check for updates
Debug: PRAGMA user_version;
Debug: fetched: [(2,)]
Debug: CREATE TABLE IF NOT EXISTS state (inode INTEGER PRIMARY KEY, mtime TEXT NOT NULL, md5 TEXT NOT NULL, timestamp TEXT NOT NULL)
Debug: CREATE TABLE IF NOT EXISTS state_info (count INTEGER)
Debug: CREATE TABLE IF NOT EXISTS link_state (path TEXT PRIMARY KEY, inode INTEGER NOT NULL, mtime TEXT NOT NULL)
Debug: INSERT OR IGNORE INTO state_info (count) SELECT 0 WHERE NOT EXISTS (SELECT * FROM state_info)
Debug: PRAGMA user_version = 2;
Running command:
        echo hello
/c: /c: Is a directory
Debug: SELECT count from state_info WHERE rowid=1
Debug: fetched: [(1,)]
Debug: UPDATE state_info SET count = 1 WHERE rowid = 1
Error: Traceback (most recent call last):
  File "dvc\command\run.py", line 18, in run
  File "dvc\project.py", line 265, in run
  File "dvc\stage.py", line 435, in run
StageCmdFailedError: Stage 'Dvcfile' cmd echo hello failed

Error: Failed to run command: Stage 'Dvcfile' cmd echo hello failed

Question:

Where does the /c: /c: Is a directory come from? How can I fix it?

My findings

  1. I supposed that it was resolving path to echo, but ech is a builtin.

    $ type echo
    echo is a shell builtin
    

    I tried also with exit and cd but I am getting the same error.

  2. Calling commands without dvc works fine.

  3. dvc with --no-exec flag works fine, but when later executed with repro gives the same error.

Shcheklein
  • 5,979
  • 7
  • 44
  • 53
hans
  • 1,043
  • 12
  • 33

1 Answers1

4

I'm one of the dvc developers. Similar error has affected dvc running on cygwin. We've released a fix for it in 0.20.0. Please upgrade.

Ruslan Kuprieiev
  • 845
  • 8
  • 11