-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Couldn't clone repository on Windows machine #1393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Just to note that the clone succeeded. see:
It is the checkout that failed. the most likely cause (typically) is that the repo you have cloned has a file or directory that tries to use a forbidden Window character in the . Try inspecting the trees with the |
The other option is that you have a set up with a file system that is causing a race between the file writing and the file being available for the |
|
I checked what is happens if trying add
Executing command
So my question still open. |
While FAR manager might side-step the checks, it is still an illegal file name on Windows. Git is not the only program respecting that. |
Having said that, @NTMan how is your C fu? If it is good enough, I can help you implement a special mode to side-step the Win32 limitations via an opt-in config setting in Git, too. You will have to put in a little bit of effort yourself, of course, but that's a minuscule amount of work compared to the work that went into Git so far, and that you have been given for free. |
This should be re-opened as it is solvable. Windows has some reserved words from the old MSDOS days. "AUX" is one of those words. You can bypass these restrictions with some clever use of the terminal You can edit these files though if they have a smart project view. Opening the files through the gui window gives an error containing "\." or "\?" Once the changes are saved, we still can't commit. Git has the permissions it needs, but the system is blocking access to it because of the file name, "aux". git cmd/ps git bash Reserved words
Windows is case INsensitive when it comes to these reserved words, AuX or coN will still prevent access. con is the most common file that will cause a problem due to web services. these are the only two rules that cause problems, all other instances are allowed. |
I think the final verdict was: sure, Git could write those files, but all other software would not be able to handle them, so let's not special-case Git. |
@prosaiccode, I think what is missing is a good explanation of how the 'proposal' would work and the benefits and hassles to the various communities. That explanation should explain clearly what the proposal itself is (there are variants that may be possible, so some 'exact' split would be needed). I suspect there are (at least) two camps here:
I could see that an option to clone would be to 'ignore invalid windows paths' on checkout, which would just report the list of faulty filenames. The subsequent edit/commit cycle could be a further issue that needs some aspects of the assume-unchanged (remembering that all the internet explanations are wrong about what it does, and what you, the user, promised...!) It maybe that an extra upstream flag is needed (haven't checked) for files that are assume-unchanged and not checked out, for which the likes of 'commit -a' would still work. The upshot is that this does need someone to propose some code (or initial pseudo code) to get the ball rolling and the problems of different stakeholders incorporated. We hope you can help. |
Setup
defaults?
Details
CMD
Minimal, Complete, and Verifiable example
this will help us understand the issue.
Clone repository without error messages.
I see error messages:
But I am able create such files manually.
URL to that repository to help us with testing?
git://people.freedesktop.org/~agd5f/linux
The text was updated successfully, but these errors were encountered: