10 const char **push_refspec
;
14 const char **fetch_refspec
;
15 struct refspec
*fetch
;
19 * -1 to never fetch tags
20 * 0 to auto-follow tags on heuristic (default)
21 * 1 to always auto-follow tags
22 * 2 to always fetch tags
26 const char *receivepack
;
27 const char *uploadpack
;
30 struct remote
*remote_get(const char *name
);
32 typedef int each_remote_fn(struct remote
*remote
, void *priv
);
33 int for_each_remote(each_remote_fn fn
, void *priv
);
35 int remote_has_uri(struct remote
*remote
, const char *uri
);
45 struct ref
*alloc_ref(unsigned namelen
);
48 * Frees the entire list and peers of elements.
50 void free_refs(struct ref
*ref
);
52 struct refspec
*parse_ref_spec(int nr_refspec
, const char **refspec
);
54 int match_refs(struct ref
*src
, struct ref
*dst
, struct ref
***dst_tail
,
55 int nr_refspec
, char **refspec
, int all
);
58 * Given a list of the remote refs and the specification of things to
59 * fetch, makes a (separate) list of the refs to fetch and the local
62 * *tail is the pointer to the tail pointer of the list of results
63 * beforehand, and will be set to the tail pointer of the list of
66 int get_fetch_map(struct ref
*remote_refs
, const struct refspec
*refspec
,
69 struct ref
*get_remote_ref(struct ref
*remote_refs
, const char *name
);
72 * For the given remote, reads the refspec's src and sets the other fields.
74 int remote_find_tracking(struct remote
*remote
, struct refspec
*refspec
);
80 const char *remote_name
;
81 struct remote
*remote
;
83 const char **merge_name
;
84 struct refspec
**merge
;
88 struct branch
*branch_get(const char *name
);
90 int branch_has_merge_config(struct branch
*branch
);
92 int branch_merges(struct branch
*branch
, const char *refname
);