diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-07-26 12:56:19 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-07-26 12:56:19 -0700 |
commit | 487fe1ffcd3b3a38477b7e564f235bb7d1b89ecc (patch) | |
tree | 84704f656f5b21785f3879e11cf6030495d2192e /convert.h | |
parent | 5800c63717ae35286a1441f14ffff753e01f7e2b (diff) | |
parent | 2841e8f81cb2820024804b9341577be1d0ce1240 (diff) | |
download | git-487fe1ffcd3b3a38477b7e564f235bb7d1b89ecc.tar.gz |
Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake
* ls/filter-process-delayed:
convert: add "status=delayed" to filter process protocol
convert: refactor capabilities negotiation
convert: move multiple file filter error handling to separate function
convert: put the flags field before the flag itself for consistent style
t0021: write "OUT <size>" only on success
t0021: make debug log file name configurable
t0021: keep filter log files on comparison
Diffstat (limited to 'convert.h')
-rw-r--r-- | convert.h | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -4,6 +4,8 @@ #ifndef CONVERT_H #define CONVERT_H +#include "string-list.h" + struct index_state; enum safe_crlf { @@ -34,6 +36,26 @@ enum eol { #endif }; +enum ce_delay_state { + CE_NO_DELAY = 0, + CE_CAN_DELAY = 1, + CE_RETRY = 2 +}; + +struct delayed_checkout { + /* + * State of the currently processed cache entry. If the state is + * CE_CAN_DELAY, then the filter can delay the current cache entry. + * If the state is CE_RETRY, then this signals the filter that the + * cache entry was requested before. + */ + enum ce_delay_state state; + /* List of filter drivers that signaled delayed blobs. */ + struct string_list filters; + /* List of delayed blobs identified by their path. */ + struct string_list paths; +}; + extern enum eol core_eol; extern const char *get_cached_convert_stats_ascii(const struct index_state *istate, const char *path); @@ -46,6 +68,10 @@ extern int convert_to_git(const struct index_state *istate, 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 async_convert_to_working_tree(const char *path, const char *src, + size_t len, struct strbuf *dst, + void *dco); +extern int async_query_available_blobs(const char *cmd, struct string_list *available_paths); extern int renormalize_buffer(const struct index_state *istate, const char *path, const char *src, size_t len, struct strbuf *dst); |