path: root/send-pack.c
diff options
authorJohannes Schindelin <>2007-07-10 17:48:40 (GMT)
committerJunio C Hamano <>2007-07-11 22:28:15 (GMT)
commitb42f69273bf5ae2d5bb0c7479bfa9827e7b351ac (patch)
tree67849e4e3354317f92e8dd6acf1d941e05bf2778 /send-pack.c
parent5206d13091a38b2fef534c78e893814dbab0af26 (diff)
Add for_each_remote() function, and extend remote_find_tracking()
The function for_each_remote() does exactly what the name suggests. The function remote_find_tracking() was extended to be able to search remote refs for a given local ref. The caller sets either src or dst (but not both) in the refspec parameter, and remote_find_tracking() will fill in the other and return 0. Both changes are required for the next step: simplification of git-branch's --track functionality. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'send-pack.c')
1 files changed, 2 insertions, 2 deletions
diff --git a/send-pack.c b/send-pack.c
index fecbda9..9fc8a81 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -305,8 +305,8 @@ static int send_pack(int in, int out, struct remote *remote, int nr_refspec, cha
if (remote) {
struct refspec rs;
rs.src = ref->name;
- remote_find_tracking(remote, &rs);
- if (rs.dst) {
+ rs.dst = NULL;
+ if (!remote_find_tracking(remote, &rs)) {
struct ref_lock *lock;
fprintf(stderr, " Also local %s\n", rs.dst);
if (will_delete_ref) {