# [Question]: Does "git log" involve some stochastic operations?

3 messages from 2022-08-13 to 2022-08-13. Participants: Wang, Lei, Chris Torek.
Thread: https://gitlist.dev/t/58299

## Wang, Lei, 2022-08-13 02:06

Subject: [Question]: Does "git log" involve some stochastic operations?
Message-ID: <20d7c54f-7438-1124-7a9e-fdc902a4cc18@intel.com>
URL: https://gitlist.dev/e/20d7c54f-7438-1124-7a9e-fdc902a4cc18%40intel.com

```
Hi,

I have a question about the internal of "git log". Each time when I 
execute the following command:

 > git log --numstat --since="2022-06-01" --until="2022-06-21" 
--no-merges --format=%n%n%s%n%H%n%cs%n%an\<%ae

The number of the commits in the output is slightly different. I didn't 
do any sync operation in the repo, so the only reason I can found is 
that maybe git log involves some stochastic operations, so each time the 
output will be a little changed. Is my assumption right?

-- 
BR,
Lei


```

## Chris Torek, 2022-08-13 02:35

Subject: Re: [Question]: Does "git log" involve some stochastic operations?
Message-ID: <CAPx1GveLZm0NH7hBqRSKHJMXttT8Wwnqm3ebjUEpbEXNwh+61w@mail.gmail.com>
URL: https://gitlist.dev/e/CAPx1GveLZm0NH7hBqRSKHJMXttT8Wwnqm3ebjUEpbEXNwh%2B61w%40mail.gmail.com
In-Reply-To: <20d7c54f-7438-1124-7a9e-fdc902a4cc18@intel.com>

```
On Fri, Aug 12, 2022 at 7:11 PM Wang, Lei <lei4.wang@intel.com> wrote:
>  > git log --numstat --since="2022-06-01" --until="2022-06-21"
> --no-merges --format=%n%n%s%n%H%n%cs%n%an\<%ae
>
> The number of the commits in the output is slightly different. I didn't
> do any sync operation in the repo, so the only reason I can found is
> that maybe git log involves some stochastic operations, so each time the
> output will be a little changed. Is my assumption right?

The `--since` and `--until` date values use the *current time* if you do
not specify an exact time.  For instance, "yesterday" means "precisely
24 hours ago" (86400 seconds ago), and "--since 2022-06-01" means
"since 1 June 2022 at whatever time of day it is right now".  If you want
commits with timestamps that are since *midnight* on that day, include
the midnight part in the date.

(This is probably a UX bug, of sorts: to mean "at now-oclock on a given
date" we should probably have a syntax like "2022-06-21:(now)" and
when a specific date is given, the default should be midnight for "since"
and 23:59:59 for "until", or 23:59:60 if that's a leap-second date.  But
changing this is probably not in the cards.)

Chris

```

## Wang, Lei, 2022-08-13 10:15

Subject: Re: [Question]: Does "git log" involve some stochastic operations?
Message-ID: <27fe218d-886d-2c26-e436-104acd2b9bf6@intel.com>
URL: https://gitlist.dev/e/27fe218d-886d-2c26-e436-104acd2b9bf6%40intel.com
In-Reply-To: <CAPx1GveLZm0NH7hBqRSKHJMXttT8Wwnqm3ebjUEpbEXNwh+61w@mail.gmail.com>

```
Wonderful! That make sense that each time I do the calculation, the 
result will be slightly different.

BR,
Lei

On 8/13/2022 10:35 AM, Chris Torek wrote:
> On Fri, Aug 12, 2022 at 7:11 PM Wang, Lei <lei4.wang@intel.com> wrote:
>>   > git log --numstat --since="2022-06-01" --until="2022-06-21"
>> --no-merges --format=%n%n%s%n%H%n%cs%n%an\<%ae
>>
>> The number of the commits in the output is slightly different. I didn't
>> do any sync operation in the repo, so the only reason I can found is
>> that maybe git log involves some stochastic operations, so each time the
>> output will be a little changed. Is my assumption right?
> The `--since` and `--until` date values use the *current time* if you do
> not specify an exact time.  For instance, "yesterday" means "precisely
> 24 hours ago" (86400 seconds ago), and "--since 2022-06-01" means
> "since 1 June 2022 at whatever time of day it is right now".  If you want
> commits with timestamps that are since *midnight* on that day, include
> the midnight part in the date.
>
> (This is probably a UX bug, of sorts: to mean "at now-oclock on a given
> date" we should probably have a syntax like "2022-06-21:(now)" and
> when a specific date is given, the default should be midnight for "since"
> and 23:59:59 for "until", or 23:59:60 if that's a leap-second date.  But
> changing this is probably not in the cards.)
>
> Chris

```
