Skip to content

Fix protocol v2 tag following with CLI refspec

Jonathan Tan git 2 versions In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 15 repliesIn review
  2. v12 patches 2 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2t5702: test fetch with multiple refspecs at a timet/t5702-protocol-v2.sh+47 -03 replies
2/2fetch: send "refs/tags/" prefix upon CLI refspecsbuiltin/fetch.c t/t5702-protocol-v2.sh+22 -412 replies

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchStefan Beller
1/2R-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] Fix protocol v2 tag following with CLI refspec
Quoted 1 line

Test t5702-protocol-v2.sh doesn't pass with this patch.

Good catch - I've fixed that.

Quoted 4 lines

This is difficult...Really I don't think the default should be to follow tags. Mostly because this defeats the purpose of ref filtering when a user only requests the master branch. Now instead of the server only sending the master branch, you get the whole tags namespace as well.

It's true that there is now a performance drop. My instinctive reaction is to be conservative and preserve the existing behavior, but I'll see what others on this list think.

It's worth nothing that with ref-in-want (for example, in your latest series [1]) we might be able to restore performance, because the server can send refs/tags/X with the packfile instead of sending all refs/tags/X refs initially to the client.

[1] https://public-inbox.org/git/[email protected]/

Jonathan Tan (2):
t5702: test fetch with multiple refspecs at a time
fetch: send "refs/tags/" prefix upon CLI refspecs

 builtin/fetch.c        |  2 +-
 t/t5702-protocol-v2.sh | 71 ++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 69 insertions(+), 4 deletions(-)
Signature · 1 line
2.17.0.768.g1526ddbba1.dirty