Git doesn't use standard SSH file transfer operations.
[...]
OK, thanks for the information.
I have finally done a "git gc" on the server side, and now a "git pull" from the client with no new commits to download takes 4 seconds, a drastic reduction from the 25 seconds it took before.
I turns out I hadn't done a "git gc" on the server for over 2 years, so that many new references weren't packed.
Therefore, I think that having many small files to read versus one packed-refs file makes a huge difference if you have mounted a remote filesystem over a network with a relatively high latency.
My 1 Mbps connection does not actually have such a high latency (around 40 ms measured with ping), but latency seems to have a much greater impact than the low bandwidth, at least with a packed-refs file which only weighs 64 kB.
Best regards,
rdiez