From: Junio C Hamano Date: Thu, 30 Jun 2011 00:09:28 +0000 (-0700) Subject: Merge branch 'jc/streaming-filter' into next X-Git-Tag: v1.7.7-rc0~112 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/9901923cf0994582592a34128a466c58735621fd?ds=inline;hp=-c Merge branch 'jc/streaming-filter' into next * jc/streaming-filter: t0021: test application of both crlf and ident t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test streaming: filter cascading streaming filter: ident filter Add LF-to-CRLF streaming conversion stream filter: add "no more input" to the filters Add streaming filter API convert.h: move declarations for conversion from cache.h --- 9901923cf0994582592a34128a466c58735621fd diff --combined cache.h index 79c9302e22,c781c118d2..bc9e5eb15e --- a/cache.h +++ b/cache.h @@@ -6,6 -6,7 +6,7 @@@ #include "hash.h" #include "advice.h" #include "gettext.h" + #include "convert.h" #include SHA1_HEADER #ifndef git_SHA_CTX @@@ -582,35 -583,6 +583,6 @@@ extern int fsync_object_files extern int core_preload_index; extern int core_apply_sparse_checkout; - enum safe_crlf { - SAFE_CRLF_FALSE = 0, - SAFE_CRLF_FAIL = 1, - SAFE_CRLF_WARN = 2 - }; - - extern enum safe_crlf safe_crlf; - - enum auto_crlf { - AUTO_CRLF_FALSE = 0, - AUTO_CRLF_TRUE = 1, - AUTO_CRLF_INPUT = -1 - }; - - extern enum auto_crlf auto_crlf; - - enum eol { - EOL_UNSET, - EOL_CRLF, - EOL_LF, - #ifdef NATIVE_CRLF - EOL_NATIVE = EOL_CRLF - #else - EOL_NATIVE = EOL_LF - #endif - }; - - extern enum eol core_eol; - enum branch_track { BRANCH_TRACK_UNSPECIFIED = -1, BRANCH_TRACK_NEVER = 0, @@@ -747,7 -719,7 +719,7 @@@ extern char *expand_user_path(const cha char *enter_repo(char *path, int strict); static inline int is_absolute_path(const char *path) { - return path[0] == '/' || has_dos_drive_prefix(path); + return is_dir_sep(path[0]) || has_dos_drive_prefix(path); } int is_directory(const char *); const char *real_path(const char *path); @@@ -816,15 -788,15 +788,15 @@@ struct object_context }; extern int get_sha1(const char *str, unsigned char *sha1); -extern int get_sha1_with_mode_1(const char *str, unsigned char *sha1, unsigned *mode, int gently, const char *prefix); +extern int get_sha1_with_mode_1(const char *str, unsigned char *sha1, unsigned *mode, int only_to_die, const char *prefix); static inline int get_sha1_with_mode(const char *str, unsigned char *sha1, unsigned *mode) { - return get_sha1_with_mode_1(str, sha1, mode, 1, NULL); + return get_sha1_with_mode_1(str, sha1, mode, 0, NULL); } -extern int get_sha1_with_context_1(const char *name, unsigned char *sha1, struct object_context *orc, int gently, const char *prefix); +extern int get_sha1_with_context_1(const char *name, unsigned char *sha1, struct object_context *orc, int only_to_die, const char *prefix); static inline int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc) { - return get_sha1_with_context_1(str, sha1, orc, 1, NULL); + return get_sha1_with_context_1(str, sha1, orc, 0, NULL); } extern int get_sha1_hex(const char *hex, unsigned char *sha1); extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */ @@@ -991,7 -963,6 +963,7 @@@ extern struct ref *find_ref_by_name(con extern char *git_getpass(const char *prompt); extern struct child_process *git_connect(int fd[2], const char *url, const char *prog, int flags); extern int finish_connect(struct child_process *conn); +extern int git_connection_is_socket(struct child_process *conn); extern int path_match(const char *path, int nr, char **match); struct extra_have_objects { int nr, alloc; @@@ -1059,20 -1030,12 +1031,20 @@@ extern int sha1_object_info_extended(co /* Dumb servers support */ extern int update_server_info(int); +/* git_config_parse_key() returns these negated: */ +#define CONFIG_INVALID_KEY 1 +#define CONFIG_NO_SECTION_OR_NAME 2 +/* git_config_set(), git_config_set_multivar() return the above or these: */ +#define CONFIG_NO_LOCK -1 +#define CONFIG_INVALID_FILE 3 +#define CONFIG_NO_WRITE 4 +#define CONFIG_NOTHING_SET 5 +#define CONFIG_INVALID_PATTERN 6 + typedef int (*config_fn_t)(const char *, const char *, void *); extern int git_default_config(const char *, const char *, void *); extern int git_config_from_file(config_fn_t fn, const char *, void *); extern void git_config_push_parameter(const char *text); -extern int git_config_parse_parameter(const char *text); -extern int git_config_parse_environment(void); extern int git_config_from_parameters(config_fn_t fn, void *data); extern int git_config(config_fn_t fn, void *); extern int git_config_early(config_fn_t fn, void *, const char *repo_config); @@@ -1162,14 -1125,6 +1134,6 @@@ extern void trace_strbuf(const char *ke void packet_trace_identity(const char *prog); - /* convert.c */ - /* returns 1 if *dst was used */ - extern int convert_to_git(const char *path, const char *src, size_t len, - struct strbuf *dst, enum safe_crlf checksafe); - extern int convert_to_working_tree(const char *path, const char *src, size_t len, struct strbuf *dst); - extern int renormalize_buffer(const char *path, const char *src, size_t len, struct strbuf *dst); - extern int can_bypass_conversion(const char *path); - /* add */ /* * return 0 if success, 1 - if addition of a file failed and