diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:49:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:49:36 +0000 |
commit | 5ec6074f0633939fd17d94111d10c6c6b062978c (patch) | |
tree | bfaa17b5a64abc66c918e9c70969e519d9e1df8e /walker.h | |
parent | Initial commit. (diff) | |
download | git-upstream.tar.xz git-upstream.zip |
Adding upstream version 1:2.30.2.upstream/1%2.30.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'walker.h')
-rw-r--r-- | walker.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/walker.h b/walker.h new file mode 100644 index 0000000..d40b016 --- /dev/null +++ b/walker.h @@ -0,0 +1,38 @@ +#ifndef WALKER_H +#define WALKER_H + +#include "remote.h" + +struct walker { + void *data; + int (*fetch_ref)(struct walker *, struct ref *ref); + void (*prefetch)(struct walker *, unsigned char *sha1); + int (*fetch)(struct walker *, unsigned char *sha1); + void (*cleanup)(struct walker *); + int get_verbosely; + int get_progress; + int get_recover; + + int corrupt_object_found; +}; + +/* Report what we got under get_verbosely */ +__attribute__((format (printf, 2, 3))) +void walker_say(struct walker *walker, const char *fmt, ...); + +/* Load pull targets from stdin */ +int walker_targets_stdin(char ***target, const char ***write_ref); + +/* Free up loaded targets */ +void walker_targets_free(int targets, char **target, const char **write_ref); + +/* If write_ref is set, the ref filename to write the target value to. */ +/* If write_ref_log_details is set, additional text will appear in the ref log. */ +int walker_fetch(struct walker *impl, int targets, char **target, + const char **write_ref, const char *write_ref_log_details); + +void walker_free(struct walker *walker); + +struct walker *get_http_walker(const char *url); + +#endif /* WALKER_H */ |