diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-08-23 14:33:52 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-23 14:33:52 -0700 |
commit | df2dd283164b7f1776b04dfbea9302a0bd1c170c (patch) | |
tree | 100a0df7424dcecce81e71f921ecbaad57eff53e /convert.h | |
parent | de55703672ea47893702c0bfaffb4788d2eb3818 (diff) | |
parent | fa64a2fdbeedd98c5f24d1662bcc470a8449abcf (diff) | |
download | git-df2dd283164b7f1776b04dfbea9302a0bd1c170c.tar.gz git-df2dd283164b7f1776b04dfbea9302a0bd1c170c.tar.xz |
Merge branch 'jt/subprocess-handshake' into maint
Code cleanup.
* jt/subprocess-handshake:
sub-process: refactor handshake to common function
Documentation: migrate sub-process docs to header
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); |