Re: Developer branches
On Thu, 16 Sept 2021 at 09:15, Richard Biener wrote: > > On Thu, Sep 16, 2021 at 1:37 AM Paul Koning wrote: > > Thanks, that's useful. Suppose I want to collaborate with one other person > > (for now) on pdp11 target work, does it make sense to keep that in a user > > branch since the community is so small and isolated? I assume the other > > person would need (as a minimum) write-after-approval privs. > > Note another option is to host int on github or gitlab and base it off > their mirrors of the GCC repo. > > Without write-after-approval access the person would not be able to > push to the repo > at gcc.gnu.org but of course you could do this with changes sent by > mail for example. With Git it's really not necessary for everybody to write to the same repo. The other collaborator could have their own repo hosted on gitlab or github and send pull requests to you, for you to merge into your repo. Then you could push your branch (containing commits from you and the other collaborator) to a devel or user branch on gcc.gnu.org if you want (or not if you don't want to). Or you could both write to the same repo hosted on gitlab/github/wherever, by granting access appropriately. And then push the results to a branch on gcc.gnu.org (or not). With Subversion that didn't really work, there was no easy way to keep in sync with the gcc.gnu.org trunk unless your devel branch was also hosted on gcc.gnu.org, but with Git it's mostly irrelevant whether you host your branch on gcc.gnu.org or not. If you have no other way to host a repo that all collaborators can pull from (and you don't want to exchange patches by email) then hosting a branch at gcc.gnu.org is a good solution. But that's rarely the case, because there are numerous zero-cost repo hosting platforms available that most people can use (unless they are banned from all those platforms or firewalled in some way that makes them reachable).
Re: Developer branches
On Thu, 16 Sept 2021 at 00:34, Paul Koning wrote: > > > > > On Sep 15, 2021, at 4:34 PM, Jonathan Wakely wrote: > > > > On Wed, 15 Sept 2021 at 21:12, Paul Koning via Gcc wrote: > >> > >> Some questions about developer branches: > >> > >> 1. Who may create one? Who may write to them? > >> 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I > >> notice it mentioned a whole pile of them, most of which don't seem to > >> exist. > > > > Which ones? All the one I looked for exist. > > Perhaps I did the procedures wrong. I did a git pull, then git branch -a > |fgrep devel. I see 24 entries. Looking at the git.html page, that mentions > a lot more. Some examples that do exist: modula-2, ira-select. Some that > don't: the ave* branches, x86, var-template. Ah, the text that says "Active development branches have names starting devel/ in Git." is wrong. All of them are there, just not under /devel e.g. `git ls-remote origin fortran-dev` shows it's at refs/dead/heads/fortran-dev We should clean up the list.
Re: Developer branches
On Thu, Sep 16, 2021 at 1:37 AM Paul Koning via Gcc wrote: > > > > > On Sep 15, 2021, at 5:21 PM, Joseph Myers wrote: > > > > On Wed, 15 Sep 2021, Paul Koning via Gcc wrote: > > > >> Some questions about developer branches: > >> > >> 1. Who may create one? Who may write to them? > >> 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I > >> notice it mentioned a whole pile of them, most of which don't seem to > >> exist. > > > > A devel/ branch (one in refs/heads/devel/) is a shared development branch, > > which may be created by anyone with write access (who can decide how it > > will work in terms of patch approvals etc.), should be documented in > > git.html, and will not accept non-fast-forward pushes or branch deletion. > > > > A user branch (in refs/users//heads/) is a personal development > > branch, which may be created by that user (sourceware username), may not > > necessarily be documented in git.html, and can have non-fast-forward > > pushes or branch deletion (it's up to that user to decide the rules for > > that branch, including for non-fast-forward pushes). Likewise a vendor > > branch (in refs/vendors//heads/). > > > > All branches are subject to the same legal requirements (copyright > > assignment or DCO for code committed there). > > ... > > Thanks, that's useful. Suppose I want to collaborate with one other person > (for now) on pdp11 target work, does it make sense to keep that in a user > branch since the community is so small and isolated? I assume the other > person would need (as a minimum) write-after-approval privs. Note another option is to host int on github or gitlab and base it off their mirrors of the GCC repo. Without write-after-approval access the person would not be able to push to the repo at gcc.gnu.org but of course you could do this with changes sent by mail for example. Richard. > > paul >
Re: Developer branches
> On Sep 15, 2021, at 5:21 PM, Joseph Myers wrote: > > On Wed, 15 Sep 2021, Paul Koning via Gcc wrote: > >> Some questions about developer branches: >> >> 1. Who may create one? Who may write to them? >> 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I >> notice it mentioned a whole pile of them, most of which don't seem to >> exist. > > A devel/ branch (one in refs/heads/devel/) is a shared development branch, > which may be created by anyone with write access (who can decide how it > will work in terms of patch approvals etc.), should be documented in > git.html, and will not accept non-fast-forward pushes or branch deletion. > > A user branch (in refs/users//heads/) is a personal development > branch, which may be created by that user (sourceware username), may not > necessarily be documented in git.html, and can have non-fast-forward > pushes or branch deletion (it's up to that user to decide the rules for > that branch, including for non-fast-forward pushes). Likewise a vendor > branch (in refs/vendors//heads/). > > All branches are subject to the same legal requirements (copyright > assignment or DCO for code committed there). > ... Thanks, that's useful. Suppose I want to collaborate with one other person (for now) on pdp11 target work, does it make sense to keep that in a user branch since the community is so small and isolated? I assume the other person would need (as a minimum) write-after-approval privs. paul
Re: Developer branches
> On Sep 15, 2021, at 4:34 PM, Jonathan Wakely wrote: > > On Wed, 15 Sept 2021 at 21:12, Paul Koning via Gcc wrote: >> >> Some questions about developer branches: >> >> 1. Who may create one? Who may write to them? >> 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I >> notice it mentioned a whole pile of them, most of which don't seem to exist. > > Which ones? All the one I looked for exist. Perhaps I did the procedures wrong. I did a git pull, then git branch -a |fgrep devel. I see 24 entries. Looking at the git.html page, that mentions a lot more. Some examples that do exist: modula-2, ira-select. Some that don't: the ave* branches, x86, var-template. paul
Re: Developer branches
On Wed, 15 Sep 2021, Paul Koning via Gcc wrote: > Some questions about developer branches: > > 1. Who may create one? Who may write to them? > 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I > notice it mentioned a whole pile of them, most of which don't seem to > exist. A devel/ branch (one in refs/heads/devel/) is a shared development branch, which may be created by anyone with write access (who can decide how it will work in terms of patch approvals etc.), should be documented in git.html, and will not accept non-fast-forward pushes or branch deletion. A user branch (in refs/users//heads/) is a personal development branch, which may be created by that user (sourceware username), may not necessarily be documented in git.html, and can have non-fast-forward pushes or branch deletion (it's up to that user to decide the rules for that branch, including for non-fast-forward pushes). Likewise a vendor branch (in refs/vendors//heads/). All branches are subject to the same legal requirements (copyright assignment or DCO for code committed there). Some basic commit message checks apply to all commits on all branches, but not the ones on ChangeLog entries (it's up to you if you want to have ChangeLog entries in commit messages on a development branch). Many of the branches listed in git.html are old ones that were put in refs/dead/heads/ on conversion from SVN to git because they had not been active recently at that time. Such branches ought to be moved to the Inactive section if not already there. We don't have a documented process for moving a refs/heads/devel/ branch to refs/dead/heads/ after it's dead - that's something that can only be done with direct repository manipulation (git update-ref) on the server, it's not allowed as a push by the hooks, and should preferably be followed by git repack --window=1250 --depth=250 -b -AdFfi (on the server, takes a long time and over 100 GB of memory) because of how the delta islands configuration separates out the data for refs/dead/. -- Joseph S. Myers jos...@codesourcery.com
Re: Developer branches
On Wed, 15 Sept 2021 at 21:12, Paul Koning via Gcc wrote: > > Some questions about developer branches: > > 1. Who may create one? Who may write to them? > 2. Are they required to be listed in https://gcc.gnu.org/git.html ? I notice > it mentioned a whole pile of them, most of which don't seem to exist. Which ones? All the one I looked for exist. Some of them (like gcc-4_4-plugins and pph) should really be moved to refs/dead/heads