Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

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

Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Dmitry Bykov <hidden>
Date: 2016-06-15 23:03:25

Hello,

Recently I installed 1.9.5 git version and faced the problem that one
of the files in my cloned repository with a name ICON~714.PNG is
marked as deleted even repository was freshly cloned. Trying to do
anything with that file resulted in constant "Invalid Path" errors.
Reverting back to 1.9.4. fixed that problem.

Thanks,
Dmitry

Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Stefan Beller <hidden>
Date: 2016-06-15 23:03:25

On Wed, Jan 7, 2015 at 3:26 PM, Dmitry Bykov [off-list ref] wrote:
Hello,

Recently I installed 1.9.5 git version and faced the problem that one
of the files in my cloned repository with a name ICON~714.PNG is
marked as deleted even repository was freshly cloned. Trying to do
anything with that file resulted in constant "Invalid Path" errors.
Reverting back to 1.9.4. fixed that problem.

Thanks,
Dmitry
Git had a security issue with filenames which look similar to the .git
repository.
Please see the announcement at
http://article.gmane.org/gmane.linux.kernel/1853266
(That also updated 1.9.4 -> 1.9.5)

I'm not sure if I can advice though.

Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:03:25

Dscho, this sounds to me like the additional "8.3 ambiguity
protection" (which is only in Git for Windows) in action. Any
thoughts?

On Wed, Jan 7, 2015 at 3:26 PM, Dmitry Bykov [off-list ref] wrote:
Hello,

Recently I installed 1.9.5 git version and faced the problem that one
of the files in my cloned repository with a name ICON~714.PNG is
marked as deleted even repository was freshly cloned. Trying to do
anything with that file resulted in constant "Invalid Path" errors.
Reverting back to 1.9.4. fixed that problem.

Thanks,
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:03:25

Hi Junio,

On Wed, 7 Jan 2015, Junio C Hamano wrote:
Dscho, this sounds to me like the additional "8.3 ambiguity
protection" (which is only in Git for Windows) in action. Any
thoughts?
First thought: the Git for Windows mailing list should be Cc:ed (I was
traveling yesterday and somebody else might have been able to address
Dmitry's problem).

Second thought below:
On Wed, Jan 7, 2015 at 3:26 PM, Dmitry Bykov [off-list ref] wrote:
quoted
Recently I installed 1.9.5 git version and faced the problem that one
of the files in my cloned repository with a name ICON~714.PNG is
marked as deleted even repository was freshly cloned. Trying to do
anything with that file resulted in constant "Invalid Path" errors.
Reverting back to 1.9.4. fixed that problem.
ICON~714.PNG is a valid short name for a long name (such as
'icon.background.png') because it fits the shortening scheme (8.3 format,
the base name ends in ~<n>). As this can clash with a validly shortened
long name, Git for Windows refuses to check out such paths by default.

If you want the old -- unsafe -- behavior back, just set your
core.protectNTFS to false (this means that you agree that the incurred
problems are your own responsibility and cannot be blamed on anybody else
;-))

Ciao,
Johannes

Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Jeff King <hidden>
Date: 2016-06-15 23:03:25

On Thu, Jan 08, 2015 at 11:06:18AM +0100, Johannes Schindelin wrote:
ICON~714.PNG is a valid short name for a long name (such as
'icon.background.png') because it fits the shortening scheme (8.3 format,
the base name ends in ~<n>). As this can clash with a validly shortened
long name, Git for Windows refuses to check out such paths by default.

If you want the old -- unsafe -- behavior back, just set your
core.protectNTFS to false (this means that you agree that the incurred
problems are your own responsibility and cannot be blamed on anybody else
;-))
I wonder if it is worth having a "git-only" mode for core.protectNTFS.
Turning it off entirely would make him susceptible to GIT~1 attacks.

-Peff

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Git for Windows" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:03:25

Hi Peff,

On Thu, 8 Jan 2015, Jeff King wrote:
On Thu, Jan 08, 2015 at 11:06:18AM +0100, Johannes Schindelin wrote:
quoted
ICON~714.PNG is a valid short name for a long name (such as
'icon.background.png') because it fits the shortening scheme (8.3 format,
the base name ends in ~<n>). As this can clash with a validly shortened
long name, Git for Windows refuses to check out such paths by default.

