Re: GitHub usernames in maintainers field

2017-02-12 Thread Mojca Miklavec
On 12 February 2017 at 06:12, Joshua Root wrote:
> On 2017-2-12 12:07 , Ryan Schmidt wrote:
>>
>> The mega $Id$ removal commit also exposed a limitation of the GitHub
>> git-to-svn gateway, which we are using on our server in the mprsyncup
>> script. I reported the limitation to GitHub and they said they would look
>> into it but I don't know if they've fixed it. I believe we can avoid
>> triggering this limitation again by not modifying too many files in a single
>> commit. If we hit the limitation again, manual intervention is required to
>> throw away the Subversion working copy on the server, and then after the new
>> working copy is checked out the portindexes get regenerated, which takes
>> hours; I want to avoid going through all that hassle ever again.
>
> This at least could be avoided by checking out directly from git, I presume?

There is also no need to do a single commit. We can do one commit per
folder or so.

Do we have a ticket to "upgrade" mprsyncup to use git?

Mojca

PS: In any case the optimisation of with huge builds on the buildbot
is currently in a much better shape than it used to be a few months
back. Builds of ports with known-to-fail dependencies are no longer
attempted, existing packages are not rebuilt, problems with 45 minutes
of waiting time on 10.5 were fixed ...

Regarding the desire to build all ports at some point, I would still
be in favour of supporting meta port names on the buildbot
https://trac.macports.org/ticket/52989


Re: GitHub usernames in maintainers field

2017-02-12 Thread Ryan Schmidt

On Feb 11, 2017, at 23:12, Joshua Root wrote:

> On 2017-2-12 12:07 , Ryan Schmidt wrote:
>> The mega $Id$ removal commit also exposed a limitation of the GitHub 
>> git-to-svn gateway, which we are using on our server in the mprsyncup 
>> script. I reported the limitation to GitHub and they said they would look 
>> into it but I don't know if they've fixed it. I believe we can avoid 
>> triggering this limitation again by not modifying too many files in a single 
>> commit. If we hit the limitation again, manual intervention is required to 
>> throw away the Subversion working copy on the server, and then after the new 
>> working copy is checked out the portindexes get regenerated, which takes 
>> hours; I want to avoid going through all that hassle ever again.
> 
> This at least could be avoided by checking out directly from git, I presume?

Right, the mprsyncup script just has a lot of svn specifics in it that we 
haven't tried to eliminate yet so it was easier to use the git-to-svn bridge.



Re: GitHub usernames in maintainers field

2017-02-11 Thread Joshua Root

On 2017-2-12 12:07 , Ryan Schmidt wrote:

The mega $Id$ removal commit also exposed a limitation of the GitHub git-to-svn 
gateway, which we are using on our server in the mprsyncup script. I reported 
the limitation to GitHub and they said they would look into it but I don't know 
if they've fixed it. I believe we can avoid triggering this limitation again by 
not modifying too many files in a single commit. If we hit the limitation 
again, manual intervention is required to throw away the Subversion working 
copy on the server, and then after the new working copy is checked out the 
portindexes get regenerated, which takes hours; I want to avoid going through 
all that hassle ever again.


This at least could be avoided by checking out directly from git, I presume?

- Josh


Re: GitHub usernames in maintainers field

2017-02-11 Thread Ryan Schmidt
I appreciate that we are making these changes slowly. This gives the buildbot 
time to catch up on other commits.

I don't want to commit all maintainer-to-GitHub changes in one revision and 
then cancel the buildbot build, as we did with the $Id$ removal commit, because 
valuable builds are being done by the buildbot as a result of these commits 
which I want to allow to happen.

The mega $Id$ removal commit also exposed a limitation of the GitHub git-to-svn 
gateway, which we are using on our server in the mprsyncup script. I reported 
the limitation to GitHub and they said they would look into it but I don't know 
if they've fixed it. I believe we can avoid triggering this limitation again by 
not modifying too many files in a single commit. If we hit the limitation 
again, manual intervention is required to throw away the Subversion working 
copy on the server, and then after the new working copy is checked out the 
portindexes get regenerated, which takes hours; I want to avoid going through 
all that hassle ever again.




