Skip to content

Commit a93b4a0

Browse files
felipecgitster
authored andcommitted
transport-helper: warn when refspec is not used
For the modes that need it. In the future we should probably error out, instead of providing half-assed support. The reason we want to do this is because if it's not present, the remote helper might be updating refs/heads/*, or refs/remotes/origin/*, directly, and in the process fetch will get confused trying to update refs that are already updated, or older than what they should be. We shouldn't be messing with the rest of git. Signed-off-by: Felipe Contreras <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 21610d8 commit a93b4a0

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

t/t5801-remote-helpers.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,16 @@ test_expect_failure 'push new branch with old:new refspec' '
100100

101101
test_expect_success 'cloning without refspec' '
102102
GIT_REMOTE_TESTGIT_REFSPEC="" \
103-
git clone "testgit::${PWD}/server" local2 &&
103+
git clone "testgit::${PWD}/server" local2 2>error &&
104+
grep "This remote helper should implement refspec capability" error &&
104105
compare_refs local2 HEAD server HEAD
105106
'
106107

107108
test_expect_success 'pulling without refspecs' '
108109
(cd local2 &&
109110
git reset --hard &&
110-
GIT_REMOTE_TESTGIT_REFSPEC="" git pull) &&
111+
GIT_REMOTE_TESTGIT_REFSPEC="" git pull 2>../error) &&
112+
grep "This remote helper should implement refspec capability" error &&
111113
compare_refs local2 HEAD server HEAD
112114
'
113115

transport-helper.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,8 @@ static struct child_process *get_helper(struct transport *transport)
215215
free((char *)refspecs[i]);
216216
}
217217
free(refspecs);
218+
} else if (data->import || data->bidi_import || data->export) {
219+
warning("This remote helper should implement refspec capability.");
218220
}
219221
strbuf_release(&buf);
220222
if (debug)

0 commit comments

Comments
 (0)