aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2008-11-10 21:43:00 +0100
committerJunio C Hamano <gitster@pobox.com>2008-11-11 14:19:29 -0800
commit89cf4c7004ec329c3171448a154d050c8f75874e (patch)
tree47290d1ea4edf2091b76c7c3d1a36e9fe6abf60b
parentbf98421a3363696f3b4c8aedc242bfaadc1ce6f6 (diff)
downloadgit-89cf4c7004ec329c3171448a154d050c8f75874e.tar.gz
git-89cf4c7004ec329c3171448a154d050c8f75874e.tar.xz
remote: add a new 'origin' variable to the struct
This allows one to track where was the remote's original source, so that it's possible to decide if it makes sense to migrate it to the config format or not. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--remote.c3
-rw-r--r--remote.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/remote.c b/remote.c
index e530a21e5..cbb3e484f 100644
--- a/remote.c
+++ b/remote.c
@@ -201,6 +201,7 @@ static void read_remotes_file(struct remote *remote)
if (!f)
return;
+ remote->origin = REMOTE_REMOTES;
while (fgets(buffer, BUF_SIZE, f)) {
int value_list;
char *s, *p;
@@ -261,6 +262,7 @@ static void read_branches_file(struct remote *remote)
s++;
if (!*s)
return;
+ remote->origin = REMOTE_BRANCHES;
p = s + strlen(s);
while (isspace(p[-1]))
*--p = 0;
@@ -350,6 +352,7 @@ static int handle_config(const char *key, const char *value, void *cb)
if (!subkey)
return error("Config with no key for remote %s", name);
remote = make_remote(name, subkey - name);
+ remote->origin = REMOTE_CONFIG;
if (!strcmp(subkey, ".mirror"))
remote->mirror = git_config_bool(key, value);
else if (!strcmp(subkey, ".skipdefaultupdate"))
diff --git a/remote.h b/remote.h
index d2e170ce6..a46a5be13 100644
--- a/remote.h
+++ b/remote.h
@@ -1,8 +1,15 @@
#ifndef REMOTE_H
#define REMOTE_H
+enum {
+ REMOTE_CONFIG,
+ REMOTE_REMOTES,
+ REMOTE_BRANCHES
+};
+
struct remote {
const char *name;
+ int origin;
const char **url;
int url_nr;