diff options
author | Carlos Martín Nieto <carlos@cmartin.tk> | 2011-08-07 14:02:04 +0200 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2011-08-18 02:34:09 +0200 |
commit | 1564db11fe291eb21b5f57a063deb482cedf323d (patch) | |
tree | 2b8657e5a92f8ece775f46753fdf2da3f6e998a2 | |
parent | ade3c9bb88b0afb4b025cf92c74e17704c9bc4f4 (diff) | |
download | libgit2-1564db11fe291eb21b5f57a063deb482cedf323d.tar.gz |
Remove enum git_whn
Instead, use flags inside the git_remote_head structure.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
-rw-r--r-- | include/git2/net.h | 10 | ||||
-rw-r--r-- | src/fetch.c | 16 | ||||
-rw-r--r-- | src/pkt.c | 4 |
3 files changed, 6 insertions, 24 deletions
diff --git a/include/git2/net.h b/include/git2/net.h index c2260fc3b..7c49f804b 100644 --- a/include/git2/net.h +++ b/include/git2/net.h @@ -48,18 +48,12 @@ GIT_BEGIN_DECL #define GIT_DIR_FETCH 0 #define GIT_DIR_PUSH 1 -enum git_whn { - GIT_WHN_NONE, - GIT_WHN_HAVE, - GIT_WHN_WANT, -}; - /** * Remote head description, given out on `ls` calls. */ struct git_remote_head { - enum git_whn type; - int local; /** Exists locally */ + int local:1, /* available locally */ + want:1; /* want to update */ git_oid oid; git_oid loid; char *name; diff --git a/src/fetch.c b/src/fetch.c index 7abc196e4..e00b2e31e 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -34,17 +34,6 @@ #include "refspec.h" #include "fetch.h" -/* - * Don't forget that this depends on the enum being correctly set - */ -static int whn_cmp(const void *a, const void *b) -{ - git_remote_head *heada = (git_remote_head *) a; - git_remote_head *headb = (git_remote_head *) b; - - return headb->type - heada->type; -} - static int filter_wants(git_remote *remote) { git_vector list; @@ -55,7 +44,7 @@ static int filter_wants(git_remote *remote) int error; unsigned int i; - error = git_vector_init(&list, 16, whn_cmp); + error = git_vector_init(&list, 16, NULL); if (error < GIT_SUCCESS) return error; @@ -112,13 +101,12 @@ static int filter_wants(git_remote *remote) * to the list, storing the local oid for that branch so we * don't have to look for it again. */ - head->type = GIT_WHN_WANT; + head->want = 1; error = git_vector_insert(&list, head); if (error < GIT_SUCCESS) goto cleanup; } - git_vector_sort(&list); remote->refs.len = list.length; remote->refs.heads = (git_remote_head **) list.contents; @@ -318,8 +318,8 @@ int git_pkt_send_wants(git_headarray *refs, git_transport_caps *caps, int fd) for (; i < refs->len; ++i) { head = refs->heads[i]; - if (head->type != GIT_WHN_WANT) - continue; /* FIXME: return? refs shouldn't have any other type */ + if (head->local) + continue; git_oid_fmt(buf + STRLEN(WANT_PREFIX), &head->oid); gitno_send(fd, buf, STRLEN(buf), 0); |