The thread began with a patch adding fetch.shallow, off by default. When enabled, a fetch or pull in a shallow repository that is not already scoped to specific refs fetches only the current branch's tracked upstream. Harald Nordgren's motivation was that in a shallow, sparsely checked-out clone of a repository with many branches, plain git pull can take minutes or hang.

The series has since changed shape. The current version adds a per-remote remote.<name>.refmap variable that supplies the default for --refmap, in the way remote.<name>.fetch supplies default refspecs. It also makes a refspec-less fetch on a remote with only a refmap infer what to fetch: the local branches whose @{upstream} is on that remote.

On top of that, git remote add gets a --limited-fetch option that sets up refmap instead of a wildcard fetch refspec. It is rejected together with -t/--track or --mirror. In a repository that is already shallow, and without those options, it becomes the default, so that adding a remote does not commit to following every branch.

The v7 notes say the 'fatal: --refmap option is only meaningful with command-line refspec(s)' error no longer fires merely because remote.<name>.refmap is configured. They also say that when both remote.<name>.fetch and remote.<name>.refmap are set, a refspec-less fetch follows .fetch and the refmap only remaps refs already being fetched. Tests were added. Earlier versions dropped an automatic default-branch fetch. Phillip Wood, Junio C Hamano and D. Ben Knoble took part in the 52-message thread, but the excerpts do not show where review stands.