Skip to content
  • Bernhard M. Wiedemann's avatar
    perl: call timegm and timelocal with 4-digit year · a40e06ee
    Bernhard M. Wiedemann authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    Amazingly, timegm(gmtime(0)) is only 0 before 2020 because perl's
    timegm deviates from GNU timegm(3) in how it handles years.
    
    man Time::Local says
    
     Whenever possible, use an absolute four digit year instead.
    
    with a detailed explanation about ambiguity of 2-digit years above that.
    
    Even though this ambiguity is error-prone with >50% of users getting it
    wrong, it has been like this for 20+ years, so we just use 4-digit years
    everywhere to be on the safe side.
    
    We add some extra logic to cvsimport because it allows 2-digit year
    input and interpreting an 18 as 1918 can be avoided easily and safely.
    
    Signed-off-by: default avatarBernhard M. Wiedemann <bwiedemann@suse.de>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    a40e06ee