Re: [Feature request] Separate explicit fetch mapping from default fetch selection
Junio C Hamano <[email protected]>
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
"Douglas Puchalski (dpuchals)" <[email protected]> writes: > Git version: 2.55.0 > Environment: macOS 26.6 > > I configure a remote to fetch only a small default set of branches: > > [remote "origin"] > fetch = +refs/heads/main:refs/remotes/origin/main > fetch = +refs/heads/team/*:refs/remotes/origin/team/* > > This prevents `git fetch origin` from fetching and updating a very large > number of remote branches. > > When I explicitly request another branch: > > git fetch origin topic/example > > Git fetches the branch into FETCH_HEAD but does not create or update: > > refs/remotes/origin/topic/example I haven't thought things through, but I suspect that what you want might be an opposite of explicitly listing what is tracked on remote.*.fetch configuration, but having remotes/origin/* hierarchy of refs as the source of the tracking information. It was a long ago this was invented, and I haven't used it for almost forever, but shouldn't this $ git fetch \ --refmap="refs/heads/*:refs/remotes/origin/*" \ origin topic/example do what you want to do? If so, perhaps it would make a good starting point to make it easier to use (e.g., perhaps a configuration variable can specify the refmap to be used, or something).