Re: Big path on git add file [windows bug]
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Sep 16, 2015, 09:40 UTC
- Message-ID
- <01b34f993289e7dcef5c6fef3d855372@dscho.org>
- In-Reply-To
- <CAMg53oum4s2HE5A-H4g-3N8akOm4KetHM6ntUqRPnygLRALwpw@mail.gmail.com>
Hi Alexey,
On 2015-09-16 10:01, Alexey Kasyanchuk wrote:
Show 5 quoted lines
> I tried add one of node.js module to git project. But add operation failed: > > libgit2 returned: Invalid path for filesystem > 'E:/Projects/vsteams/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/imagemin-gifsicle/node_modules/gifsicle/node_modules/bin-build/node_modules/decompress/node_modules/decompress-tar/node_modules/strip-dirs/node_modules/is-natural-number/is-natural-number-cjs.js': > Data area passed to a system call is too small.
It is indeed too small for normal operations (MAX_PATH is somewhere around 248). However, as far as I know, libgit2 has internal code to convert the path into a form that the Win32 API can handle.
> Is this windows problem or problem with libgit2 realization on windows > (windows 7 by the way)? It looked like problem with big system path > (276 symbols). May be some sulution for this?
Yes, there is a sulution for this. But it is unclear whether you have that already or not because you were a little parsimonious with information. For example, I have no idea which libgit2 version you use, in which context, what program you use to call libgit2, etc.
So I am left guessing, which is a little bit inefficient.
In any case, the work-around for the issue you described is in https://github.com/libgit2/libgit2/commit/cceae9a25d0bed8b00f4981e051d5f380ef54401 which is part of v0.22.1.
> Version: Git-2.5.2.2-64-bit
No, that is not the correct version. This looks like the current Git for Windows version, but the error you reported is clearly a libgit2 error message. And that Git for Windows version contains no libgit2 at all.
Please clarify. You might want to err on the side of verbosity to avoid unnecessary back-and-forth.
Ciao, Johannes