remote: don't try to update FETCH_HEAD if no extra heads exist

Don't try to update anything if there are no heads to update. This
saves us from trying to look into a fetch refspec when there is none.

A better fix for compatibility with git when using remotes without
refspecs is still needed, but this stops us from segfaulting.
This commit is contained in:
Carlos Martín Nieto 2013-04-16 00:11:59 +02:00
parent 67ba7d2031
commit 404eadb089

View File

@ -731,6 +731,10 @@ static int git_remote_write_fetchhead(git_remote *remote, git_vector *update_hea
assert(remote); assert(remote);
/* no heads, nothing to do */
if (update_heads->length == 0)
return 0;
spec = &remote->fetch; spec = &remote->fetch;
if (git_vector_init(&fetchhead_refs, update_heads->length, git_fetchhead_ref_cmp) < 0) if (git_vector_init(&fetchhead_refs, update_heads->length, git_fetchhead_ref_cmp) < 0)