@@ -29,50 +29,55 @@ struct submodule_update_strategy {
2929};
3030#define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL}
3131
32- int is_staging_gitmodules_ok (void );
33- int update_path_in_gitmodules (const char * oldpath , const char * newpath );
34- int remove_path_from_gitmodules (const char * path );
35- void stage_updated_gitmodules (void );
36- void set_diffopt_flags_from_submodule_config (struct diff_options * diffopt ,
32+ extern int is_staging_gitmodules_ok (void );
33+ extern int update_path_in_gitmodules (const char * oldpath , const char * newpath );
34+ extern int remove_path_from_gitmodules (const char * path );
35+ extern void stage_updated_gitmodules (void );
36+ extern void set_diffopt_flags_from_submodule_config (struct diff_options * ,
3737 const char * path );
38- int submodule_config (const char * var , const char * value , void * cb );
39- void gitmodules_config (void );
40- int parse_submodule_update_strategy (const char * value ,
38+ extern int submodule_config (const char * var , const char * value , void * cb );
39+ extern void gitmodules_config (void );
40+ extern int parse_submodule_update_strategy (const char * value ,
4141 struct submodule_update_strategy * dst );
42- const char * submodule_strategy_to_string (const struct submodule_update_strategy * s );
43- void handle_ignore_submodules_arg (struct diff_options * diffopt , const char * );
44- void show_submodule_summary (FILE * f , const char * path ,
42+ extern const char * submodule_strategy_to_string (const struct submodule_update_strategy * s );
43+ extern void handle_ignore_submodules_arg (struct diff_options * , const char * );
44+ extern void show_submodule_summary (FILE * f , const char * path ,
4545 const char * line_prefix ,
4646 struct object_id * one , struct object_id * two ,
4747 unsigned dirty_submodule , const char * meta ,
4848 const char * del , const char * add , const char * reset );
49- void show_submodule_inline_diff (FILE * f , const char * path ,
49+ extern void show_submodule_inline_diff (FILE * f , const char * path ,
5050 const char * line_prefix ,
5151 struct object_id * one , struct object_id * two ,
5252 unsigned dirty_submodule , const char * meta ,
5353 const char * del , const char * add , const char * reset ,
5454 const struct diff_options * opt );
55- void set_config_fetch_recurse_submodules (int value );
56- void check_for_new_submodule_commits (unsigned char new_sha1 [20 ]);
57- int fetch_populated_submodules (const struct argv_array * options ,
55+ extern void set_config_fetch_recurse_submodules (int value );
56+ extern void check_for_new_submodule_commits (unsigned char new_sha1 [20 ]);
57+ extern int fetch_populated_submodules (const struct argv_array * options ,
5858 const char * prefix , int command_line_option ,
5959 int quiet , int max_parallel_jobs );
60- unsigned is_submodule_modified (const char * path , int ignore_untracked );
61- int submodule_uses_gitfile (const char * path );
62- int ok_to_remove_submodule (const char * path );
63- int merge_submodule (unsigned char result [20 ], const char * path , const unsigned char base [20 ],
64- const unsigned char a [20 ], const unsigned char b [20 ], int search );
65- int find_unpushed_submodules (unsigned char new_sha1 [20 ], const char * remotes_name ,
66- struct string_list * needs_pushing );
67- int push_unpushed_submodules (unsigned char new_sha1 [20 ], const char * remotes_name );
68- int parallel_submodules (void );
60+ extern unsigned is_submodule_modified (const char * path , int ignore_untracked );
61+ extern int submodule_uses_gitfile (const char * path );
62+ extern int ok_to_remove_submodule (const char * path );
63+ extern int merge_submodule (unsigned char result [20 ], const char * path ,
64+ const unsigned char base [20 ],
65+ const unsigned char a [20 ],
66+ const unsigned char b [20 ], int search );
67+ extern int find_unpushed_submodules (unsigned char new_sha1 [20 ],
68+ const char * remotes_name ,
69+ struct string_list * needs_pushing );
70+ extern int push_unpushed_submodules (unsigned char new_sha1 [20 ],
71+ const char * remotes_name );
72+ extern void connect_work_tree_and_git_dir (const char * work_tree , const char * git_dir );
73+ extern int parallel_submodules (void );
6974
7075/*
7176 * Prepare the "env_array" parameter of a "struct child_process" for executing
7277 * a submodule by clearing any repo-specific envirionment variables, but
7378 * retaining any config in the environment.
7479 */
75- void prepare_submodule_repo_env (struct argv_array * out );
80+ extern void prepare_submodule_repo_env (struct argv_array * out );
7681
7782#define ABSORB_GITDIR_RECURSE_SUBMODULES (1<<0)
7883extern void absorb_git_dir_into_superproject (const char * prefix ,
0 commit comments