threads / bug / 28639

Git bug. gitattributes' pattern does not respect spaces in the filenames

Subject: Git bug. gitattributes' pattern does not respect spaces in the filenames

## tl;dr

3 messages between Oct 10, 2011 and Oct 10, 2011.

replies: 2people: 2as markdown or json

Alexey Shumkin· Oct 10, 2011, 07:02 UTC · lore
Hello everyone!

There's a description for the understanding of a situation. I have a project on Windows. I use Git under Cygwin. There are some *.xml in the project. But some of them are in cp1251 encoding, another ones are in UTF-8. For the first ones there is no need of any conversion to see the git-diff, but for the *.xml's in UTF-8 I set

*.xml diff=utf8-to-cp1251

And according to this I have $ git config diff.utf8-to-cp1251.textconv 'iconv -f utf-8 -t cp1251'

Unfortunately, *.xml's in cp1251 DOES match this pattern, too. As far as cp1251 and UTF-8 files are in different folders, it is logically enough to set pattern like

<folder with a UTF-8-xmls>/*.xml diff=utf8-to-cp1251

for the UTF-8 files. BUT! Unfortunately, <folder with a UTF-8-xmls> have spaces in its name, so textconv filter does not work because of error of parsing .gitattributes

I have no enough skills to patch Git to fix this error. Is anybody interested in to do?

Thanks
Junio C Hamano· Oct 10, 2011, 15:28 UTC · re: Alexey Shumkin · lore

Re: Git bug. gitattributes' pattern does not respect spaces in the filenames

Alexey Shumkin <Alex.Crezoff@gmail.com> writes:
Show 6 quoted lines
> As far as cp1251 and UTF-8 files are in different folders,
> it is logically enough to set pattern like
>
> <folder with a UTF-8-xmls>/*.xml diff=utf8-to-cp1251
>
> for the UTF-8 files.

... IN the directory that needs conversion and not in the other one or at the toplevel. Problem solved, no?

Another idea may be to use "?" in the directory part of the pattern. Unless the directory structure is sick enough to have these directory names:

	dir-1/utf8-file.xml
        dir 1/cp1251-file.xml
dir?1/*.xml would match the matter, so...
Alexey Shumkin· Oct 10, 2011, 15:51 UTC · re: Junio C Hamano · lore

Re: Git bug. gitattributes' pattern does not respect spaces in the filenames

Show 11 quoted lines
> Alexey Shumkin <Alex.Crezoff@gmail.com> writes:
> 
> > As far as cp1251 and UTF-8 files are in different folders,
> > it is logically enough to set pattern like
> >
> > <folder with a UTF-8-xmls>/*.xml diff=utf8-to-cp1251
> >
> > for the UTF-8 files.
> 
> ... IN the directory that needs conversion and not in the other one
> or at the toplevel. Problem solved, no?

Oh! yes! solved! thanks! I did not take into account that each folder can have its own .gitattributes-file

Show 9 quoted lines
> 
> Another idea may be to use "?" in the directory part of the
> pattern. Unless the directory structure is sick enough to have these
> directory names:
> 
> 	dir-1/utf8-file.xml
>         dir 1/cp1251-file.xml
> 
> dir?1/*.xml would match the matter, so...

hmm... I like more the case above :) but TMTOWTDI principle rulez

thanks again

← back to recent threads