Trying to clone a remote git repository (bare), I get several errors like the following, after which git stops.
error: unable to create file frozen/email/lamson/mymailserver/run/queue/mark.name/cur/1361115664.1929_1.vps-pool-55:2,S (Invalid argument)
It's okay if I have to remove these files, but I can't find a way to do that if I can't clone.
Any idea what I can do?
Solution. To resolve this issue, we could change the Windows default 260 character limit in the Windows registry or by configuring the core. longpaths workaround in git config.
Summary. To recap, git clean is a convenience method for deleting untracked files in a repo's working directory. Untracked files are those that are in the repo's directory but have not yet been added to the repo's index with git add .
The Git clone command will create a new local directory for the repository, copy all the contents of the specified repository, create the remote tracked branches, and checkout an initial branch locally. By default, Git clone will create a reference to the remote repository called origin .
I guess you're probably trying to do the clone on a Windows machine. Windows doesn't allow filenames to use the :
character.
From the Microsoft documentation:
Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following:
- The following reserved characters:
- < (less than)
- > (greater than)
- : (colon)
- " (double quote)
- / (forward slash)
- \ (backslash)
- | (vertical bar or pipe)
- ? (question mark)
- * (asterisk)
- Integer value zero, sometimes referred to as the ASCII NUL character.
- Characters whose integer representations are in the range from 1 through 31, except for alternate data streams where these characters are allowed. For more information about file streams, see File Streams.
- Any other character that the target file system does not allow.
To work around this problem, you will probably need to clone on a non-windows system and correct the offending filenames. Maybe some of the windows experts out there will have a better solution.
I'm cross-referencing my answer, as it also applies here: https://stackoverflow.com/a/34515900/1012586
Yet instead of
*
!kickstarter/parsers/data/kickstarter/campaigndetails/*
you'd need something like
*
!frozen/email/lamson/mymailserver/run/queue/mark.name/cur/*
in your .git/info/sparse-checkout
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With