Skip to content
  • Torsten Bögershausen's avatar
    convert_to_git(): safe_crlf/checksafe becomes int conv_flags · 8462ff43
    Torsten Bögershausen authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    When calling convert_to_git(), the checksafe parameter defined what
    should happen if the EOL conversion (CRLF --> LF --> CRLF) does not
    roundtrip cleanly. In addition, it also defined if line endings should
    be renormalized (CRLF --> LF) or kept as they are.
    
    checksafe was an safe_crlf enum with these values:
    SAFE_CRLF_FALSE:       do nothing in case of EOL roundtrip errors
    SAFE_CRLF_FAIL:        die in case of EOL roundtrip errors
    SAFE_CRLF_WARN:        print a warning in case of EOL roundtrip errors
    SAFE_CRLF_RENORMALIZE: change CRLF to LF
    SAFE_CRLF_KEEP_CRLF:   keep all line endings as they are
    
    In some cases the integer value 0 was passed as checksafe parameter
    instead of the correct enum value SAFE_CRLF_FALSE. That was no problem
    because SAFE_CRLF_FALSE is defined as 0.
    
    FALSE/FAIL/WARN are different from RENORMALIZE and KEEP_CRLF. Therefore,
    an enum is not ideal. Let's use a integer bit pattern instead and rename
    the parameter to conv_flags to make it more generically usable. This
    allows us to extend the bit pattern in a subsequent commit.
    
    Reported-By: default avatarRandall S. Becker <rsbecker@nexbridge.com>
    Helped-By: default avatarLars Schneider <larsxschneider@gmail.com>
    Signed-off-by: default avatarTorsten Bögershausen <tboegi@web.de>
    Signed-off-by: default avatarLars Schneider <larsxschneider@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    8462ff43