From: Petr Baudis Date: Thu, 27 Jul 2006 21:56:14 +0000 (+0200) Subject: Make pull() take some implicit data as explicit arguments X-Git-Tag: v1.4.2-rc3~39^2~3 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=c6b69bdbc1b0b914aa0d1e59a29305fce82d6f06;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/fetch.c b/fetch.c index 989d7a478..3255cc625 100644 --- a/fetch.c +++ b/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]; diff --git a/fetch.h b/fetch.h index 841bb1af9..7bda355bc 100644 --- a/fetch.h +++ b/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 */ diff --git a/http-fetch.c b/http-fetch.c index dc286b79f..963d439f8 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -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(); diff --git a/local-fetch.c b/local-fetch.c index a05ac16cd..452b83396 100644 --- a/local-fetch.c +++ b/local-fetch.c @@ -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; diff --git a/ssh-fetch.c b/ssh-fetch.c index a8a6cfbb3..aef3aa4a0 100644 --- a/ssh-fetch.c +++ b/ssh-fetch.c @@ -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;