Commit 404eadb089f5757842d2703ab1de849dd1f79a24

Carlos Martín Nieto 2013-04-16T00:11:59

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/remote.c b/src/remote.c
index 54f0a8a..5685383 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)