Re: [PATCH] t6300: values containing ')' are broken in ref formats

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kousik Sanagavarapu <five231003@xxxxxxxxx> writes:

> Document that values containing ')' in formats are not parsed correctly
> in ref-filter.

The problem is probably lack of a way to quote such a closing
parenthesis.

> However formats having a '(' instead in "value" will parse correctly
> because in a general format string we also mark start of the format by
> making note of '%(' instead of just '('.

So if you wanted to have a two-char sequence '%(' in value, you'd
see a similar problem?  If so, it is not quite a "bug" or "not
parsed correctly"---it is "because there is no way to include
closing ')' in the value (e.g., by quoting), you cannot write such a
string in the value part".

> This raises the question of what can be done to parse ')' in values of
> the format correctly.  It seems to me like a clean solution would
> involve a huge refactoring involving a large portion of ref-filter but I
> maybe wrong.

Yes, so I wouldn't even call the current behaviour "bug".  The
language is merely "limited" and the user cannot express certain
values with it at all.


Having said that, I just tried this

    $ git for-each-ref --format='%28%(refname)%29' refs/heads/master
    (refs/heads/master)

So, if there is anything that needs "fixing", wouldn't it be
documentation?

If I knew (or easily find out from "git for-each-ref --help") that
hex escapes %XX can be used, I wouldn't have written any of what I
said before "Having said that" in this response.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux