move duplicated get_local_heads() to remote.c
get_local_heads() appears to have been copied from builtin-send-pack.c
to http-push.c via cut and paste. This patch moves the function and its
helper one_local_ref() to remote.c.
The two copies of one_local_ref() were not identical. I used the more
recent version from builtin-send-pack.c after confirming with Jeff King
that it was an oversight that commit 30affa1e did not update both
copies.
This is in preparation for being able to call it from builtin-remote.c
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
5483f79998
commit
454e2025a9
23
http-push.c
23
http-push.c
@ -1792,21 +1792,8 @@ static int update_remote(unsigned char *sha1, struct remote_lock *lock)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static struct ref *local_refs, **local_tail;
|
||||
static struct ref *remote_refs, **remote_tail;
|
||||
|
||||
static int one_local_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
|
||||
{
|
||||
struct ref *ref;
|
||||
int len = strlen(refname) + 1;
|
||||
ref = xcalloc(1, sizeof(*ref) + len);
|
||||
hashcpy(ref->new_sha1, sha1);
|
||||
memcpy(ref->name, refname, len);
|
||||
*local_tail = ref;
|
||||
local_tail = &ref->next;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void one_remote_ref(char *refname)
|
||||
{
|
||||
struct ref *ref;
|
||||
@ -1839,12 +1826,6 @@ static void one_remote_ref(char *refname)
|
||||
remote_tail = &ref->next;
|
||||
}
|
||||
|
||||
static void get_local_heads(void)
|
||||
{
|
||||
local_tail = &local_refs;
|
||||
for_each_ref(one_local_ref, NULL);
|
||||
}
|
||||
|
||||
static void get_dav_remote_heads(void)
|
||||
{
|
||||
remote_tail = &remote_refs;
|
||||
@ -2195,7 +2176,7 @@ int main(int argc, char **argv)
|
||||
int rc = 0;
|
||||
int i;
|
||||
int new_refs;
|
||||
struct ref *ref;
|
||||
struct ref *ref, *local_refs;
|
||||
char *rewritten_url = NULL;
|
||||
|
||||
git_extract_argv0_path(argv[0]);
|
||||
@ -2302,7 +2283,7 @@ int main(int argc, char **argv)
|
||||
fetch_indices();
|
||||
|
||||
/* Get a list of all local and remote heads to validate refspecs */
|
||||
get_local_heads();
|
||||
local_refs = get_local_heads();
|
||||
fprintf(stderr, "Fetching remote heads...\n");
|
||||
get_dav_remote_heads();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user