summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-12-14 17:00:54 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2014-12-14 17:04:02 +0100
commit8c13eaedbb85a9f9211559a657c955d93f4af5de (patch)
treec586623c997f02fb29073484a3c0fd54fe05c1f1
parent4aa23369660726479f2c3e4cbee2cd51497ad00b (diff)
downloadlibgit2-8c13eaedbb85a9f9211559a657c955d93f4af5de.tar.gz
fetch: prune after updating tips
This makes a fetch+prune more similar to a connect+prune and makes it more likely that we see errors in the decision to prune a reference.
-rw-r--r--src/remote.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/remote.c b/src/remote.c
index 8ffb89404..cd814091d 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -926,12 +926,15 @@ int git_remote_fetch(
remote->name ? remote->name : remote->url);
}
- if (remote->prune_refs && (error = git_remote_prune(remote)) < 0)
- return error;
-
/* Create "remote/foo" branches for all remote branches */
error = git_remote_update_tips(remote, signature, git_buf_cstr(&reflog_msg_buf));
git_buf_free(&reflog_msg_buf);
+ if (error < 0)
+ return error;
+
+ if (remote->prune_refs)
+ error = git_remote_prune(remote);
+
return error;
}