threads / discuss / 46032

git --merge and option parsing

Subject: git --merge and option parsing

## tl;dr

2 messages between May 23, 2017 and May 23, 2017.

replies: 1people: 2as markdown or json

Holst, Henrik· May 23, 2017, 10:17 UTC · lore
Hi,
I am not sure if this is a bug but it was surprising to me so I thought I'd report it here.
I added `ui.column=auto` to my gitconfig and that does not work so well with pipes so I want to use `--no-column` option. I was a bit surprised that this does not work? It seems that `--merged` picks up `--no-column` as a commit reference instead it being parsed as an option.
hholst@fb-hholst3 ~/src/a3c-batch (feature/NetworkHandler) [conda:tensorflow] 
$ git branch --no-column --merged
* feature/NetworkHandler
[snip]

hholst@fb-hholst3 ~/src/a3c-batch (feature/NetworkHandler) [conda:tensorflow] $ git branch --merged --no-column fatal: malformed object name --no-column

hholst@fb-hholst3 ~/src/a3c-batch (feature/NetworkHandler) [conda:tensorflow] $ git --version git version 2.13.0

Best, Henrik Holst (Not on the list)

Jeff King· May 23, 2017, 11:39 UTC · re: Holst, Henrik · lore

Re: git --merge and option parsing

On Tue, May 23, 2017 at 10:17:18AM +0000, Holst, Henrik wrote:
Show 8 quoted lines
> I am not sure if this is a bug but it was surprising to me so I
> thought I'd report it here.
> 
> I added `ui.column=auto` to my gitconfig and that does not work so
> well with pipes so I want to use `--no-column` option. I was a bit
> surprised that this does not work? It seems that `--merged` picks up
> `--no-column` as a commit reference instead it being parsed as an
> option.

That's behaving as expected. The --merged option has an optional argument, which defaults to "HEAD". If you provide another argument (even if it looks like an option to you), then it gets attached to --merged.

As you saw, "git branch --no-column --merged" works, but so would "git branch --merged HEAD --no-column".

-Peff

← back to recent threads