• Bernhard M. Wiedemann's avatar
    perl: call timegm and timelocal with 4-digit year · a40e06ee
    Bernhard M. Wiedemann authored
    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: Bernhard M. Wiedemann's avatarBernhard M. Wiedemann <bwiedemann@suse.de>
    Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
    a40e06ee
git-cvsimport.perl 31.3 KB