DEV Community

Jumbo Daniel
Jumbo Daniel

Posted on

How to fix: error: 'invalid path' When working with Git on Windows.

I was trying to clone a repository from gitbucket client when I got this error on my PC

git -c filter.lfs.smudge= -c filter.lfs.required=false -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks clone --branch master https://JumboDaniel@bitbucket.org/fedacash-dev/fedhagap-web-ui.git C:\Users\hp\Documents\HTML\Jobs\Fedha
Cloning into 'C:\Users\hp\Documents\HTML\Jobs\Fedha\...
error: invalid path 'src/Assets/fonts/TTF/THICCCBOI-Black.ttf:Zone.Identifier'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
Enter fullscreen mode Exit fullscreen mode

I tried working my way around the issues; I even tried deleting the 'THICCCBOI-Black.ttf' file from the gitbucket repo, but this didn't solve the issue.
After hours of searching through the internet, I found the cause of the error:
The Git cloning of a repository fails on Windows with an "invalid path" error because the Windows OS reserves some filenames; hence, a file name may be legal in Linux or Mac (in my case) but illegal in Windows.

**

Solution:

**
Whilst this may workaround the issue, care should be taken as the default for a Windows client was set to core.protectNTFS=true to close a potential security issue CVE-2019-1353 as described here.

Depending on the filename, you can configure Git to ignore the NTFS naming may fix the issue.

git config --global core.protectNTFS false

Turning off protectNTFS will stop Git from complaining about files that have a base name that is reserved but will not prevent an error if the filename is one of the reserved names.

The best solution is to:

  1. Identify the offending file(s) mentioned in the error message, such as ('src/Assets/fonts/TTF/THICCCBOI-Black.ttf:Zone.Identifier') as in my case.
  2. Rename the file(s) to something that does not conflict with any reserved names. For example, I can rename it to 'THICCCBOI-Black-Font.ttf'. NB. Check windows file naming documentation here
  3. Update the reference to the renamed file(s) in your code or configuration, if necessary.
  4. Commit the changes to the repository.

Reference:Link

Top comments (6)

Collapse
 
mato profile image
Sergey Matylionak

Respect!

Collapse
 
jumbo02 profile image
Jumbo Daniel

Thank You

Collapse
 
sheshadri1992 profile image
Sheshadri K R

Thank you, what a hero! I was struggling with this problem for far too long. Your solution fixed it.

Collapse
 
ceeclips_media_797b0e6651 profile image
CeeClips Media

Legend!

Collapse
 
mohammadmo profile image
Mohammad Mohammadi

good one

Collapse
 
jumbo02 profile image
Jumbo Daniel

Thank You