Re: GitHub usernames in maintainers field

2017-02-11 Thread Jeremy Sequoia
There is also a list on https://trac.macports.org/wiki/MacPortsDevelopers

I'll probably do the ones from there if nobody beats me to it.

Sent from my iPhone...

> On Feb 11, 2017, at 15:05, Mojca Miklavec  wrote:
> 
>> On 11 February 2017 at 23:25, Ryan Schmidt wrote:
>>> On Feb 11, 2017, at 13:14, Mojca Miklavec wrote:
 On 11 February 2017 at 20:05, Jeremy Huddleston Sequoia wrote:
 Do we have a mapping list somewhere, so we can just script this for known 
 mappings?
>>> 
>>> The list should be available on our Trac (at least for those who
>>> logged in with their github account).
>> 
>> I assumed such a list would only be visible to our Trac sysadmins. Can it be 
>> seen by anyone logging in to Trac? If so, how?
> 
> Yes and no. One cannot get a list directly, but one can just enter the
> email in the CC field and it will suggest you which username belongs
> to that email. We don't have a list of all emails either, but that
> could be assembled from Portfiles without too much hassle and looked
> up one-by-one or scripted if someone really insisted.
> 
> I've been using that workaround to figure out whom to @mention on
> various pull requests.
> 
> I don't know if there are any security implications (provided that
> emails are public in Portfiles already). But probably this reveals
> emails from any GitHub user that ever logged in to our Trac as well,
> not just those of maintainers.
> 
> The old trac would hide full email addresses. Anyone logged in as
> committer would see full emails, I'm not sure if random newbies would
> also see full emails before the transition. I guess they do now.
> 
> My idea would be to get the "official list" from the sysadmins and do
> auto-replacement for all ports at the same time. Waiting for
> individual committers to do the changes will take forever and just
> means a lot of manual work + hundreds of commits (or hundreds of pull
> requests to be merged manually from maintainers without commit
> rights). Not to even mention all the typos, forgotten ports etc. (For
> that reason I would be in favour of keeping a single obfuscated list
> somewhere rather than duplicating all entries all over the place.
> Duplication is acceptable, but I really don't like manual work.)
> 
> Mojca


Re: GitHub usernames in maintainers field

2017-02-11 Thread Mojca Miklavec
On 11 February 2017 at 23:25, Ryan Schmidt wrote:
> On Feb 11, 2017, at 13:14, Mojca Miklavec wrote:
>> On 11 February 2017 at 20:05, Jeremy Huddleston Sequoia wrote:
>>> Do we have a mapping list somewhere, so we can just script this for known 
>>> mappings?
>>
>> The list should be available on our Trac (at least for those who
>> logged in with their github account).
>
> I assumed such a list would only be visible to our Trac sysadmins. Can it be 
> seen by anyone logging in to Trac? If so, how?

Yes and no. One cannot get a list directly, but one can just enter the
email in the CC field and it will suggest you which username belongs
to that email. We don't have a list of all emails either, but that
could be assembled from Portfiles without too much hassle and looked
up one-by-one or scripted if someone really insisted.

I've been using that workaround to figure out whom to @mention on
various pull requests.

I don't know if there are any security implications (provided that
emails are public in Portfiles already). But probably this reveals
emails from any GitHub user that ever logged in to our Trac as well,
not just those of maintainers.

The old trac would hide full email addresses. Anyone logged in as
committer would see full emails, I'm not sure if random newbies would
also see full emails before the transition. I guess they do now.

