# "git log" does not display refs info when executed via C# Process class on Windows

6 messages from 2019-08-09 to 2019-08-09. Participants: Cliff Schomburg, SZEDER Gábor, Junio C Hamano.
Thread: https://gitlist.dev/t/51614

## Cliff Schomburg, 2019-08-09 19:36

Subject: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <BN8PR21MB11569DAA8A677BF00113F683B7D60@BN8PR21MB1156.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/BN8PR21MB11569DAA8A677BF00113F683B7D60%40BN8PR21MB1156.namprd21.prod.outlook.com

```
Hello,

I have an open Git for Windows issue here:
https://github.com/git-for-windows/git/issues/2285

"git log" works as expected from the command prompt.  But when I execute it via C# Process class and read from Standard Output, the refs are missing.

Is anyone familiar with this issue?  Any idea why the output to CMD and STDOUT would be different?

Thanks,
Cliff


```

## SZEDER Gábor, 2019-08-09 19:50

Subject: Re: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <20190809195031.GK20404@szeder.dev>
URL: https://gitlist.dev/e/20190809195031.GK20404%40szeder.dev
In-Reply-To: <BN8PR21MB11569DAA8A677BF00113F683B7D60@BN8PR21MB1156.namprd21.prod.outlook.com>

```
On Fri, Aug 09, 2019 at 07:36:19PM +0000, Cliff Schomburg wrote:
> I have an open Git for Windows issue here:
> https://github.com/git-for-windows/git/issues/2285
> 
> "git log" works as expected from the command prompt.  But when I execute it via C# Process class and read from Standard Output, the refs are missing.
> 
> Is anyone familiar with this issue?  Any idea why the output to CMD and STDOUT would be different?

Decorations, like color and refs pointing to a commit, are for humans,
and humans read the terminal.  If the command's output doesn't go to a
terminal, then no such decorations are shown by default.

Try invoking 'git log --decorate'; or, better yet, use your custom
'--format=', especially if you intend to parse the output, 


```

## Cliff Schomburg, 2019-08-09 20:11

Subject: RE: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <BN8PR21MB11565C3CD2522EA8BB887AA9B7D60@BN8PR21MB1156.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/BN8PR21MB11565C3CD2522EA8BB887AA9B7D60%40BN8PR21MB1156.namprd21.prod.outlook.com
In-Reply-To: <20190809195031.GK20404@szeder.dev>

```
Adding --decorate gave me the desired result.

Thanks for your help!

-----Original Message-----
From: SZEDER Gábor <szeder.dev@gmail.com> 
Sent: Friday, August 9, 2019 3:51 PM
To: Cliff Schomburg <clisc@microsoft.com>
Cc: git@vger.kernel.org
Subject: Re: "git log" does not display refs info when executed via C# Process class on Windows

On Fri, Aug 09, 2019 at 07:36:19PM +0000, Cliff Schomburg wrote:
> I have an open Git for Windows issue here:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fgit-for-windows%2Fgit%2Fissues%2F2285&amp;data=02%7C01%7Cclis
> c%40microsoft.com%7C17689ee8d32d48528c3208d71d02d8d5%7C72f988bf86f141a
> f91ab2d7cd011db47%7C1%7C0%7C637009771013658738&amp;sdata=PKPdRI0mC65Lx
> 2J5etYnp0fyzsk%2BXSGzGBWa12BLKEE%3D&amp;reserved=0
> 
> "git log" works as expected from the command prompt.  But when I execute it via C# Process class and read from Standard Output, the refs are missing.
> 
> Is anyone familiar with this issue?  Any idea why the output to CMD and STDOUT would be different?

Decorations, like color and refs pointing to a commit, are for humans, and humans read the terminal.  If the command's output doesn't go to a terminal, then no such decorations are shown by default.

Try invoking 'git log --decorate'; or, better yet, use your custom '--format=', especially if you intend to parse the output, 


```

## Cliff Schomburg, 2019-08-09 21:34

Subject: RE: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <BN8PR21MB11566C135B1326AF1B45E4D8B7D60@BN8PR21MB1156.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/BN8PR21MB11566C135B1326AF1B45E4D8B7D60%40BN8PR21MB1156.namprd21.prod.outlook.com
In-Reply-To: <20190809195031.GK20404@szeder.dev>

