send-pack: do not send out single-level refs such as refs/stash
Since no version of receive-pack accepts these "funny refs", we should mirror the check when considering the list of refs to send. IOW, don't even make them eligible for matching or mirroring. Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
1442171bc9
commit
30affa1e9a
|
@ -132,7 +132,13 @@ static struct ref *remote_refs, **remote_tail;
|
||||||
static int one_local_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
|
static int one_local_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
|
||||||
{
|
{
|
||||||
struct ref *ref;
|
struct ref *ref;
|
||||||
int len = strlen(refname) + 1;
|
int len;
|
||||||
|
|
||||||
|
/* we already know it starts with refs/ to get here */
|
||||||
|
if (check_ref_format(refname + 5))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
len = strlen(refname) + 1;
|
||||||
ref = xcalloc(1, sizeof(*ref) + len);
|
ref = xcalloc(1, sizeof(*ref) + len);
|
||||||
hashcpy(ref->new_sha1, sha1);
|
hashcpy(ref->new_sha1, sha1);
|
||||||
memcpy(ref->name, refname, len);
|
memcpy(ref->name, refname, len);
|
||||||
|
|
Loading…
Reference in New Issue