msysgit / git

msysGit-based Git for Windows 1.x is now superseded by Git for Windows 2.x
http://github.com/git-for-windows/git
Other
1k stars 316 forks source link

8.3 Tilde Filenames are not accepted by Git-1.9.5-preview20141217 #298

Closed ghost closed 9 years ago

ghost commented 9 years ago

Sorry, i'm still a git beginner, so i might use the wrong words at times...

I am using git as a 'frontend' to svn via git-svn. (I don't think that this has to to with the issue, just for completeness)

Somebody committed to the svn repo 2 files, "longfilename.xyz" and "LONGFI~1.XYZ". (How the 8.3 surrogate became visible as an own file i don't know, usually they are hidden.)

I svn-cloned from that repository with a pre-1.9.5 msysgit (Git-1.9.4-preview20140929 i believe, i can't remember exactly). Everything was fine, i could commit and "git svn rebase" and "git svn dcommit" as usual.

After updating to 1.9.5 everything was fine until i tried to "git svn rebase". From then on it complained about the LONGFI~1.XYZ as an invalid path.

After going back to 1.9.4 everything works again.

Since i didn't make the connection to the update immediately, i poked around a bit. I found that 1: already "git read-tree HEAD" complained about the path. 2: git does not accept new files that follow that naming scheme, e.g. (using git bash): echo bla > TESTXY~1.TXT git add TESTXY~1.TXT will give some "invalid path" error. (Doing the same with tildes in other places was ok.)

My conclusion is that somewhere in msysgits guts there is a filter that prevents handling such files.

This is 98% ok, since no-one wants such files going into the repo. But the filter should only suppress adding of such files, not the internal handling, since older repo's (like mine) will be broken.

sschuberth commented 9 years ago

See issue #296.