• J
    date.c: add parse_expiry_date() · 3d27b9b0
    Junio C Hamano 提交于
    "git reflog --expire=all" tries to expire reflog entries up to the
    current second, because the approxidate() parser gives the current
    timestamp for anything it does not understand (and it does not know
    what time "all" means).  When the user tells us to expire "all" (or
    set the expiration time to "now"), the user wants to remove all the
    reflog entries (no reflog entry should record future time).
    
    Just set it to ULONG_MAX and to let everything that is older that
    timestamp expire.
    
    While at it, allow "now" to be treated the same way for callers that
    parse expiry date timestamp with this function.  Also use an error
    reporting version of approxidate() to report misspelled date.  When
    the user says e.g. "--expire=mnoday" to delete entries two days or
    older on Wednesday, we wouldn't want the "unknown, default to now"
    logic to kick in.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    3d27b9b0
cache.h 44.6 KB