Re: git log --since=<date>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Danh Doan <congdanhqx@xxxxxxxxx> writes:

> On 2020-05-02 07:54:03+0200, Dmitry Kulikov <dima@xxxxxxxxxxxx> wrote:
>> On Friday 01 May 2020 15:03:10 Junio C Hamano wrote:
>> > You of course can say "git log --since=yesterday.midnight" if you
>> > want to be exact ;-).
>> 
>>   What should I enter instead --since=2020-05-01 to have a midnight time?
>
>
> You can use the same syntax:
>
> 	git log --since='2020-05-01 midnight'
> 	# or ISO-8601
> 	git log --since='2020-05-01 00:00:00'

Perhaps the use of <date> in the documentation is what is causing
this confusion?  Would <timestamp> or <datetime> work better?

There is Documentation/date-formats.txt that is included by the help
pages for "git commit-tree", "git commit" and "git tag".  These pages
consistently use "date" and does not say timestamp nor datetime, so
the noun we use in "git log" documentation is OK.

But the date-formats documentation is not included there, so we
would be OK once we

 (1) adjust the contents of the date-formats.txt documentation to
     make sure it can be used in "git log" documentation, and

 (2) find the right place to include it in "git log" documentation.

Here is a rough draft to do so.  I was tempted not to touch
git-log.txt and instead include it in rev-list-options.txt (where
"--since" and friends are described), but the structure of the
document was not ready for that.  If somebody wants to go in that
direction, it might be better as it would allow us to cover things
like "git shortlog --since=3.months.ago", but then we probably
should do the following before we can do so:

 (1) remove the section title and its header level from
     date-formats.txt, and adjust the existing pages that include
     it, and

 (2) find the right place in rev-list-options.txt, and

 (3) make sure everybody that includes rev-list-options.txt are
     happy with the added description (if some of them do not offer
     an option to specify ranges, they must conditionally be
     excluded from using date-formats.txt).

Thanks.

 Documentation/date-formats.txt | 25 ++++++++++++++++++-------
 Documentation/git-commit.txt   |  1 -
 Documentation/git-log.txt      |  2 ++
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Documentation/date-formats.txt b/Documentation/date-formats.txt
index 6926e0a4c8..ce6f6bdb95 100644
--- a/Documentation/date-formats.txt
+++ b/Documentation/date-formats.txt
@@ -1,11 +1,10 @@
-DATE FORMATS
-------------
+DATE INPUT FORMATS
+------------------
 
-The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables
-ifdef::git-commit[]
-and the `--date` option
-endif::git-commit[]
-support the following date formats:
+The `GIT_AUTHOR_DATE`, `GIT_COMMITTER_DATE` environment variables,
+the `--date` option of `git commit`, and
+the options like `--since` of `git log`,
+all of which specify date-time, support the following date formats:
 
 Git internal format::
 	It is `<unix timestamp> <time zone offset>`, where `<unix
@@ -24,3 +23,15 @@ ISO 8601::
 +
 NOTE: In addition, the date part is accepted in the following formats:
 `YYYY.MM.DD`, `MM/DD/YYYY` and `DD.MM.YYYY`.
++
+NOTE: Some human-friendly date and time (e.g. `yesterday`,
+`midnight`, `4 days ago`) are also accepted.  
+The full list is left as trivia for readers to discover.
++
+NOTE: A date-time that lacks time-part is taken to be the same time on
+that day.  For example, `yesterday` used at 8 in the morning means 8 in the
+morning yesterday.  A date-time that lacks date-part is taken to be
+the given time on the same day (if the time has already passed) or
+on the day before (otherwise).  For example, `8AM` used at 9 in the morning
+means an hour ago the same day, while `noon` used at 9 in the morning 
+is taken as the noon the day before.
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index a3baea32ae..70cf5d9d4f 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -494,7 +494,6 @@ the environment variables.
 The typical usage is to set just the `user.name` and `user.email` variables;
 the other options are provided for more complex use cases.
 
-:git-commit: 1
 include::date-formats.txt[]
 
 DISCUSSION
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 20e6d21a74..d2bda18d45 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -109,6 +109,8 @@ options or the revision range, when confusion arises.
 
 include::rev-list-options.txt[]
 
+include::date-formats.txt[]
+
 include::pretty-formats.txt[]
 
 COMMON DIFF OPTIONS



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux