-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
upstreamIssues which need to be resolved in an upstream dependencyIssues which need to be resolved in an upstream dependency
Description
Bug Report
dvc repro: fails storing correct command in dvc.lock
Description
Some double spaces of dvc.yaml-commands are not stored in the dvc.lock-clone.
This happens if a command is too long, and gets formatted with an additional line break exactly at the double-space.
As a result, dvc status regards the stage as dirty, even directly after commiting or running it.
Reproduce
# 1. Create a new directory and initialize DVC
mkdir my-dir && cd my-dir
git init
dvc init
# 2. Create a dvc.yaml with lots of double spaces in the command
cat > dvc.yaml << 'EOF'
stages:
test_stage:
cmd: echo "lots" "of" "words" "(too much" "for" "one" "line)" "with" "lots" "of" "double-whitespace" "between" "the" "parts" > output.txt
outs:
- output.txt
EOF
# 3. Run the stage to generate lock file
# (you can check in it that some double-space became a line-break!)
dvc repro
# 4. Check status - should be clean but shows "changed command"
dvc statusExpected
dvc status should regard everything as up-to-date.
Environment information
Output of dvc doctor:
$ dvc doctor
DVC version: 3.66.1 (pip)
-------------------------
Platform: Python 3.12.3 on Linux-6.14.0-119037-tuxedo-x86_64-with-glibc2.39
Subprojects:
dvc_data = 3.18.2
dvc_objects = 5.2.0
dvc_render = 1.0.2
dvc_task = 0.40.2
scmrepo = 3.6.1
Supports:
http (aiohttp = 3.13.3, aiohttp-retry = 2.9.1),
https (aiohttp = 3.13.3, aiohttp-retry = 2.9.1),
ssh (sshfs = 2025.11.0)
Config:
Global: /home/maxg/.config/dvc
System: /home/maxg/.config/kdedefaults/dvc
Cache types: hardlink, symlink
Cache directory: ext4 on /dev/mapper/system-root
Caches: local
Remotes: None
Workspace directory: ext4 on /dev/mapper/system-root
Repo: dvc, git
Repo.site_cache_dir: /var/tmp/dvc/repo/f919da52546ca06d0c807bb616433829
Additional Information:
Neither does dvc commit store the correct command.
Already started a discussion here #10933. But I guess, a bug-report is more appropriate.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
upstreamIssues which need to be resolved in an upstream dependencyIssues which need to be resolved in an upstream dependency