aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Baudis <pasky@suse.cz>2006-07-27 23:56:14 +0200
committerJunio C Hamano <junkio@cox.net>2006-07-27 19:33:48 -0700
commitc6b69bdbc1b0b914aa0d1e59a29305fce82d6f06 (patch)
tree24fd88a7754cbeacfec51ce02b2d445ad86450d2
parentc2c487cf3a6c37bc9b4e3f0e10ad08d9ce048404 (diff)
downloadgit-c6b69bdbc1b0b914aa0d1e59a29305fce82d6f06.tar.gz
git-c6b69bdbc1b0b914aa0d1e59a29305fce82d6f06.tar.xz
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>
-rw-r--r--fetch.c6
-rw-r--r--fetch.h11
-rw-r--r--http-fetch.c4
-rw-r--r--local-fetch.c4
-rw-r--r--ssh-fetch.c4
5 files changed, 12 insertions, 17 deletions
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;