Skip to content
  • Junio C Hamano's avatar
    approxidate_careful() reports errorneous date string · 93cfa7c7
    Junio C Hamano authored
    
    
    For a long time, the time based reflog syntax (e.g. master@{yesterday})
    didn't complain when the "human readable" timestamp was misspelled, as
    the underlying mechanism tried to be as lenient as possible.  The funny
    thing was that parsing of "@{now}" even relied on the fact that anything
    not recognized by the machinery returned the current timestamp.
    
    Introduce approxidate_careful() that takes an optional pointer to an
    integer, that gets assigned 1 when the input does not make sense as a
    timestamp.
    
    As I am too lazy to fix all the callers that use approxidate(), most of
    the callers do not take advantage of the error checking, but convert the
    code to parse reflog to use it as a demonstration.
    
    Tests are mostly from Jeff King.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    93cfa7c7