blob: 40f08bab24df917986de73c8d7f4d9d36fe658da [file] [log] [blame]
Daniel Barkalow2d4177c2007-09-10 23:03:00 -04001#ifndef FETCH_PACK_H
2#define FETCH_PACK_H
3
Michael Haggerty8bee93d2012-09-09 08:19:40 +02004#include "string-list.h"
5
Jonathan Nieder9cba13c2011-03-16 02:08:34 -05006struct fetch_pack_args {
Daniel Barkalow2d4177c2007-09-10 23:03:00 -04007 const char *uploadpack;
Daniel Barkalow2d4177c2007-09-10 23:03:00 -04008 int unpacklimit;
Daniel Barkalow2d4177c2007-09-10 23:03:00 -04009 int depth;
Shawn O. Pearcebbaf4582007-09-18 04:55:00 -040010 unsigned quiet:1,
11 keep_pack:1,
Shawn O. Pearcefa740522007-09-19 00:49:35 -040012 lock_pack:1,
Shawn O. Pearcebbaf4582007-09-18 04:55:00 -040013 use_thin_pack:1,
14 fetch_all:1,
Ivan Todoroski078b8952012-04-02 17:13:48 +020015 stdin_refs:1,
Shawn O. Pearcebbaf4582007-09-18 04:55:00 -040016 verbose:1,
Shawn O. Pearce348e3902008-03-03 22:27:33 -050017 no_progress:1,
Shawn O. Pearce249b2002009-10-30 17:47:42 -070018 include_tag:1,
Nguyễn Thái Ngọc Duyc6807a42013-05-26 08:16:17 +070019 stateless_rpc:1,
20 check_self_contained_and_connected:1,
21 self_contained_and_connected:1;
Daniel Barkalow2d4177c2007-09-10 23:03:00 -040022};
23
Michael Haggerty4ba15992012-09-09 08:19:43 +020024/*
Junio C Hamanof2db8542013-01-29 14:02:15 -080025 * sought represents remote references that should be updated from.
26 * On return, the names that were found on the remote will have been
27 * marked as such.
Michael Haggerty4ba15992012-09-09 08:19:43 +020028 */
Shawn O. Pearcefa740522007-09-19 00:49:35 -040029struct ref *fetch_pack(struct fetch_pack_args *args,
Michael Haggerty63c69452012-09-09 08:19:39 +020030 int fd[], struct child_process *conn,
31 const struct ref *ref,
32 const char *dest,
Junio C Hamanof2db8542013-01-29 14:02:15 -080033 struct ref **sought,
34 int nr_sought,
Michael Haggerty63c69452012-09-09 08:19:39 +020035 char **pack_lockfile);
Daniel Barkalow2d4177c2007-09-10 23:03:00 -040036
37#endif