```
Strangely, when I run this command:

Git log origin/master --pretty=oneline --decorate -1

I get the format I want from STDOUT.  However, when I try to filter it to show only the tag refs:

Git log origin/master --pretty=oneline --decorate --decorate-refs=^tag* -1

No refs are returned to standard output again.  Only on the command line.

Does --decorate-refs not return to STDOUT?

Thanks,
Cliff

-----Original Message-----
From: SZEDER Gábor <szeder.dev@gmail.com> 
Sent: Friday, August 9, 2019 3:51 PM
To: Cliff Schomburg <clisc@microsoft.com>
Cc: git@vger.kernel.org
Subject: Re: "git log" does not display refs info when executed via C# Process class on Windows

On Fri, Aug 09, 2019 at 07:36:19PM +0000, Cliff Schomburg wrote:
> I have an open Git for Windows issue here:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fgit-for-windows%2Fgit%2Fissues%2F2285&amp;data=02%7C01%7Cclis
> c%40microsoft.com%7C17689ee8d32d48528c3208d71d02d8d5%7C72f988bf86f141a
> f91ab2d7cd011db47%7C1%7C0%7C637009771013658738&amp;sdata=PKPdRI0mC65Lx
> 2J5etYnp0fyzsk%2BXSGzGBWa12BLKEE%3D&amp;reserved=0
> 
> "git log" works as expected from the command prompt.  But when I execute it via C# Process class and read from Standard Output, the refs are missing.
> 
> Is anyone familiar with this issue?  Any idea why the output to CMD and STDOUT would be different?

Decorations, like color and refs pointing to a commit, are for humans, and humans read the terminal.  If the command's output doesn't go to a terminal, then no such decorations are shown by default.

Try invoking 'git log --decorate'; or, better yet, use your custom '--format=', especially if you intend to parse the output, 


```

## Junio C Hamano, 2019-08-09 21:49

Subject: Re: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <xmqqblwyc8l8.fsf@gitster-ct.c.googlers.com>
URL: https://gitlist.dev/e/xmqqblwyc8l8.fsf%40gitster-ct.c.googlers.com
In-Reply-To: <BN8PR21MB11566C135B1326AF1B45E4D8B7D60@BN8PR21MB1156.namprd21.prod.outlook.com>

```
Cliff Schomburg <clisc@microsoft.com> writes:

> Strangely, when I run this command:
>
> Git log origin/master --pretty=oneline --decorate -1
>
> I get the format I want from STDOUT.  However, when I try to filter it to show only the tag refs:
>
> Git log origin/master --pretty=oneline --decorate --decorate-refs=^tag* -1
>
> No refs are returned to standard output again.  Only on the command line.
>
> Does --decorate-refs not return to STDOUT?

If you are asking for tags, which does not begin with a caret "^",
perhaps drop "^" from the pattern?

The pattern is supposed to be wildmatch pattern, so it is already
left anchored, e.g. --decorate-refs=ag* won't find any tag.



```

## Cliff Schomburg, 2019-08-09 22:16

Subject: RE: "git log" does not display refs info when executed via C# Process class on Windows
Message-ID: <BN8PR21MB11560DB6FA18D85672CFE8FEB7D60@BN8PR21MB1156.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/BN8PR21MB11560DB6FA18D85672CFE8FEB7D60%40BN8PR21MB1156.namprd21.prod.outlook.com
In-Reply-To: <xmqqblwyc8l8.fsf@gitster-ct.c.googlers.com>

```
Thanks, I will try that as well.  Strange it works on command line but not STDOUT though.

-----Original Message-----
From: Junio C Hamano <gitster@pobox.com> 
Sent: Friday, August 9, 2019 5:50 PM
To: Cliff Schomburg <clisc@microsoft.com>
Cc: SZEDER Gábor <szeder.dev@gmail.com>; git@vger.kernel.org
Subject: Re: "git log" does not display refs info when executed via C# Process class on Windows

Cliff Schomburg <clisc@microsoft.com> writes:

> Strangely, when I run this command:
>
> Git log origin/master --pretty=oneline --decorate -1
>
> I get the format I want from STDOUT.  However, when I try to filter it to show only the tag refs:
>
> Git log origin/master --pretty=oneline --decorate 
> --decorate-refs=^tag* -1
>
> No refs are returned to standard output again.  Only on the command line.
>
> Does --decorate-refs not return to STDOUT?

If you are asking for tags, which does not begin with a caret "^", perhaps drop "^" from the pattern?

The pattern is supposed to be wildmatch pattern, so it is already left anchored, e.g. --decorate-refs=ag* won't find any tag.



```
