diff options
author | Carlos Martín Nieto <cmn@elego.de> | 2013-04-16 00:11:59 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@elego.de> | 2013-04-16 00:11:59 +0200 |
commit | 404eadb089f5757842d2703ab1de849dd1f79a24 (patch) | |
tree | aea0df5db615724227e0bda375a48f94762142be | |
parent | 67ba7d2031f1eef63d66db6ce3ecaceddb06a4f3 (diff) | |
download | libgit2-404eadb089f5757842d2703ab1de849dd1f79a24.tar.gz |
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.
-rw-r--r-- | src/remote.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/remote.c b/src/remote.c index 54f0a8ac2..56853834b 100644 --- a/src/remote.c +++ b/src/remote.c @@ -731,6 +731,10 @@ static int git_remote_write_fetchhead(git_remote *remote, git_vector *update_hea assert(remote); + /* no heads, nothing to do */ + if (update_heads->length == 0) + return 0; + spec = &remote->fetch; if (git_vector_init(&fetchhead_refs, update_heads->length, git_fetchhead_ref_cmp) < 0) |