If you want the old -- unsafe -- behavior back, just set your
core.protectNTFS to false (this means that you agree that the incurred
problems are your own responsibility and cannot be blamed on anybody else
;-))
I wonder if it is worth having a "git-only" mode for core.protectNTFS.
Turning it off entirely would make him susceptible to GIT~1 attacks.
That is a good idea!

Ciao,
Dscho

Re: Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Torsten Bögershausen <hidden>
Date: 2016-06-15 23:03:25

On 01/08/2015 11:28 AM, Jeff King wrote:
On Thu, Jan 08, 2015 at 11:06:18AM +0100, Johannes Schindelin wrote:
quoted
ICON~714.PNG is a valid short name for a long name (such as
'icon.background.png') because it fits the shortening scheme (8.3 format,
the base name ends in ~<n>). As this can clash with a validly shortened
long name, Git for Windows refuses to check out such paths by default.

If you want the old -- unsafe -- behavior back, just set your
core.protectNTFS to false (this means that you agree that the incurred
problems are your own responsibility and cannot be blamed on anybody else
;-))
I wonder if it is worth having a "git-only" mode for core.protectNTFS.
Turning it off entirely would make him susceptible to GIT~1 attacks.

-Peff
There is something more then just the "tilde" protection going on, it seems:


torstenbogershausen@TORBOGWM ~/projects/test_tilde (master)
$  ~/projects/git/msysgit/git ls-files
ICON~714.PNG

torstenbogershausen@TORBOGWM ~/projects/test_tilde (master)
$  ~/projects/git/msysgit/git status
On branch master
nothing to commit, working directory clean

torstenbogershausen@TORBOGWM ~/projects/test_tilde (master)
$  ~/projects/git/tb/git status
On branch master
nothing to commit, working directory clean

torstenbogershausen@TORBOGWM ~/projects/test_tilde (master)
$  ~/projects/git/msysgit/git --version
git version 1.9.2.msysgit.0.2273.gc47d6ec

torstenbogershausen@TORBOGWM ~/projects/test_tilde (master)
$  ~/projects/git/tb/git --version
git version 2.2.1.268.g1e6f5b2

Neither latest msygit nor latest git.git reports a problem with a single 
file
within a short path.
It may be, that the '~' is not accepted in a long path or there are 
"problems"
when a directory is filled with many files, but that is speculation.

Dimitry,
is there a way to make the problem reproducible for other people ?
Either a public demo-repo, or a step-by-step receipe  ?

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Git for Windows" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: [msysGit] Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:03:25

Hi Torsten,

On Thu, 8 Jan 2015, Torsten Bögershausen wrote:
There is something more then just the "tilde" protection going on, [...]
Indeed. What is going on is that you build Git yourself, from git.git,
while Dmitry obviously used Git for Windows -- which carries a couple of
patches on top of upstream git.git.

In this particular case, the tilde protection was introduced in
https://github.com/msysgit/git/commit/2e2a2d12.

Ciao,
Johannes

Re: Re: Probably a bug with "~" symbol in filenames on Windows 7 x64 in git 1.9.5

From: Torsten Bögershausen <hidden>
Date: 2016-06-15 23:03:25

On 01/08/2015 04:58 PM, Johannes Schindelin wrote:
Hi Torsten,

On Thu, 8 Jan 2015, Torsten Bögershausen wrote:
quoted
There is something more then just the "tilde" protection going on, [...]
Indeed. What is going on is that you build Git yourself, from git.git,
while Dmitry obviously used Git for Windows -- which carries a couple of
patches on top of upstream git.git.

In this particular case, the tilde protection was introduced in
https://github.com/msysgit/git/commit/2e2a2d12.

Ciao,
Johannes
My bad, I was building the msysgit master branch, which didn't have the 2e2a2d12.

However, I am wondering if 2e2a2d12 is really needed that much ?
In the same spirit that we do not prevent the checkout of "FILE" when "file" is present,
why do we prevent people from using "~" in file names ?
When a file is visible under different file names, I assume that the user chooses only
one representation to run "git add" on.
But that is another discussion.

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Git for Windows" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help