Illegal filename characters one Windows

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Illegal filename characters one Windows

From: Clemens Buchacher <hidden>
Date: 2016-06-15 22:53:35

Hi,

I recently noticed that git does not deal very well with illegal
filenames on Windows. I have a repository which contains a couple of
filenames like "Re: some email.eml". On a Windows box, those files get
truncated to just "Re" during checkout, because ':' is an illegal
character for filenames on Windows. [1]

I know that the easiest solution would be to simply remove the illegal
characters on my Linux box and be done with it. But I dislike the fact
that git cannot handle such filenames more gracefully.

So I have been wondering how to fix this. I have considered converting
the filename to unicode or URL encoding or even just dropping the
illegal characters on checkout. But no matter which conversion I choose,
it will conflict with the converted filename, which would be a valid
index entry itself.

If a reasonable solution is not possible, maybe we should not try to
checkout such files at all, and mark them with --skip-worktree. That way
one can at least use such repositories, as long as one does not have to
touch any files with illegal characters in their filename. As it is,
most commands are not usable because the work tree is always dirty (the
files with illegal names have been "removed").

Any better ideas?

Clemens

[1] http://en.wikipedia.org/wiki/Filename

Re: [msysGit] Illegal filename characters one Windows

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:53:35

Am 15.04.2012 02:07, schrieb Clemens Buchacher:
I recently noticed that git does not deal very well with illegal
filenames on Windows. I have a repository which contains a couple of
filenames like "Re: some email.eml". On a Windows box, those files get
truncated to just "Re" during checkout, because ':' is an illegal
character for filenames on Windows. [1]
This is a issue very similar to files named nul, aux, prn, com1 and the
like; they can't be checked out, either. I've suggested to use sparse
checkout in such cases; other than that, I think we don't have a
solution for it.

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help