* You should most likely use a default of 0 or 1. "Punt" (-1) could be useful
* to be able to fall back to some historical compatibility name.
*/
- extern void setup_auto_pager(const char *cmd, int def);
+ void setup_auto_pager(const char *cmd, int def);
- extern int is_builtin(const char *s);
+ int is_builtin(const char *s);
- extern int cmd_add(int argc, const char **argv, const char *prefix);
- extern int cmd_am(int argc, const char **argv, const char *prefix);
- extern int cmd_annotate(int argc, const char **argv, const char *prefix);
- extern int cmd_apply(int argc, const char **argv, const char *prefix);
- extern int cmd_archive(int argc, const char **argv, const char *prefix);
- extern int cmd_bisect__helper(int argc, const char **argv, const char *prefix);
- extern int cmd_blame(int argc, const char **argv, const char *prefix);
- extern int cmd_branch(int argc, const char **argv, const char *prefix);
- extern int cmd_bundle(int argc, const char **argv, const char *prefix);
- extern int cmd_cat_file(int argc, const char **argv, const char *prefix);
- extern int cmd_checkout(int argc, const char **argv, const char *prefix);
- extern int cmd_checkout_index(int argc, const char **argv, const char *prefix);
- extern int cmd_check_attr(int argc, const char **argv, const char *prefix);
- extern int cmd_check_ignore(int argc, const char **argv, const char *prefix);
- extern int cmd_check_mailmap(int argc, const char **argv, const char *prefix);
- extern int cmd_check_ref_format(int argc, const char **argv, const char *prefix);
- extern int cmd_cherry(int argc, const char **argv, const char *prefix);
- extern int cmd_cherry_pick(int argc, const char **argv, const char *prefix);
- extern int cmd_clone(int argc, const char **argv, const char *prefix);
- extern int cmd_clean(int argc, const char **argv, const char *prefix);
- extern int cmd_column(int argc, const char **argv, const char *prefix);
- extern int cmd_commit(int argc, const char **argv, const char *prefix);
- extern int cmd_commit_graph(int argc, const char **argv, const char *prefix);
- extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_config(int argc, const char **argv, const char *prefix);
- extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
- extern int cmd_credential(int argc, const char **argv, const char *prefix);
- extern int cmd_describe(int argc, const char **argv, const char *prefix);
- extern int cmd_diff_files(int argc, const char **argv, const char *prefix);
- extern int cmd_diff_index(int argc, const char **argv, const char *prefix);
- extern int cmd_diff(int argc, const char **argv, const char *prefix);
- extern int cmd_diff_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_difftool(int argc, const char **argv, const char *prefix);
- extern int cmd_fast_export(int argc, const char **argv, const char *prefix);
- extern int cmd_fetch(int argc, const char **argv, const char *prefix);
- extern int cmd_fetch_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);
- extern int cmd_for_each_ref(int argc, const char **argv, const char *prefix);
- extern int cmd_format_patch(int argc, const char **argv, const char *prefix);
- extern int cmd_fsck(int argc, const char **argv, const char *prefix);
- extern int cmd_gc(int argc, const char **argv, const char *prefix);
- extern int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix);
- extern int cmd_grep(int argc, const char **argv, const char *prefix);
- extern int cmd_hash_object(int argc, const char **argv, const char *prefix);
- extern int cmd_help(int argc, const char **argv, const char *prefix);
- extern int cmd_index_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_init_db(int argc, const char **argv, const char *prefix);
- extern int cmd_interpret_trailers(int argc, const char **argv, const char *prefix);
- extern int cmd_log(int argc, const char **argv, const char *prefix);
- extern int cmd_log_reflog(int argc, const char **argv, const char *prefix);
- extern int cmd_ls_files(int argc, const char **argv, const char *prefix);
- extern int cmd_ls_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_ls_remote(int argc, const char **argv, const char *prefix);
- extern int cmd_mailinfo(int argc, const char **argv, const char *prefix);
- extern int cmd_mailsplit(int argc, const char **argv, const char *prefix);
- extern int cmd_merge(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_base(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_index(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_ours(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_file(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_recursive(int argc, const char **argv, const char *prefix);
- extern int cmd_merge_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_mktag(int argc, const char **argv, const char *prefix);
- extern int cmd_mktree(int argc, const char **argv, const char *prefix);
- extern int cmd_multi_pack_index(int argc, const char **argv, const char *prefix);
- extern int cmd_mv(int argc, const char **argv, const char *prefix);
- extern int cmd_name_rev(int argc, const char **argv, const char *prefix);
- extern int cmd_notes(int argc, const char **argv, const char *prefix);
- extern int cmd_pack_objects(int argc, const char **argv, const char *prefix);
- extern int cmd_pack_redundant(int argc, const char **argv, const char *prefix);
- extern int cmd_patch_id(int argc, const char **argv, const char *prefix);
- extern int cmd_prune(int argc, const char **argv, const char *prefix);
- extern int cmd_prune_packed(int argc, const char **argv, const char *prefix);
- extern int cmd_pull(int argc, const char **argv, const char *prefix);
- extern int cmd_push(int argc, const char **argv, const char *prefix);
- extern int cmd_range_diff(int argc, const char **argv, const char *prefix);
- extern int cmd_read_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_rebase(int argc, const char **argv, const char *prefix);
- extern int cmd_rebase__interactive(int argc, const char **argv, const char *prefix);
- extern int cmd_receive_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_reflog(int argc, const char **argv, const char *prefix);
- extern int cmd_remote(int argc, const char **argv, const char *prefix);
- extern int cmd_remote_ext(int argc, const char **argv, const char *prefix);
- extern int cmd_remote_fd(int argc, const char **argv, const char *prefix);
- extern int cmd_repack(int argc, const char **argv, const char *prefix);
- extern int cmd_rerere(int argc, const char **argv, const char *prefix);
- extern int cmd_reset(int argc, const char **argv, const char *prefix);
- extern int cmd_rev_list(int argc, const char **argv, const char *prefix);
- extern int cmd_rev_parse(int argc, const char **argv, const char *prefix);
- extern int cmd_revert(int argc, const char **argv, const char *prefix);
- extern int cmd_rm(int argc, const char **argv, const char *prefix);
- extern int cmd_send_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_shortlog(int argc, const char **argv, const char *prefix);
- extern int cmd_show(int argc, const char **argv, const char *prefix);
- extern int cmd_show_branch(int argc, const char **argv, const char *prefix);
- extern int cmd_show_index(int argc, const char **argv, const char *prefix);
- extern int cmd_status(int argc, const char **argv, const char *prefix);
- extern int cmd_stash(int argc, const char **argv, const char *prefix);
- extern int cmd_stripspace(int argc, const char **argv, const char *prefix);
- extern int cmd_submodule__helper(int argc, const char **argv, const char *prefix);
- extern int cmd_symbolic_ref(int argc, const char **argv, const char *prefix);
- extern int cmd_tag(int argc, const char **argv, const char *prefix);
- extern int cmd_tar_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_unpack_file(int argc, const char **argv, const char *prefix);
- extern int cmd_unpack_objects(int argc, const char **argv, const char *prefix);
- extern int cmd_update_index(int argc, const char **argv, const char *prefix);
- extern int cmd_update_ref(int argc, const char **argv, const char *prefix);
- extern int cmd_update_server_info(int argc, const char **argv, const char *prefix);
- extern int cmd_upload_archive(int argc, const char **argv, const char *prefix);
- extern int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix);
- extern int cmd_upload_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_var(int argc, const char **argv, const char *prefix);
- extern int cmd_verify_commit(int argc, const char **argv, const char *prefix);
- extern int cmd_verify_tag(int argc, const char **argv, const char *prefix);
- extern int cmd_version(int argc, const char **argv, const char *prefix);
- extern int cmd_whatchanged(int argc, const char **argv, const char *prefix);
- extern int cmd_worktree(int argc, const char **argv, const char *prefix);
- extern int cmd_write_tree(int argc, const char **argv, const char *prefix);
- extern int cmd_verify_pack(int argc, const char **argv, const char *prefix);
- extern int cmd_show_ref(int argc, const char **argv, const char *prefix);
- extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
- extern int cmd_replace(int argc, const char **argv, const char *prefix);
+ int cmd_add(int argc, const char **argv, const char *prefix);
+ int cmd_am(int argc, const char **argv, const char *prefix);
+ int cmd_annotate(int argc, const char **argv, const char *prefix);
+ int cmd_apply(int argc, const char **argv, const char *prefix);
+ int cmd_archive(int argc, const char **argv, const char *prefix);
+ int cmd_bisect__helper(int argc, const char **argv, const char *prefix);
+ int cmd_blame(int argc, const char **argv, const char *prefix);
+ int cmd_branch(int argc, const char **argv, const char *prefix);
+ int cmd_bundle(int argc, const char **argv, const char *prefix);
+ int cmd_cat_file(int argc, const char **argv, const char *prefix);
+ int cmd_checkout(int argc, const char **argv, const char *prefix);
+ int cmd_checkout_index(int argc, const char **argv, const char *prefix);
+ int cmd_check_attr(int argc, const char **argv, const char *prefix);
+ int cmd_check_ignore(int argc, const char **argv, const char *prefix);
+ int cmd_check_mailmap(int argc, const char **argv, const char *prefix);
+ int cmd_check_ref_format(int argc, const char **argv, const char *prefix);
+ int cmd_cherry(int argc, const char **argv, const char *prefix);
+ int cmd_cherry_pick(int argc, const char **argv, const char *prefix);
+ int cmd_clone(int argc, const char **argv, const char *prefix);
+ int cmd_clean(int argc, const char **argv, const char *prefix);
+ int cmd_column(int argc, const char **argv, const char *prefix);
+ int cmd_commit(int argc, const char **argv, const char *prefix);
+ int cmd_commit_graph(int argc, const char **argv, const char *prefix);
+ int cmd_commit_tree(int argc, const char **argv, const char *prefix);
+ int cmd_config(int argc, const char **argv, const char *prefix);
+ int cmd_count_objects(int argc, const char **argv, const char *prefix);
+ int cmd_credential(int argc, const char **argv, const char *prefix);
+ int cmd_describe(int argc, const char **argv, const char *prefix);
+ int cmd_diff_files(int argc, const char **argv, const char *prefix);
+ int cmd_diff_index(int argc, const char **argv, const char *prefix);
+ int cmd_diff(int argc, const char **argv, const char *prefix);
+ int cmd_diff_tree(int argc, const char **argv, const char *prefix);
+ int cmd_difftool(int argc, const char **argv, const char *prefix);
+ int cmd_fast_export(int argc, const char **argv, const char *prefix);
+ int cmd_fetch(int argc, const char **argv, const char *prefix);
+ int cmd_fetch_pack(int argc, const char **argv, const char *prefix);
+ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);
+ int cmd_for_each_ref(int argc, const char **argv, const char *prefix);
+ int cmd_format_patch(int argc, const char **argv, const char *prefix);
+ int cmd_fsck(int argc, const char **argv, const char *prefix);
+ int cmd_gc(int argc, const char **argv, const char *prefix);
+ int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix);
+ int cmd_grep(int argc, const char **argv, const char *prefix);
+ int cmd_hash_object(int argc, const char **argv, const char *prefix);
+ int cmd_help(int argc, const char **argv, const char *prefix);
+ int cmd_index_pack(int argc, const char **argv, const char *prefix);
+ int cmd_init_db(int argc, const char **argv, const char *prefix);
+ int cmd_interpret_trailers(int argc, const char **argv, const char *prefix);
+ int cmd_log(int argc, const char **argv, const char *prefix);
+ int cmd_log_reflog(int argc, const char **argv, const char *prefix);
+ int cmd_ls_files(int argc, const char **argv, const char *prefix);
+ int cmd_ls_tree(int argc, const char **argv, const char *prefix);
+ int cmd_ls_remote(int argc, const char **argv, const char *prefix);
+ int cmd_mailinfo(int argc, const char **argv, const char *prefix);
+ int cmd_mailsplit(int argc, const char **argv, const char *prefix);
+ int cmd_merge(int argc, const char **argv, const char *prefix);
+ int cmd_merge_base(int argc, const char **argv, const char *prefix);
+ int cmd_merge_index(int argc, const char **argv, const char *prefix);
+ int cmd_merge_ours(int argc, const char **argv, const char *prefix);
+ int cmd_merge_file(int argc, const char **argv, const char *prefix);
+ int cmd_merge_recursive(int argc, const char **argv, const char *prefix);
+ int cmd_merge_tree(int argc, const char **argv, const char *prefix);
+ int cmd_mktag(int argc, const char **argv, const char *prefix);
+ int cmd_mktree(int argc, const char **argv, const char *prefix);
+ int cmd_multi_pack_index(int argc, const char **argv, const char *prefix);
+ int cmd_mv(int argc, const char **argv, const char *prefix);
+ int cmd_name_rev(int argc, const char **argv, const char *prefix);
+ int cmd_notes(int argc, const char **argv, const char *prefix);
+ int cmd_pack_objects(int argc, const char **argv, const char *prefix);
+ int cmd_pack_redundant(int argc, const char **argv, const char *prefix);
+ int cmd_patch_id(int argc, const char **argv, const char *prefix);
+ int cmd_prune(int argc, const char **argv, const char *prefix);
+ int cmd_prune_packed(int argc, const char **argv, const char *prefix);
+ int cmd_pull(int argc, const char **argv, const char *prefix);
+ int cmd_push(int argc, const char **argv, const char *prefix);
+ int cmd_range_diff(int argc, const char **argv, const char *prefix);
+ int cmd_read_tree(int argc, const char **argv, const char *prefix);
+ int cmd_rebase(int argc, const char **argv, const char *prefix);
+ int cmd_rebase__interactive(int argc, const char **argv, const char *prefix);
+ int cmd_receive_pack(int argc, const char **argv, const char *prefix);
+ int cmd_reflog(int argc, const char **argv, const char *prefix);
+ int cmd_remote(int argc, const char **argv, const char *prefix);
+ int cmd_remote_ext(int argc, const char **argv, const char *prefix);
+ int cmd_remote_fd(int argc, const char **argv, const char *prefix);
+ int cmd_repack(int argc, const char **argv, const char *prefix);
+ int cmd_rerere(int argc, const char **argv, const char *prefix);
+ int cmd_reset(int argc, const char **argv, const char *prefix);
+ int cmd_rev_list(int argc, const char **argv, const char *prefix);
+ int cmd_rev_parse(int argc, const char **argv, const char *prefix);
+ int cmd_revert(int argc, const char **argv, const char *prefix);
+ int cmd_rm(int argc, const char **argv, const char *prefix);
+ int cmd_send_pack(int argc, const char **argv, const char *prefix);
-int cmd_serve(int argc, const char **argv, const char *prefix);
+ int cmd_shortlog(int argc, const char **argv, const char *prefix);
+ int cmd_show(int argc, const char **argv, const char *prefix);
+ int cmd_show_branch(int argc, const char **argv, const char *prefix);
+ int cmd_show_index(int argc, const char **argv, const char *prefix);
+ int cmd_status(int argc, const char **argv, const char *prefix);
++int cmd_stash(int argc, const char **argv, const char *prefix);
+ int cmd_stripspace(int argc, const char **argv, const char *prefix);
+ int cmd_submodule__helper(int argc, const char **argv, const char *prefix);
+ int cmd_symbolic_ref(int argc, const char **argv, const char *prefix);
+ int cmd_tag(int argc, const char **argv, const char *prefix);
+ int cmd_tar_tree(int argc, const char **argv, const char *prefix);
+ int cmd_unpack_file(int argc, const char **argv, const char *prefix);
+ int cmd_unpack_objects(int argc, const char **argv, const char *prefix);
+ int cmd_update_index(int argc, const char **argv, const char *prefix);
+ int cmd_update_ref(int argc, const char **argv, const char *prefix);
+ int cmd_update_server_info(int argc, const char **argv, const char *prefix);
+ int cmd_upload_archive(int argc, const char **argv, const char *prefix);
+ int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix);
+ int cmd_upload_pack(int argc, const char **argv, const char *prefix);
+ int cmd_var(int argc, const char **argv, const char *prefix);
+ int cmd_verify_commit(int argc, const char **argv, const char *prefix);
+ int cmd_verify_tag(int argc, const char **argv, const char *prefix);
+ int cmd_version(int argc, const char **argv, const char *prefix);
+ int cmd_whatchanged(int argc, const char **argv, const char *prefix);
+ int cmd_worktree(int argc, const char **argv, const char *prefix);
+ int cmd_write_tree(int argc, const char **argv, const char *prefix);
+ int cmd_verify_pack(int argc, const char **argv, const char *prefix);
+ int cmd_show_ref(int argc, const char **argv, const char *prefix);
+ int cmd_pack_refs(int argc, const char **argv, const char *prefix);
+ int cmd_replace(int argc, const char **argv, const char *prefix);
#endif
*/
};
-int get_oid(const char *str, struct object_id *oid);
-int get_oid_commit(const char *str, struct object_id *oid);
-int get_oid_committish(const char *str, struct object_id *oid);
-int get_oid_tree(const char *str, struct object_id *oid);
-int get_oid_treeish(const char *str, struct object_id *oid);
-int get_oid_blob(const char *str, struct object_id *oid);
-void maybe_die_on_misspelt_object_name(const char *name, const char *prefix);
+int repo_get_oid(struct repository *r, const char *str, struct object_id *oid);
+int get_oidf(struct object_id *oid, const char *fmt, ...);
+int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid);
+int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid);
+int repo_get_oid_tree(struct repository *r, const char *str, struct object_id *oid);
+int repo_get_oid_treeish(struct repository *r, const char *str, struct object_id *oid);
+int repo_get_oid_blob(struct repository *r, const char *str, struct object_id *oid);
+int repo_get_oid_mb(struct repository *r, const char *str, struct object_id *oid);
+void maybe_die_on_misspelt_object_name(struct repository *repo,
+ const char *name,
+ const char *prefix);
- extern enum get_oid_result get_oid_with_context(struct repository *repo, const char *str,
- unsigned flags, struct object_id *oid,
- struct object_context *oc);
+ enum get_oid_result get_oid_with_context(struct repository *repo, const char *str,
+ unsigned flags, struct object_id *oid,
+ struct object_context *oc);
+#define get_oid(str, oid) repo_get_oid(the_repository, str, oid)
+#define get_oid_commit(str, oid) repo_get_oid_commit(the_repository, str, oid)
+#define get_oid_committish(str, oid) repo_get_oid_committish(the_repository, str, oid)
+#define get_oid_tree(str, oid) repo_get_oid_tree(the_repository, str, oid)
+#define get_oid_treeish(str, oid) repo_get_oid_treeish(the_repository, str, oid)
+#define get_oid_blob(str, oid) repo_get_oid_blob(the_repository, str, oid)
+#define get_oid_mb(str, oid) repo_get_oid_mb(the_repository, str, oid)
+
typedef int each_abbrev_fn(const struct object_id *oid, void *);
-int for_each_abbrev(const char *prefix, each_abbrev_fn, void *);
+int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *);
+#define for_each_abbrev(prefix, fn, data) repo_for_each_abbrev(the_repository, prefix, fn, data)
- extern int set_disambiguate_hint_config(const char *var, const char *value);
+ int set_disambiguate_hint_config(const char *var, const char *value);
/*
* Try to read a SHA1 in hexadecimal format from the 40 characters
#define INTERPRET_BRANCH_LOCAL (1<<0)
#define INTERPRET_BRANCH_REMOTE (1<<1)
#define INTERPRET_BRANCH_HEAD (1<<2)
-int interpret_branch_name(const char *str, int len, struct strbuf *,
- unsigned allowed);
-int get_oid_mb(const char *str, struct object_id *oid);
+int repo_interpret_branch_name(struct repository *r,
+ const char *str, int len,
+ struct strbuf *buf,
+ unsigned allowed);
+#define interpret_branch_name(str, len, buf, allowed) \
+ repo_interpret_branch_name(the_repository, str, len, buf, allowed)
- extern int validate_headref(const char *ref);
+ int validate_headref(const char *ref);
- extern int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
- extern int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
- extern int name_compare(const char *name1, size_t len1, const char *name2, size_t len2);
- extern int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2);
+ int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
+ int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
+ int name_compare(const char *name1, size_t len1, const char *name2, size_t len2);
+ int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2);
- extern void *read_object_with_reference(const struct object_id *oid,
- const char *required_type,
- unsigned long *size,
- struct object_id *oid_ret);
+ void *read_object_with_reference(const struct object_id *oid,
+ const char *required_type,
+ unsigned long *size,
+ struct object_id *oid_ret);
-struct object *peel_to_type(const char *name, int namelen,
- struct object *o, enum object_type);
+struct object *repo_peel_to_type(struct repository *r,
+ const char *name, int namelen,
+ struct object *o, enum object_type);
+#define peel_to_type(name, namelen, obj, type) \
+ repo_peel_to_type(the_repository, name, namelen, obj, type)
enum date_mode_type {
DATE_NORMAL = 0,
WANT_COMMITTER_IDENT
};
- extern const char *git_author_info(int);
- extern const char *git_committer_info(int);
- extern const char *fmt_ident(const char *name, const char *email,
- enum want_ident whose_ident,
- const char *date_str, int);
- extern const char *fmt_name(enum want_ident);
- extern const char *ident_default_name(void);
- extern const char *ident_default_email(void);
- extern const char *git_editor(void);
- extern const char *git_sequence_editor(void);
- extern const char *git_pager(int stdout_is_tty);
- extern int is_terminal_dumb(void);
- extern int git_ident_config(const char *, const char *, void *);
+ const char *git_author_info(int);
+ const char *git_committer_info(int);
+ const char *fmt_ident(const char *name, const char *email,
+ enum want_ident whose_ident,
+ const char *date_str, int);
+ const char *fmt_name(enum want_ident);
+ const char *ident_default_name(void);
+ const char *ident_default_email(void);
+ const char *git_editor(void);
+ const char *git_sequence_editor(void);
+ const char *git_pager(int stdout_is_tty);
+ int is_terminal_dumb(void);
+ int git_ident_config(const char *, const char *, void *);
+/*
+ * Prepare an ident to fall back on if the user didn't configure it.
+ */
+void prepare_fallback_ident(const char *name, const char *email);
- extern void reset_ident_date(void);
+ void reset_ident_date(void);
struct ident_split {
const char *name_begin;
struct oid_array;
struct ref;
- extern int register_shallow(struct repository *r, const struct object_id *oid);
- extern int unregister_shallow(const struct object_id *oid);
- extern int for_each_commit_graft(each_commit_graft_fn, void *);
- extern int is_repository_shallow(struct repository *r);
- extern struct commit_list *get_shallow_commits(struct object_array *heads,
- int depth, int shallow_flag, int not_shallow_flag);
- extern struct commit_list *get_shallow_commits_by_rev_list(
+ int register_shallow(struct repository *r, const struct object_id *oid);
+ int unregister_shallow(const struct object_id *oid);
+ int for_each_commit_graft(each_commit_graft_fn, void *);
+ int is_repository_shallow(struct repository *r);
+ struct commit_list *get_shallow_commits(struct object_array *heads,
+ int depth, int shallow_flag, int not_shallow_flag);
+ struct commit_list *get_shallow_commits_by_rev_list(
int ac, const char **av, int shallow_flag, int not_shallow_flag);
- extern void set_alternate_shallow_file(struct repository *r, const char *path, int override);
- extern int write_shallow_commits(struct strbuf *out, int use_pack_protocol,
- const struct oid_array *extra);
- extern void setup_alternate_shallow(struct lock_file *shallow_lock,
- const char **alternate_shallow_file,
- const struct oid_array *extra);
- extern const char *setup_temporary_shallow(const struct oid_array *extra);
- extern void advertise_shallow_grafts(int);
+ void set_alternate_shallow_file(struct repository *r, const char *path, int override);
+ int write_shallow_commits(struct strbuf *out, int use_pack_protocol,
+ const struct oid_array *extra);
+ void setup_alternate_shallow(struct lock_file *shallow_lock,
+ const char **alternate_shallow_file,
+ const struct oid_array *extra);
+ const char *setup_temporary_shallow(const struct oid_array *extra);
+ void advertise_shallow_grafts(int);
+/*
+ * Initialize with prepare_shallow_info() or zero-initialize (equivalent to
+ * prepare_shallow_info with a NULL oid_array).
+ */
struct shallow_info {
struct oid_array *shallow;
int *ours, nr_ours;
};
typedef int (*config_fn_t)(const char *, const char *, void *);
- extern int git_default_config(const char *, const char *, void *);
- extern int git_config_from_file(config_fn_t fn, const char *, void *);
- extern int git_config_from_file_with_options(config_fn_t fn, const char *,
- void *,
- const struct config_options *);
- extern int git_config_from_mem(config_fn_t fn,
- const enum config_origin_type,
- const char *name,
- const char *buf, size_t len,
- void *data, const struct config_options *opts);
- extern int git_config_from_blob_oid(config_fn_t fn, const char *name,
- const struct object_id *oid, void *data);
- extern void git_config_push_parameter(const char *text);
- extern int git_config_from_parameters(config_fn_t fn, void *data);
- extern void read_early_config(config_fn_t cb, void *data);
- extern void read_very_early_config(config_fn_t cb, void *data);
- extern void git_config(config_fn_t fn, void *);
- extern int config_with_options(config_fn_t fn, void *,
- struct git_config_source *config_source,
- const struct config_options *opts);
- extern int git_parse_ssize_t(const char *, ssize_t *);
- extern int git_parse_ulong(const char *, unsigned long *);
- extern int git_parse_maybe_bool(const char *);
- extern int git_config_int(const char *, const char *);
- extern int64_t git_config_int64(const char *, const char *);
- extern unsigned long git_config_ulong(const char *, const char *);
- extern ssize_t git_config_ssize_t(const char *, const char *);
- extern int git_config_bool_or_int(const char *, const char *, int *);
- extern int git_config_bool(const char *, const char *);
- extern int git_config_string(const char **, const char *, const char *);
- extern int git_config_pathname(const char **, const char *, const char *);
- extern int git_config_expiry_date(timestamp_t *, const char *, const char *);
- extern int git_config_color(char *, const char *, const char *);
- extern int git_config_set_in_file_gently(const char *, const char *, const char *);
- extern void git_config_set_in_file(const char *, const char *, const char *);
- extern int git_config_set_gently(const char *, const char *);
- extern void git_config_set(const char *, const char *);
- extern int git_config_parse_key(const char *, char **, int *);
- extern int git_config_key_is_valid(const char *key);
- extern int git_config_set_multivar_gently(const char *, const char *, const char *, int);
- extern void git_config_set_multivar(const char *, const char *, const char *, int);
- extern int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int);
- extern void git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int);
- extern int git_config_rename_section(const char *, const char *);
- extern int git_config_rename_section_in_file(const char *, const char *, const char *);
- extern int git_config_copy_section(const char *, const char *);
- extern int git_config_copy_section_in_file(const char *, const char *, const char *);
- extern const char *git_etc_gitconfig(void);
- extern int git_env_bool(const char *, int);
- extern unsigned long git_env_ulong(const char *, unsigned long);
- extern int git_config_system(void);
- extern int config_error_nonbool(const char *);
+ int git_default_config(const char *, const char *, void *);
+ int git_config_from_file(config_fn_t fn, const char *, void *);
+ int git_config_from_file_with_options(config_fn_t fn, const char *,
+ void *,
+ const struct config_options *);
+ int git_config_from_mem(config_fn_t fn,
+ const enum config_origin_type,
+ const char *name,
+ const char *buf, size_t len,
+ void *data, const struct config_options *opts);
+ int git_config_from_blob_oid(config_fn_t fn, const char *name,
+ const struct object_id *oid, void *data);
+ void git_config_push_parameter(const char *text);
+ int git_config_from_parameters(config_fn_t fn, void *data);
+ void read_early_config(config_fn_t cb, void *data);
++void read_very_early_config(config_fn_t cb, void *data);
+ void git_config(config_fn_t fn, void *);
+ int config_with_options(config_fn_t fn, void *,
+ struct git_config_source *config_source,
+ const struct config_options *opts);
+ int git_parse_ssize_t(const char *, ssize_t *);
+ int git_parse_ulong(const char *, unsigned long *);
+ int git_parse_maybe_bool(const char *);
+ int git_config_int(const char *, const char *);
+ int64_t git_config_int64(const char *, const char *);
+ unsigned long git_config_ulong(const char *, const char *);
+ ssize_t git_config_ssize_t(const char *, const char *);
+ int git_config_bool_or_int(const char *, const char *, int *);
+ int git_config_bool(const char *, const char *);
+ int git_config_string(const char **, const char *, const char *);
+ int git_config_pathname(const char **, const char *, const char *);
+ int git_config_expiry_date(timestamp_t *, const char *, const char *);
+ int git_config_color(char *, const char *, const char *);
+ int git_config_set_in_file_gently(const char *, const char *, const char *);
+ void git_config_set_in_file(const char *, const char *, const char *);
+ int git_config_set_gently(const char *, const char *);
+ void git_config_set(const char *, const char *);
+ int git_config_parse_key(const char *, char **, int *);
+ int git_config_key_is_valid(const char *key);
+ int git_config_set_multivar_gently(const char *, const char *, const char *, int);
+ void git_config_set_multivar(const char *, const char *, const char *, int);
+ int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int);
+ void git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int);
+ int git_config_rename_section(const char *, const char *);
+ int git_config_rename_section_in_file(const char *, const char *, const char *);
+ int git_config_copy_section(const char *, const char *);
+ int git_config_copy_section_in_file(const char *, const char *, const char *);
+ const char *git_etc_gitconfig(void);
+ int git_env_bool(const char *, int);
+ unsigned long git_env_ulong(const char *, unsigned long);
+ int git_config_system(void);
+ int config_error_nonbool(const char *);
#if defined(__GNUC__)
#define config_error_nonbool(s) (config_error_nonbool(s), const_error())
#endif
#define MATCHED_RECURSIVELY 1
#define MATCHED_FNMATCH 2
#define MATCHED_EXACTLY 3
- extern int simple_length(const char *match);
- extern int no_wildcard(const char *string);
- extern char *common_prefix(const struct pathspec *pathspec);
- extern int match_pathspec(const struct index_state *istate,
- const struct pathspec *pathspec,
- const char *name, int namelen,
- int prefix, char *seen, int is_dir);
- extern int report_path_error(const char *ps_matched, const struct pathspec *pathspec);
- extern int within_depth(const char *name, int namelen, int depth, int max_depth);
-
- extern int fill_directory(struct dir_struct *dir,
- struct index_state *istate,
- const struct pathspec *pathspec);
- extern int read_directory(struct dir_struct *, struct index_state *istate,
- const char *path, int len,
- const struct pathspec *pathspec);
-
- extern int is_excluded_from_list(const char *pathname, int pathlen,
- const char *basename, int *dtype,
- struct exclude_list *el,
- struct index_state *istate);
+ int simple_length(const char *match);
+ int no_wildcard(const char *string);
+ char *common_prefix(const struct pathspec *pathspec);
+ int match_pathspec(const struct index_state *istate,
+ const struct pathspec *pathspec,
+ const char *name, int namelen,
+ int prefix, char *seen, int is_dir);
-int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
++int report_path_error(const char *ps_matched, const struct pathspec *pathspec);
+ int within_depth(const char *name, int namelen, int depth, int max_depth);
+
+ int fill_directory(struct dir_struct *dir,
+ struct index_state *istate,
+ const struct pathspec *pathspec);
+ int read_directory(struct dir_struct *, struct index_state *istate,
+ const char *path, int len,
+ const struct pathspec *pathspec);
+
+ int is_excluded_from_list(const char *pathname, int pathlen,
+ const char *basename, int *dtype,
+ struct exclude_list *el,
+ struct index_state *istate);
struct dir_entry *dir_add_ignored(struct dir_struct *dir,
struct index_state *istate,
const char *pathname, int len);
* these implement the matching logic for dir.c:excluded_from_list and
* attr.c:path_matches()
*/
- extern int match_basename(const char *, int,
- const char *, int, int, unsigned);
- extern int match_pathname(const char *, int,
- const char *, int,
- const char *, int, int, unsigned);
-
- extern struct exclude *last_exclude_matching(struct dir_struct *dir,
- struct index_state *istate,
- const char *name, int *dtype);
-
- extern int is_excluded(struct dir_struct *dir,
- struct index_state *istate,
- const char *name, int *dtype);
-
- extern struct exclude_list *add_exclude_list(struct dir_struct *dir,
- int group_type, const char *src);
- extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
- struct exclude_list *el, struct index_state *istate);
- extern void add_excludes_from_file(struct dir_struct *, const char *fname);
- extern int add_excludes_from_blob_to_list(struct object_id *oid,
- const char *base, int baselen,
- struct exclude_list *el);
- extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
- extern void add_exclude(const char *string, const char *base,
- int baselen, struct exclude_list *el, int srcpos);
- extern void clear_exclude_list(struct exclude_list *el);
- extern void clear_directory(struct dir_struct *dir);
+ int match_basename(const char *, int,
+ const char *, int, int, unsigned);
+ int match_pathname(const char *, int,
+ const char *, int,
+ const char *, int, int, unsigned);
+
+ struct exclude *last_exclude_matching(struct dir_struct *dir,
+ struct index_state *istate,
+ const char *name, int *dtype);
+
+ int is_excluded(struct dir_struct *dir,
+ struct index_state *istate,
+ const char *name, int *dtype);
+
+ struct exclude_list *add_exclude_list(struct dir_struct *dir,
+ int group_type, const char *src);
+ int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
+ struct exclude_list *el, struct index_state *istate);
+ void add_excludes_from_file(struct dir_struct *, const char *fname);
+ int add_excludes_from_blob_to_list(struct object_id *oid,
+ const char *base, int baselen,
+ struct exclude_list *el);
+ void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
+ void add_exclude(const char *string, const char *base,
+ int baselen, struct exclude_list *el, int srcpos);
+ void clear_exclude_list(struct exclude_list *el);
+ void clear_directory(struct dir_struct *dir);
+
+int repo_file_exists(struct repository *repo, const char *path);
int file_exists(const char *);
- extern int is_inside_dir(const char *dir);
- extern int dir_inside_of(const char *subdir, const char *dir);
+ int is_inside_dir(const char *dir);
+ int dir_inside_of(const char *subdir, const char *dir);
static inline int is_dot_or_dotdot(const char *name)
{
int show_all_errors;
};
-int get_tree_entry(const struct object_id *, const char *, struct object_id *, unsigned *);
+int get_tree_entry(const struct object_id *, const char *, struct object_id *, unsigned short *);
- extern char *make_traverse_path(char *path, const struct traverse_info *info, const struct name_entry *n);
- extern void setup_traverse_info(struct traverse_info *info, const char *base);
+ char *make_traverse_path(char *path, const struct traverse_info *info, const struct name_entry *n);
+ void setup_traverse_info(struct traverse_info *info, const char *base);
static inline int traverse_path_len(const struct traverse_info *info, const struct name_entry *n)
{