connected.c: add new variant that runs with --shallow-file
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
069c053222
commit
614db3e292
42
connected.c
42
connected.c
@ -19,17 +19,17 @@ int check_everything_connected(sha1_iterate_fn fn, int quiet, void *cb_data)
|
||||
*
|
||||
* Returns 0 if everything is connected, non-zero otherwise.
|
||||
*/
|
||||
int check_everything_connected_with_transport(sha1_iterate_fn fn,
|
||||
int quiet,
|
||||
void *cb_data,
|
||||
struct transport *transport)
|
||||
static int check_everything_connected_real(sha1_iterate_fn fn,
|
||||
int quiet,
|
||||
void *cb_data,
|
||||
struct transport *transport,
|
||||
const char *shallow_file)
|
||||
{
|
||||
struct child_process rev_list;
|
||||
const char *argv[] = {"rev-list", "--objects",
|
||||
"--stdin", "--not", "--all", NULL, NULL};
|
||||
const char *argv[9];
|
||||
char commit[41];
|
||||
unsigned char sha1[20];
|
||||
int err = 0;
|
||||
int err = 0, ac = 0;
|
||||
struct packed_git *new_pack = NULL;
|
||||
|
||||
if (fn(cb_data, sha1))
|
||||
@ -47,8 +47,18 @@ int check_everything_connected_with_transport(sha1_iterate_fn fn,
|
||||
strbuf_release(&idx_file);
|
||||
}
|
||||
|
||||
if (shallow_file) {
|
||||
argv[ac++] = "--shallow-file";
|
||||
argv[ac++] = shallow_file;
|
||||
}
|
||||
argv[ac++] = "rev-list";
|
||||
argv[ac++] = "--objects";
|
||||
argv[ac++] = "--stdin";
|
||||
argv[ac++] = "--not";
|
||||
argv[ac++] = "--all";
|
||||
if (quiet)
|
||||
argv[5] = "--quiet";
|
||||
argv[ac++] = "--quiet";
|
||||
argv[ac] = NULL;
|
||||
|
||||
memset(&rev_list, 0, sizeof(rev_list));
|
||||
rev_list.argv = argv;
|
||||
@ -92,3 +102,19 @@ int check_everything_connected_with_transport(sha1_iterate_fn fn,
|
||||
sigchain_pop(SIGPIPE);
|
||||
return finish_command(&rev_list) || err;
|
||||
}
|
||||
|
||||
int check_everything_connected_with_transport(sha1_iterate_fn fn,
|
||||
int quiet,
|
||||
void *cb_data,
|
||||
struct transport *transport)
|
||||
{
|
||||
return check_everything_connected_real(fn, quiet, cb_data,
|
||||
transport, NULL);
|
||||
}
|
||||
|
||||
int check_shallow_connected(sha1_iterate_fn fn, int quiet, void *cb_data,
|
||||
const char *shallow_file)
|
||||
{
|
||||
return check_everything_connected_real(fn, quiet, cb_data,
|
||||
NULL, shallow_file);
|
||||
}
|
||||
|
@ -18,6 +18,8 @@ typedef int (*sha1_iterate_fn)(void *, unsigned char [20]);
|
||||
* Return 0 if Ok, non zero otherwise (i.e. some missing objects)
|
||||
*/
|
||||
extern int check_everything_connected(sha1_iterate_fn, int quiet, void *cb_data);
|
||||
extern int check_shallow_connected(sha1_iterate_fn, int quiet, void *cb_data,
|
||||
const char *shallow_file);
|
||||
extern int check_everything_connected_with_transport(sha1_iterate_fn, int quiet,
|
||||
void *cb_data,
|
||||
struct transport *transport);
|
||||
|
Loading…
Reference in New Issue
Block a user