Make pull() take some implicit data as explicit arguments
Currently it's a bit weird that pull() takes a single argument describing the commit but takes the write_ref from a global variable. This makes it take that as a parameter as well, which might be nicer for the libification in the future, but especially it will make for nicer code when we implement pull()ing multiple commits at once. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>maint
parent
c2c487cf3a
commit
c6b69bdbc1
6
fetch.c
6
fetch.c
|
@ -8,9 +8,6 @@
|
|||
#include "blob.h"
|
||||
#include "refs.h"
|
||||
|
||||
const char *write_ref = NULL;
|
||||
const char *write_ref_log_details = NULL;
|
||||
|
||||
int get_tree = 0;
|
||||
int get_history = 0;
|
||||
int get_all = 0;
|
||||
|
@ -213,7 +210,8 @@ static int mark_complete(const char *path, const unsigned char *sha1)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int pull(char *target)
|
||||
int pull(char *target, const char *write_ref,
|
||||
const char *write_ref_log_details)
|
||||
{
|
||||
struct ref_lock *lock = NULL;
|
||||
unsigned char sha1[20];
|
||||
|
|
11
fetch.h
11
fetch.h
|
@ -22,12 +22,6 @@ extern void prefetch(unsigned char *sha1);
|
|||
*/
|
||||
extern int fetch_ref(char *ref, unsigned char *sha1);
|
||||
|
||||
/* If set, the ref filename to write the target value to. */
|
||||
extern const char *write_ref;
|
||||
|
||||
/* If set additional text will appear in the ref log. */
|
||||
extern const char *write_ref_log_details;
|
||||
|
||||
/* Set to fetch the target tree. */
|
||||
extern int get_tree;
|
||||
|
||||
|
@ -46,6 +40,9 @@ extern int get_recover;
|
|||
/* Report what we got under get_verbosely */
|
||||
extern void pull_say(const char *, const char *);
|
||||
|
||||
extern int pull(char *target);
|
||||
/* If write_ref is set, the ref filename to write the target value to. */
|
||||
/* If write_ref_log_details is set, additional text will appear in the ref log. */
|
||||
extern int pull(char *target, const char *write_ref,
|
||||
const char *write_ref_log_details);
|
||||
|
||||
#endif /* PULL_H */
|
||||
|
|
|
@ -1216,6 +1216,7 @@ int fetch_ref(char *ref, unsigned char *sha1)
|
|||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *write_ref = NULL;
|
||||
char *commit_id;
|
||||
char *url;
|
||||
char *path;
|
||||
|
@ -1250,7 +1251,6 @@ int main(int argc, char **argv)
|
|||
}
|
||||
commit_id = argv[arg];
|
||||
url = argv[arg + 1];
|
||||
write_ref_log_details = url;
|
||||
|
||||
http_init();
|
||||
|
||||
|
@ -1268,7 +1268,7 @@ int main(int argc, char **argv)
|
|||
alt->path_len = strlen(path);
|
||||
}
|
||||
|
||||
if (pull(commit_id))
|
||||
if (pull(commit_id, write_ref, url))
|
||||
rc = 1;
|
||||
|
||||
http_cleanup();
|
||||
|
|
|
@ -204,6 +204,7 @@ static const char local_pull_usage[] =
|
|||
*/
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *write_ref = NULL;
|
||||
char *commit_id;
|
||||
int arg = 1;
|
||||
|
||||
|
@ -240,9 +241,8 @@ int main(int argc, char **argv)
|
|||
usage(local_pull_usage);
|
||||
commit_id = argv[arg];
|
||||
path = argv[arg + 1];
|
||||
write_ref_log_details = path;
|
||||
|
||||
if (pull(commit_id))
|
||||
if (pull(commit_id, write_ref, path))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -123,6 +123,7 @@ static const char ssh_fetch_usage[] =
|
|||
" [-c] [-t] [-a] [-v] [--recover] [-w ref] commit-id url";
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *write_ref = NULL;
|
||||
char *commit_id;
|
||||
char *url;
|
||||
int arg = 1;
|
||||
|
@ -159,7 +160,6 @@ int main(int argc, char **argv)
|
|||
}
|
||||
commit_id = argv[arg];
|
||||
url = argv[arg + 1];
|
||||
write_ref_log_details = url;
|
||||
|
||||
if (setup_connection(&fd_in, &fd_out, prog, url, arg, argv + 1))
|
||||
return 1;
|
||||
|
@ -167,7 +167,7 @@ int main(int argc, char **argv)
|
|||
if (get_version())
|
||||
return 1;
|
||||
|
||||
if (pull(commit_id))
|
||||
if (pull(commit_id, write_ref, url))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue