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

3 messages from 2011-10-10 to 2011-10-10. Participants: Alexey Shumkin, Junio C Hamano.
Thread: https://gitlist.dev/t/28639

## Alexey Shumkin, 2011-10-10 07:02

Subject: Git bug. gitattributes' pattern does not respect spaces in the filenames
Message-ID: <20111010110221.38e9985a@ashu.dyn.rarus.ru>
URL: https://gitlist.dev/e/20111010110221.38e9985a%40ashu.dyn.rarus.ru

```
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, 2011-10-10 15:28

Subject: Re: Git bug. gitattributes' pattern does not respect spaces in the filenames
Message-ID: <7vipnwooh1.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vipnwooh1.fsf%40alter.siamese.dyndns.org
In-Reply-To: <20111010110221.38e9985a@ashu.dyn.rarus.ru>

```
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?

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, 2011-10-10 15:51

Subject: Re: Git bug. gitattributes' pattern does not respect spaces in the filenames
Message-ID: <20111010195145.0d1fc966@ashu.dyn.rarus.ru>
URL: https://gitlist.dev/e/20111010195145.0d1fc966%40ashu.dyn.rarus.ru
In-Reply-To: <7vipnwooh1.fsf@alter.siamese.dyndns.org>

```
> 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

> 
> 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

```
