It turns out that ref->peer_ref is always NULL in update_local_ref(). So I made its caller pass in the full remote ref as a new parameter. I also added a unit test. This series is a complete resend of all the patches discussed in these threads, including Jens's submodule recursion fix. builtin/fetch.c | 39 +++++++++++++++++++++++++-------------- t/t5510-fetch.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 14 deletions(-) Jens Lehmann (1): submodules: recursive fetch also checks new tags for submodule commits Marc Branchaud (2): fetch: Pass both the full remote ref and its short name to update_local_ref(). fetch: Use the remote's ref name to decide how to describe new refs. M. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html