My idea would be to get the "official list" from the sysadmins and do
auto-replacement for all ports at the same time. Waiting for
individual committers to do the changes will take forever and just
means a lot of manual work + hundreds of commits (or hundreds of pull
requests to be merged manually from maintainers without commit
rights). Not to even mention all the typos, forgotten ports etc. (For
that reason I would be in favour of keeping a single obfuscated list
somewhere rather than duplicating all entries all over the place.
Duplication is acceptable, but I really don't like manual work.)

Mojca


Re: GitHub usernames in maintainers field

2017-02-11 Thread Ryan Schmidt

On Feb 11, 2017, at 13:14, Mojca Miklavec wrote:

> On 11 February 2017 at 20:05, Jeremy Huddleston Sequoia wrote:
>> Do we have a mapping list somewhere, so we can just script this for known 
>> mappings?
> 
> The list should be available on our Trac (at least for those who
> logged in with their github account).

I assumed such a list would only be visible to our Trac sysadmins. Can it be 
seen by anyone logging in to Trac? If so, how?





Re: GitHub usernames in maintainers field

2017-02-11 Thread Mojca Miklavec
On 11 February 2017 at 20:05, Jeremy Huddleston Sequoia wrote:
> Do we have a mapping list somewhere, so we can just script this for known 
> mappings?

The list should be available on our Trac (at least for those who
logged in with their github account).

Mojca


Re: GitHub usernames in maintainers field

2017-02-11 Thread Jeremy Huddleston Sequoia
Do we have a mapping list somewhere, so we can just script this for known 
mappings?

Anyone interested in doing this for their ports might find this useful:

for g in */ ; do
sed -i '' '/maintainers/s/\([^{@]\)jeremyhu/\1{jeremyhu @jeremyhu}/g' 
$g/*/Portfile
done

There certainly could be some false matches with that, so check `git diff` 
first.

--Jeremy

> On Feb 4, 2017, at 17:30, Mojca Miklavec  wrote:
> 
> Hi,
> 
> On 4 February 2017 at 17:07, Clemens Lang wrote:
>> On Thu, Feb 02, 2017 at 03:12:27PM -0800, Eitan Adler wrote:
 maintainers {jmr @jmroot} openmaintainer
>>> 
>>> Why did we choose to do it this way instead of a central list of email
>>> -> github mapping? This method requires some level of replication.
>> 
>> Ports can exists outside of a port repository. External repositories
>> could have different assignments, Portfiles could even exist without a
>> mapping file at all.
> 
> What we need is:
> - ability to send emails to maintainers (that includes the buildbot)
> - ability to @mention them in GitHub PRs
> - ability to assign or CC people in Trac tickets
> 
> I would in fact prefer to see the official tickets to have a common
> "database of maintainers" with obfuscated email addresses together
> with GitHub usernames and then only see one entry for maintainers in
> the Portfile (but I'm not so strongly opposing having both in the
> Portfile; in particular not now that having both in the Portfile is
> supported and having a separate database is not).
> 
> I don't care that much what exactly is written in the Portfile, but I
> need the ability to get the email and @username with "port info" at
> least.
> 
> If maintainers simply start *replacing* their emails with their
> usernames in portfiles (which is what I already saw happening in some
> tickets/pull requests a while ago) then:
> 
> - we'll lose the ability to email them
> - we won't be able to send them auto-generated emails in case of
> buildbot failures
> - we won't quite know whether a maintainer is a committer or not
> 
> and we don't want that.
> 
> 
> In my opinion the initial addition of github usernames next to email
> addresses should happen with a script. Doing this manually is:
> - tedious, lots of work
> - error prone
> - destined to take forever (using the mapping between emails and
> github accounts from Trac wuould be mo reliable source of information
> that waiting for maintainers)
> 
> Maintainers that we'll most urgently want to reach won't answer the
> call to change their usernames; hack, I already managed to open a
> "port abandoned" ticket for a committer who still refuses (or at least
> doesn't bother) to replace his super ancient email address (that he
> never uses to communicate with other macporters) with his macports
> handle, so it wasn't obvious that it was the same person.
> 
> Mojca



smime.p7s
Description: S/MIME cryptographic signature


Re: GitHub usernames in maintainers field

2017-02-04 Thread Mojca Miklavec
Hi,

On 4 February 2017 at 17:07, Clemens Lang wrote:
> On Thu, Feb 02, 2017 at 03:12:27PM -0800, Eitan Adler wrote:
>> > maintainers {jmr @jmroot} openmaintainer
>>
>> Why did we choose to do it this way instead of a central list of email
>> -> github mapping? This method requires some level of replication.
>
> Ports can exists outside of a port repository. External repositories
> could have different assignments, Portfiles could even exist without a
> mapping file at all.

What we need is:
- ability to send emails to maintainers (that includes the buildbot)
- ability to @mention them in GitHub PRs
- ability to assign or CC people in Trac tickets

I would in fact prefer to see the official tickets to have a common
"database of maintainers" with obfuscated email addresses together
with GitHub usernames and then only see one entry for maintainers in
the Portfile (but I'm not so strongly opposing having both in the
Portfile; in particular not now that having both in the Portfile is
supported and having a separate database is not).

I don't care that much what exactly is written in the Portfile, but I
need the ability to get the email and @username with "port info" at
least.

If maintainers simply start *replacing* their emails with their
usernames in portfiles (which is what I already saw happening in some
tickets/pull requests a while ago) then:

- we'll lose the ability to email them
- we won't be able to send them auto-generated emails in case of
buildbot failures
- we won't quite know whether a maintainer is a committer or not

and we don't want that.


In my opinion the initial addition of github usernames next to email
addresses should happen with a script. Doing this manually is:
- tedious, lots of work
- error prone
- destined to take forever (using the mapping between emails and
github accounts from Trac wuould be mo reliable source of information
that waiting for maintainers)

Maintainers that we'll most urgently want to reach won't answer the
call to change their usernames; hack, I already managed to open a
"port abandoned" ticket for a committer who still refuses (or at least
doesn't bother) to replace his super ancient email address (that he
never uses to communicate with other macporters) with his macports
handle, so it wasn't obvious that it was the same person.

Mojca


Re: GitHub usernames in maintainers field

2017-02-04 Thread Clemens Lang
Hi,

On Thu, Feb 02, 2017 at 03:12:27PM -0800, Eitan Adler wrote:
> > maintainers {jmr @jmroot} openmaintainer
> 
> Why did we choose to do it this way instead of a central list of email
> -> github mapping? This method requires some level of replication.

Ports can exists outside of a port repository. External repositories
could have different assignments, Portfiles could even exist without a
mapping file at all.

All problems that could have been solved, but presumably in the long run
more and more people will just have their GitHub username in Portfiles,
so this is easier and quicker to implement for now.


-- 
Clemens


Re: GitHub usernames in maintainers field

2017-02-04 Thread Eitan Adler
On 2 February 2017 at 08:33, Joshua Root  wrote:
> MacPorts 2.3.5 added the ability to list GitHub usernames as well as email
> addresses in the maintainers field of Portfiles. Basically instead of this:
>
> maintainers jmr openmaintainer
>
> you can do this:
>
> maintainers {jmr @jmroot} openmaintainer

Why did we choose to do it this way instead of a central list of email
-> github mapping? This method requires some level of replication.



-- 
Eitan Adler


GitHub usernames in maintainers field

2017-02-02 Thread Joshua Root
MacPorts 2.3.5 added the ability to list GitHub usernames as well as 
email addresses in the maintainers field of Portfiles. Basically instead 
of this:


maintainers jmr openmaintainer

you can do this:

maintainers {jmr @jmroot} openmaintainer

All the email obfuscation etc still works the same way, you just wrap 
each email and GitHub username that correspond to the same person in 
braces together.


Documentation of this should hopefully be added to the Guide soon. I 
would encourage port maintainers to add their GitHub username to their 
ports.


A couple more examples:

maintainers {jmr @jmroot} {raimue @raimue}

maintainers {jmr @jmroot} {example.com:user @example} openmaintainer

- Josh