# Git Log and History Simplification

4 messages from 2012-12-17 to 2012-12-17. Participants: Dinesh Subramani, Nguyen Thai Ngoc Duy, Tomas Carnecky, Junio C Hamano.
Thread: https://gitlist.dev/t/32375

## Dinesh Subramani, 2012-12-17 11:33

Subject: Git Log and History Simplification
Message-ID: <CAE116wxTY0sFh5nZwGEYRz=gJwXgFEj8Nvwh41RCYH4vgYCqSQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAE116wxTY0sFh5nZwGEYRz%3DgJwXgFEj8Nvwh41RCYH4vgYCqSQ%40mail.gmail.com

```
I am using the below command :

git log --stat --decorate=full --since=<date>

Can you please let me know if the above command will list all the
commits and would not skip any of the commits due to History
Simplification. Any help would be very useful.

Regards,
Dinesh

```

## Nguyen Thai Ngoc Duy, 2012-12-17 11:49

Subject: Re: Git Log and History Simplification
Message-ID: <CACsJy8BsL03zr_wGZH5kqS0NaMfPKct2T7_62jstxRB4c_FudQ@mail.gmail.com>
URL: https://gitlist.dev/e/CACsJy8BsL03zr_wGZH5kqS0NaMfPKct2T7_62jstxRB4c_FudQ%40mail.gmail.com
In-Reply-To: <CAE116wxTY0sFh5nZwGEYRz=gJwXgFEj8Nvwh41RCYH4vgYCqSQ@mail.gmail.com>

```
On Mon, Dec 17, 2012 at 6:33 PM, Dinesh Subramani
<dinesh.subramani@gmail.com> wrote:
> I am using the below command :
>
> git log --stat --decorate=full --since=<date>
>
> Can you please let me know if the above command will list all the
> commits and would not skip any of the commits due to History
> Simplification. Any help would be very useful.

If my memory is still functioning, history simplification only takes
place when you specify pathspec. The above command does not have
pathspec, so no history simplification.
-- 
Duy

```

## Tomas Carnecky, 2012-12-17 12:34

Subject: Re: Git Log and History Simplification
Message-ID: <1355747660-ner-9463@calvin>
URL: https://gitlist.dev/e/1355747660-ner-9463%40calvin
In-Reply-To: <CAE116wxTY0sFh5nZwGEYRz=gJwXgFEj8Nvwh41RCYH4vgYCqSQ@mail.gmail.com>

```
On Mon, 17 Dec 2012 17:03:09 +0530, Dinesh Subramani <dinesh.subramani@gmail.com> wrote:
> I am using the below command :
> 
> git log --stat --decorate=full --since=<date>
> 
> Can you please let me know if the above command will list all the
> commits and would not skip any of the commits due to History
> Simplification. Any help would be very useful.

The way I understand the man page, to disable history simplification you have
to use --full-history --sparse.

```

## Junio C Hamano, 2012-12-17 19:53

Subject: Re: Git Log and History Simplification
Message-ID: <7vvcc0lakr.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vvcc0lakr.fsf%40alter.siamese.dyndns.org
In-Reply-To: <CACsJy8BsL03zr_wGZH5kqS0NaMfPKct2T7_62jstxRB4c_FudQ@mail.gmail.com>

```
Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:

> On Mon, Dec 17, 2012 at 6:33 PM, Dinesh Subramani
> <dinesh.subramani@gmail.com> wrote:
>> I am using the below command :
>>
>> git log --stat --decorate=full --since=<date>
>>
>> Can you please let me know if the above command will list all the
>> commits and would not skip any of the commits due to History
>> Simplification. Any help would be very useful.
>
> If my memory is still functioning, history simplification only takes
> place when you specify pathspec. The above command does not have
> pathspec, so no history simplification.

Think of the pathspec limiting as asking to choose commits by one
criteria (i.e. touches paths in a way that matters in the result),
like any other commit limiting criteria like "--grep" (i.e. asks to
choose commits that has the given string in its message).

With something like --author or --grep, we would need to look at
each individual commmit to decide if it matches the criteria.  With
pathspec, when we look at a single-parent commit, we inspect it to
decide if it matches the criteria of touching the specified paths.

When we are looking at a merge commit, however, if one of the
parents match the result at all the paths that match the given
pathspec, we know any and all commits on the other side branches do
not matter in the result, hence we can omit them by not even having
to follow that parent ancestry.

If you mention --full-history in your answer, it will be perfect ;-)

```
