Re: Developer branches

2021-09-16 Thread Jonathan Wakely via Gcc
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

2021-09-16 Thread Jonathan Wakely via Gcc
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

2021-09-16 Thread Richard Biener via Gcc
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

2021-09-15 Thread Paul Koning via Gcc



> 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

2021-09-15 Thread Paul Koning via Gcc



> 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

2021-09-15 Thread Joseph Myers
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

2021-09-15 Thread Jonathan Wakely via Gcc
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