[BUG] can not escape sharps in git config file

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[BUG] can not escape sharps in git config file

Jean-Noël AVILA
Hi everyone,

I stumbled on this:

config file:

[filter "kicad_sch"]
        clean = sed -E 's/#(PWR|FLG)[0-9]+/#\1?/'
        smudge = cat


Then in the shell:

± git add -u
sed -E 's/: 1: sed -E 's/: Syntax error: Unterminated quoted string
error: external filter sed -E 's/ failed 2
error: external filter sed -E 's/ failed

It seems that the  # is used for end-of-line comments and can not be
escaped, even in quotes or backslash.

JN


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] can not escape sharps in git config file

Jean-Noël AVILA
Forgot to add:

± git --version
git version 2.8.3
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] can not escape sharps in git config file

Jean-Noël AVILA
In reply to this post by Jean-Noël AVILA
My mistake, sorry for the noise,

JFTR:

 * only double quotes can fully escape a string (it is safer to enclose
the whole value in double quotes)
 * backslashes have to be doubled because they are interpreted by git

So

[filter "kicad_sch"]
    clean = "sed -E 's/#(PWR|FLG)[0-9]+/#\\1?/'"
    smudge = cat

JN
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: [BUG] can not escape sharps in git config file

Torsten Bögershausen-2
On 05/24/2016 01:23 PM, Jean-Noël Avila wrote:

> My mistake, sorry for the noise,
>
> JFTR:
>
>   * only double quotes can fully escape a string (it is safer to enclose
> the whole value in double quotes)
>   * backslashes have to be doubled because they are interpreted by git
>
> So
>
> [filter "kicad_sch"]
>      clean = "sed -E 's/#(PWR|FLG)[0-9]+/#\\1?/'"
>      smudge = cat
>
(I'm not a filter expert)
What happens if you put the sed expression into a shell script, and
configure the filter to call the script instead ?

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html