Message ID | 20190528121315.2604-1-philipoakley@iee.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | doc branch: provide examples for listing remote tracking branches | expand |
Philip Oakley <philipoakley@iee.org> writes: > The availability of these pattern selections is not obvious from > the man pages, as per mail thread <87lfz3vcbt.fsf@evledraar.gmail.com>. > > Provide examples. > > Signed-off-by: Philip Oakley <philipoakley@iee.org> > --- Please try again, perhaps after reading <CACsJy8B_3ZytR+5HvOax=ngw7ECse8_5ajkOvUEcOj3MuNxQvQ@mail.gmail.com> Thanks. > > in response to > <CACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S+hiXBoUGQ@mail.gmail.com> > https://public-inbox.org/git/?q=%3CCACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S%2BhiXBoUGQ%40mail.gmail.com%3E > > to: "Git Mailing List <git@vger.kernel.org>" > cc: "Duy Nguyen <pclouds@gmail.com>" > cc: "Ævar Arnfjörð Bjarmason <avarab@gmail.com>" > > Documentation/git-branch.txt | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt > index 3bd83a7cbd..7ed91f1be3 100644 > --- a/Documentation/git-branch.txt > +++ b/Documentation/git-branch.txt > @@ -314,6 +314,18 @@ $ git branch -D test <2> > <2> Delete the "test" branch even if the "master" branch (or whichever branch > is currently checked out) does not have all commits from the test branch. > > +Listing branches from a specific remote:: > ++ > +------------ > +$ git branch -a -l '<remote>/<pattern>' <1> > +$ git for-each-ref 'refs/remotes/<remote>/<pattern>' <2> > +------------ > ++ > +<1> This can conflate <remote> with any local branches you happen to > + have been prefixed with the same <remote> pattern. > +<2> `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1] > + > +Patterns will normally need quoting. > > NOTES > -----
On 28/05/2019 14:58, Junio C Hamano wrote: > Philip Oakley <philipoakley@iee.org> writes: > >> The availability of these pattern selections is not obvious from >> the man pages, as per mail thread <87lfz3vcbt.fsf@evledraar.gmail.com>. >> >> Provide examples. >> >> Signed-off-by: Philip Oakley <philipoakley@iee.org> >> --- > Please try again, perhaps after reading > <CACsJy8B_3ZytR+5HvOax=ngw7ECse8_5ajkOvUEcOj3MuNxQvQ@mail.gmail.com> Hi Junio Sorry, I'm not understanding the comment, even having re-read the thread. Philip > > Thanks. > >> in response to >> <CACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S+hiXBoUGQ@mail.gmail.com> >> https://public-inbox.org/git/?q=%3CCACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S%2BhiXBoUGQ%40mail.gmail.com%3E >> >> to: "Git Mailing List <git@vger.kernel.org>" >> cc: "Duy Nguyen <pclouds@gmail.com>" >> cc: "Ævar Arnfjörð Bjarmason <avarab@gmail.com>" >> >> Documentation/git-branch.txt | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt >> index 3bd83a7cbd..7ed91f1be3 100644 >> --- a/Documentation/git-branch.txt >> +++ b/Documentation/git-branch.txt >> @@ -314,6 +314,18 @@ $ git branch -D test <2> >> <2> Delete the "test" branch even if the "master" branch (or whichever branch >> is currently checked out) does not have all commits from the test branch. >> >> +Listing branches from a specific remote:: >> ++ >> +------------ >> +$ git branch -a -l '<remote>/<pattern>' <1> >> +$ git for-each-ref 'refs/remotes/<remote>/<pattern>' <2> >> +------------ >> ++ >> +<1> This can conflate <remote> with any local branches you happen to >> + have been prefixed with the same <remote> pattern. >> +<2> `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1] >> + >> +Patterns will normally need quoting. >> >> NOTES >> -----
Hi Junio, On 28/05/2019 15:17, Philip Oakley wrote: > On 28/05/2019 14:58, Junio C Hamano wrote: >> Philip Oakley <philipoakley@iee.org> writes: >> >>> The availability of these pattern selections is not obvious from >>> the man pages, as per mail thread <87lfz3vcbt.fsf@evledraar.gmail.com>. >>> >>> Provide examples. >>> >>> Signed-off-by: Philip Oakley <philipoakley@iee.org> >>> --- >> Please try again, perhaps after reading >> <CACsJy8B_3ZytR+5HvOax=ngw7ECse8_5ajkOvUEcOj3MuNxQvQ@mail.gmail.com> > Hi Junio > Sorry, I'm not understanding the comment, even having re-read the thread. > Philip I guess you were referring to you more recent reply to Ævar. However, isn't `-r <pattern>` broken? phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) $ git branch -a -l 'junio/*' remotes/junio/maint remotes/junio/master remotes/junio/next remotes/junio/pu remotes/junio/todo phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) $ git branch -a -r 'junio/*' fatal: -a and -r options to 'git branch' do not make sense with a branch name phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) $ git branch -r 'junio/*' fatal: -a and -r options to 'git branch' do not make sense with a branch name phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) $ git branch -r dscho-git/add-i-fixes dscho-git/add-i-in-c-all-except-patch dscho-git/add-i-in-c-status-and-help ... The docs for the branch -r and -a option could do with mentioning that they are meant to accept a pattern, as all the other mentions are hidden mid paragraph. I'll prepare a v2 for the docs, but haven't the time at the moment to investigate the code fail (missing a test?). Philip >> >> Thanks. >> >>> in response to >>> <CACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S+hiXBoUGQ@mail.gmail.com> >>> https://public-inbox.org/git/?q=%3CCACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S%2BhiXBoUGQ%40mail.gmail.com%3E >>> >>> >>> to: "Git Mailing List <git@vger.kernel.org>" >>> cc: "Duy Nguyen <pclouds@gmail.com>" >>> cc: "Ævar Arnfjörð Bjarmason <avarab@gmail.com>" >>> >>> Documentation/git-branch.txt | 12 ++++++++++++ >>> 1 file changed, 12 insertions(+) >>> >>> diff --git a/Documentation/git-branch.txt >>> b/Documentation/git-branch.txt >>> index 3bd83a7cbd..7ed91f1be3 100644 >>> --- a/Documentation/git-branch.txt >>> +++ b/Documentation/git-branch.txt >>> @@ -314,6 +314,18 @@ $ git branch -D >>> test <2> >>> <2> Delete the "test" branch even if the "master" branch (or >>> whichever branch >>> is currently checked out) does not have all commits from the >>> test branch. >>> +Listing branches from a specific remote:: >>> ++ >>> +------------ >>> +$ git branch -a -l '<remote>/<pattern>' <1> >>> +$ git for-each-ref 'refs/remotes/<remote>/<pattern>' <2> >>> +------------ >>> ++ >>> +<1> This can conflate <remote> with any local branches you happen to >>> + have been prefixed with the same <remote> pattern. >>> +<2> `for-each-ref` can take a wide range of options. See >>> linkgit:git-for-each-ref[1] >>> + >>> +Patterns will normally need quoting. >>> NOTES >>> ----- >
Philip Oakley <philipoakley@iee.org> writes: > However, isn't `-r <pattern>` broken? No. > phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) > $ git branch -a -l 'junio/*' You are asking "branch --all --list" here. > $ git branch -a -r 'junio/*' > fatal: -a and -r options to 'git branch' do not make sense with a > branch name You wanted to ask "branch --remote --list" instead of "branch --all --remote", no?
On 28/05/2019 16:51, Junio C Hamano wrote: > Philip Oakley <philipoakley@iee.org> writes: > >> However, isn't `-r <pattern>` broken? > No. Then why does it say: fatal: -a and -r options to 'git branch' do not make sense with a branch name when there is no `-a` given? > >> phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (branch-patterns) >> $ git branch -a -l 'junio/*' > You are asking "branch --all --list" here. > >> $ git branch -a -r 'junio/*' >> fatal: -a and -r options to 'git branch' do not make sense with a >> branch name > You wanted to ask "branch --remote --list" instead of "branch --all > --remote", no? > The initial expectation was that a simple "--remote <pattern>" would be all that was required to list the rtbs with the sub-pattern (see fatal above, which is maybe how Ævar got his -a formulation). But it now appears that we/I need the --list, to allow a pattern, and either -a, or -r, to include the rtbs in the list. So ultimately, yes, to just get the rtbs of a specific remote one needs your "branch --remote --list `<remote>/*' "formulation. Philip
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 3bd83a7cbd..7ed91f1be3 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -314,6 +314,18 @@ $ git branch -D test <2> <2> Delete the "test" branch even if the "master" branch (or whichever branch is currently checked out) does not have all commits from the test branch. +Listing branches from a specific remote:: ++ +------------ +$ git branch -a -l '<remote>/<pattern>' <1> +$ git for-each-ref 'refs/remotes/<remote>/<pattern>' <2> +------------ ++ +<1> This can conflate <remote> with any local branches you happen to + have been prefixed with the same <remote> pattern. +<2> `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1] + +Patterns will normally need quoting. NOTES -----
The availability of these pattern selections is not obvious from the man pages, as per mail thread <87lfz3vcbt.fsf@evledraar.gmail.com>. Provide examples. Signed-off-by: Philip Oakley <philipoakley@iee.org> --- in response to <CACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S+hiXBoUGQ@mail.gmail.com> https://public-inbox.org/git/?q=%3CCACsJy8CwY8gzeWa9kNRX3ecez1JGiQiaOknbAoU7S%2BhiXBoUGQ%40mail.gmail.com%3E to: "Git Mailing List <git@vger.kernel.org>" cc: "Duy Nguyen <pclouds@gmail.com>" cc: "Ævar Arnfjörð Bjarmason <avarab@gmail.com>" Documentation/git-branch.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+)