mirror of
https://github.com/git/git.git
synced 2026-01-10 01:56:42 +00:00
convert_to_git(): safe_crlf/checksafe becomes int conv_flags
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: Randall S. Becker <rsbecker@nexbridge.com> Helped-By: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
1eaabe34fc
commit
8462ff43e4
17
convert.h
17
convert.h
@@ -8,15 +8,12 @@
|
||||
|
||||
struct index_state;
|
||||
|
||||
enum safe_crlf {
|
||||
SAFE_CRLF_FALSE = 0,
|
||||
SAFE_CRLF_FAIL = 1,
|
||||
SAFE_CRLF_WARN = 2,
|
||||
SAFE_CRLF_RENORMALIZE = 3,
|
||||
SAFE_CRLF_KEEP_CRLF = 4
|
||||
};
|
||||
#define CONV_EOL_RNDTRP_DIE (1<<0) /* Die if CRLF to LF to CRLF is different */
|
||||
#define CONV_EOL_RNDTRP_WARN (1<<1) /* Warn if CRLF to LF to CRLF is different */
|
||||
#define CONV_EOL_RENORMALIZE (1<<2) /* Convert CRLF to LF */
|
||||
#define CONV_EOL_KEEP_CRLF (1<<3) /* Keep CRLF line endings as is */
|
||||
|
||||
extern enum safe_crlf safe_crlf;
|
||||
extern int global_conv_flags_eol;
|
||||
|
||||
enum auto_crlf {
|
||||
AUTO_CRLF_FALSE = 0,
|
||||
@@ -66,7 +63,7 @@ extern const char *get_convert_attr_ascii(const char *path);
|
||||
/* returns 1 if *dst was used */
|
||||
extern int convert_to_git(const struct index_state *istate,
|
||||
const char *path, const char *src, size_t len,
|
||||
struct strbuf *dst, enum safe_crlf checksafe);
|
||||
struct strbuf *dst, int conv_flags);
|
||||
extern int convert_to_working_tree(const char *path, const char *src,
|
||||
size_t len, struct strbuf *dst);
|
||||
extern int async_convert_to_working_tree(const char *path, const char *src,
|
||||
@@ -85,7 +82,7 @@ static inline int would_convert_to_git(const struct index_state *istate,
|
||||
extern void convert_to_git_filter_fd(const struct index_state *istate,
|
||||
const char *path, int fd,
|
||||
struct strbuf *dst,
|
||||
enum safe_crlf checksafe);
|
||||
int conv_flags);
|
||||
extern int would_convert_to_git_filter_fd(const char *path);
|
||||
|
||||
/*****************************************************************
|
||||
|
||||
Reference in New Issue
Block a user