blob: 071d408f387b2afdbb642920054a7735c982200b [file] [log] [blame]
Junio C Hamanof96400c2011-09-02 16:33:22 -07001#ifndef CONNECTED_H
2#define CONNECTED_H
3
Nguyễn Thái Ngọc Duyc6807a42013-05-26 08:16:17 +07004struct transport;
5
Junio C Hamanof96400c2011-09-02 16:33:22 -07006/*
7 * Take callback data, and return next object name in the buffer.
8 * When called after returning the name for the last object, return -1
9 * to signal EOF, otherwise return 0.
10 */
11typedef int (*sha1_iterate_fn)(void *, unsigned char [20]);
12
13/*
14 * Make sure that our object store has all the commits necessary to
15 * connect the ancestry chain to some of our existing refs, and all
16 * the trees and blobs that these commits use.
17 *
18 * Return 0 if Ok, non zero otherwise (i.e. some missing objects)
19 */
20extern int check_everything_connected(sha1_iterate_fn, int quiet, void *cb_data);
Nguyễn Thái Ngọc Duy614db3e2013-12-05 20:02:46 +070021extern int check_shallow_connected(sha1_iterate_fn, int quiet, void *cb_data,
22 const char *shallow_file);
Nguyễn Thái Ngọc Duyc6807a42013-05-26 08:16:17 +070023extern int check_everything_connected_with_transport(sha1_iterate_fn, int quiet,
24 void *cb_data,
25 struct transport *transport);
Junio C Hamanof96400c2011-09-02 16:33:22 -070026
27#endif /* CONNECTED_H */