pydoit / doit

CLI task management & automation tool
http://pydoit.org
MIT License
1.87k stars 175 forks source link

Task marked as not up-to-date because of a uppercase/lowercase difference in the drive letter. #456

Closed frozax closed 1 year ago

frozax commented 1 year ago

Describe the bug

Some of my tasks are marked as not up-to-date because of a uppercase/lowercase difference in the drive letter.

Example output:

(games) λ doit info sounds:eol.caf
project : swg27
flags   :

sounds:eol.caf

status     : run
 * The following file dependencies were removed:
    - C:\gamedev\games\swg27\doit\sounds.py
 * The following file dependencies were added:
    - c:\gamedev\games\swg27\doit\sounds.py

file_dep   :
 - c:\gamedev\games\swg27\doit\sounds.py
 - C:\gamedev\games\swg27\Data\sounds\eol.wav

targets    :
 - C:\gamedev\games\swg27\Dev\Resources\sounds\eol.caf

As you can see in the output, it says a file has been removed, but the same file has been added (just with a lowercase c instead of uppercase).

I'm using task["file_dep"] = [wav_file, __file__] to add the source file to the deps.

In case it's important, the sounds.py file is actually the file containing the task code.

Environment

  1. OS: Windows 11
  2. python version: 3.11.2
  3. doit version: 0.36.0

Fund with Polar

schettino72 commented 1 year ago

you as a developer is responsible to use consistent case when passing the file name.