threads / discuss / 58299

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

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

## tl;dr

3 messages between Aug 13, 2022 and Aug 13, 2022.

replies: 2people: 2as markdown or json

Wang, Lei· Aug 13, 2022, 02:06 UTC · lore
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· Aug 13, 2022, 02:35 UTC · re: Wang, Lei · lore

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

On Fri, Aug 12, 2022 at 7:11 PM Wang, Lei <lei4.wang@intel.com> wrote:
Show 7 quoted lines
>  > 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· Aug 13, 2022, 10:15 UTC · re: Chris Torek · lore

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

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:
Show 22 quoted lines
> 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

← back to recent threads