* Should `git remote show` display excluded branches as to-be-fetched? @ 2022-06-10 12:59 Pavel Rappo 2022-06-10 17:08 ` Junio C Hamano 0 siblings, 1 reply; 6+ messages in thread From: Pavel Rappo @ 2022-06-10 12:59 UTC (permalink / raw) To: git Here's a console session: % git config --get-all remote.jdk19.fetch +refs/heads/*:refs/remotes/jdk19/* ^refs/heads/pr/* % git remote show jdk19 * remote jdk19 Fetch URL: git@github.com:openjdk/jdk19.git Push URL: git@github.com:openjdk/jdk19.git HEAD branch: master Remote branches: master tracked pr/1 new (next fetch will store in remotes/jdk19) pr/2 new (next fetch will store in remotes/jdk19) pr/3 new (next fetch will store in remotes/jdk19) Local ref configured for 'git push': master pushes to master (fast-forwardable) I would naively expect the pr/1, pr/2, and pr/3 branches to be either: - not displayed, or better - displayed with a hint that they won't be fetched (since they match a _negative_ refspec, which is the second line in the `git config` output above) Thanks, -Pavel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Should `git remote show` display excluded branches as to-be-fetched? 2022-06-10 12:59 Should `git remote show` display excluded branches as to-be-fetched? Pavel Rappo @ 2022-06-10 17:08 ` Junio C Hamano 2022-06-12 6:36 ` Jacob Keller 2022-06-13 23:20 ` Jacob Keller 0 siblings, 2 replies; 6+ messages in thread From: Junio C Hamano @ 2022-06-10 17:08 UTC (permalink / raw) To: Pavel Rappo, Jacob Keller; +Cc: git Pavel Rappo <pavel.rappo@gmail.com> writes: > Here's a console session: > > % git config --get-all remote.jdk19.fetch > +refs/heads/*:refs/remotes/jdk19/* > ^refs/heads/pr/* Thanks "Negative refspecs" is relatively new feature introduced in c0192df6 (refspec: add support for negative refspecs, 2020-09-30), so it would not be so surprising if it still had some surprising behaviour ;-) Jacob, care to take a look? > % git remote show jdk19 > > * remote jdk19 > Fetch URL: git@github.com:openjdk/jdk19.git > Push URL: git@github.com:openjdk/jdk19.git > HEAD branch: master > Remote branches: > master tracked > pr/1 new (next fetch will store in remotes/jdk19) > pr/2 new (next fetch will store in remotes/jdk19) > pr/3 new (next fetch will store in remotes/jdk19) > Local ref configured for 'git push': > master pushes to master (fast-forwardable) > > I would naively expect the pr/1, pr/2, and pr/3 branches to be either: > > - not displayed, or better > - displayed with a hint that they won't be fetched (since they match a > _negative_ refspec, which is the second line in the `git config` > output above) > > Thanks, > -Pavel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Should `git remote show` display excluded branches as to-be-fetched? 2022-06-10 17:08 ` Junio C Hamano @ 2022-06-12 6:36 ` Jacob Keller 2022-06-13 23:20 ` Jacob Keller 1 sibling, 0 replies; 6+ messages in thread From: Jacob Keller @ 2022-06-12 6:36 UTC (permalink / raw) To: Junio C Hamano; +Cc: Pavel Rappo, Git mailing list On Fri, Jun 10, 2022 at 10:08 AM Junio C Hamano <gitster@pobox.com> wrote: > > Pavel Rappo <pavel.rappo@gmail.com> writes: > > > Here's a console session: > > > > % git config --get-all remote.jdk19.fetch > > +refs/heads/*:refs/remotes/jdk19/* > > ^refs/heads/pr/* > > Thanks > > "Negative refspecs" is relatively new feature introduced in c0192df6 > (refspec: add support for negative refspecs, 2020-09-30), so it > would not be so surprising if it still had some surprising behaviour > ;-) > > Jacob, care to take a look? > > > % git remote show jdk19 > > > > * remote jdk19 > > Fetch URL: git@github.com:openjdk/jdk19.git > > Push URL: git@github.com:openjdk/jdk19.git > > HEAD branch: master > > Remote branches: > > master tracked > > pr/1 new (next fetch will store in remotes/jdk19) > > pr/2 new (next fetch will store in remotes/jdk19) > > pr/3 new (next fetch will store in remotes/jdk19) > > Local ref configured for 'git push': > > master pushes to master (fast-forwardable) > > > > I would naively expect the pr/1, pr/2, and pr/3 branches to be either: > > > > - not displayed, or better > > - displayed with a hint that they won't be fetched (since they match a > > _negative_ refspec, which is the second line in the `git config` > > output above) > > > > Thanks, > > -Pavel This is almost certainly an oversight in that the particular code path does not process negative refspecs. I can hopefully take a closer look at this next week. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Should `git remote show` display excluded branches as to-be-fetched? 2022-06-10 17:08 ` Junio C Hamano 2022-06-12 6:36 ` Jacob Keller @ 2022-06-13 23:20 ` Jacob Keller 2022-06-14 0:34 ` Jacob Keller 1 sibling, 1 reply; 6+ messages in thread From: Jacob Keller @ 2022-06-13 23:20 UTC (permalink / raw) To: Junio C Hamano; +Cc: Pavel Rappo, Git mailing list On Fri, Jun 10, 2022 at 10:08 AM Junio C Hamano <gitster@pobox.com> wrote: > > Pavel Rappo <pavel.rappo@gmail.com> writes: > > > Here's a console session: > > > > % git config --get-all remote.jdk19.fetch > > +refs/heads/*:refs/remotes/jdk19/* > > ^refs/heads/pr/* > > Thanks > > "Negative refspecs" is relatively new feature introduced in c0192df6 > (refspec: add support for negative refspecs, 2020-09-30), so it > would not be so surprising if it still had some surprising behaviour > ;-) > > Jacob, care to take a look? > Ok, so this looks like its caused by the fact that get_fetch_map in builtin/remote.c ignores all negative refspecs. I think what we really want to do is check if a given ref matches any negative ref and then maybe move it from the new listing into a separate skipped listing. Figuring out the best way to do this is a little bit of a challenge. It looks like maybe we need to use one of the functions in remote.c just after the get_fetch_map call in get_ref_states. But exactly what has so far eluded me after a bit of digging. I'm still looking at this, but help would be appreciated if anyone else has a suggestion. Thanks, Jake > > % git remote show jdk19 > > > > * remote jdk19 > > Fetch URL: git@github.com:openjdk/jdk19.git > > Push URL: git@github.com:openjdk/jdk19.git > > HEAD branch: master > > Remote branches: > > master tracked > > pr/1 new (next fetch will store in remotes/jdk19) > > pr/2 new (next fetch will store in remotes/jdk19) > > pr/3 new (next fetch will store in remotes/jdk19) > > Local ref configured for 'git push': > > master pushes to master (fast-forwardable) > > > > I would naively expect the pr/1, pr/2, and pr/3 branches to be either: > > > > - not displayed, or better > > - displayed with a hint that they won't be fetched (since they match a > > _negative_ refspec, which is the second line in the `git config` > > output above) > > > > Thanks, > > -Pavel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Should `git remote show` display excluded branches as to-be-fetched? 2022-06-13 23:20 ` Jacob Keller @ 2022-06-14 0:34 ` Jacob Keller 2022-06-25 16:06 ` Pavel Rappo 0 siblings, 1 reply; 6+ messages in thread From: Jacob Keller @ 2022-06-14 0:34 UTC (permalink / raw) To: Junio C Hamano; +Cc: Pavel Rappo, Git mailing list On Mon, Jun 13, 2022 at 4:20 PM Jacob Keller <jacob.keller@gmail.com> wrote: > > On Fri, Jun 10, 2022 at 10:08 AM Junio C Hamano <gitster@pobox.com> wrote: > > > > Pavel Rappo <pavel.rappo@gmail.com> writes: > > > > > Here's a console session: > > > > > > % git config --get-all remote.jdk19.fetch > > > +refs/heads/*:refs/remotes/jdk19/* > > > ^refs/heads/pr/* > > > > Thanks > > > > "Negative refspecs" is relatively new feature introduced in c0192df6 > > (refspec: add support for negative refspecs, 2020-09-30), so it > > would not be so surprising if it still had some surprising behaviour > > ;-) > > > > Jacob, care to take a look? > > > > Ok, so this looks like its caused by the fact that get_fetch_map in > builtin/remote.c ignores all negative refspecs. I think what we really > want to do is check if a given ref matches any negative ref and then > maybe move it from the new listing into a separate skipped listing. > > Figuring out the best way to do this is a little bit of a challenge. > It looks like maybe we need to use one of the functions in remote.c > just after the get_fetch_map call in get_ref_states. But exactly what > has so far eluded me after a bit of digging. > > I'm still looking at this, but help would be appreciated if anyone > else has a suggestion. > > Thanks, > Jake > > > > % git remote show jdk19 > > > > > > * remote jdk19 > > > Fetch URL: git@github.com:openjdk/jdk19.git > > > Push URL: git@github.com:openjdk/jdk19.git > > > HEAD branch: master > > > Remote branches: > > > master tracked > > > pr/1 new (next fetch will store in remotes/jdk19) > > > pr/2 new (next fetch will store in remotes/jdk19) > > > pr/3 new (next fetch will store in remotes/jdk19) > > > Local ref configured for 'git push': > > > master pushes to master (fast-forwardable) > > > > > > I would naively expect the pr/1, pr/2, and pr/3 branches to be either: > > > > > > - not displayed, or better > > > - displayed with a hint that they won't be fetched (since they match a > > > _negative_ refspec, which is the second line in the `git config` > > > output above) > > > > > > Thanks, > > > -Pavel I found a working solution, but I don't really like the implementation, so perhaps someone with more knowledge of the struct refspec, struct refspec_item, etc would help me figure out if I am doing it in a good way. I just posted it. Thanks, Jake ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Should `git remote show` display excluded branches as to-be-fetched? 2022-06-14 0:34 ` Jacob Keller @ 2022-06-25 16:06 ` Pavel Rappo 0 siblings, 0 replies; 6+ messages in thread From: Pavel Rappo @ 2022-06-25 16:06 UTC (permalink / raw) To: Jacob Keller; +Cc: Junio C Hamano, Git mailing list On Tue, Jun 14, 2022 at 1:34 AM Jacob Keller <jacob.keller@gmail.com> wrote: > I found a working solution, but I don't really like the > implementation, so perhaps someone with more knowledge of the struct > refspec, struct refspec_item, etc would help me figure out if I am > doing it in a good way. I just posted it. Thanks, Jake. Does Git project have an issue tracker we could enter this bug into? ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-25 16:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-10 12:59 Should `git remote show` display excluded branches as to-be-fetched? Pavel Rappo 2022-06-10 17:08 ` Junio C Hamano 2022-06-12 6:36 ` Jacob Keller 2022-06-13 23:20 ` Jacob Keller 2022-06-14 0:34 ` Jacob Keller 2022-06-25 16:06 ` Pavel Rappo
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).