April 16, 2015
On 16/04/2015 11:25 a.m., Stewart Gordon wrote:
> On 08/04/2015 03:21, Rikki Cattermole wrote:
>> On 8/04/2015 9:44 a.m., Stewart Gordon wrote:
>> snip
>>> Yes, a set of bindings to eventually put into Phobos/druntime was the
>>> aim of the WindowsAPI project from the beginning.  But unfortunately,
>>> progress has been slow.
>>
>> Instead of moving to Github, this should be done instead. Thanks to
>> package.d files it
>> shouldn't be too hard to up and replace into core.sys.windows.windows.
>
> How would we go about committing updates to it when this is done?
>
> Stewart.

Let's say there is a new function in gdi.h added.

You would look for the file:
core/sys/windows/windows/gdi.d

And add the function declaration.
Or if it is a whole new file:
Add: core/sys/windows/windows/newFile.d

Add line: public import core.sys.windows.windows.newFile;
To: core/sys/windows/windows/package.d

Basically the same process as now, except spread out across more files.
April 16, 2015
On 16/04/2015 03:35, Rikki Cattermole wrote:
> On 16/04/2015 11:25 a.m., Stewart Gordon wrote:
<snip>
>> How would we go about committing updates to it when this is done?
>
> Let's say there is a new function in gdi.h added.
>
> You would look for the file:
> core/sys/windows/windows/gdi.d
>
> And add the function declaration.
> Or if it is a whole new file:
> Add: core/sys/windows/windows/newFile.d
>
> Add line: public import core.sys.windows.windows.newFile;
> To: core/sys/windows/windows/package.d
>
> Basically the same process as now, except spread out across more files.

I don't understand - how would an average member of the D community get into the DMD package on dlang.org in order to apply these updates?

-- 
My email address is valid but not my primary mailbox and not checked regularly.  Please keep replies on the 'group where everybody may benefit.
April 17, 2015
On Thursday, 16 April 2015 at 23:32:17 UTC, Stewart Gordon wrote:
> On 16/04/2015 03:35, Rikki Cattermole wrote:
>> On 16/04/2015 11:25 a.m., Stewart Gordon wrote:
> <snip>
>>> How would we go about committing updates to it when this is done?
>>
>> Let's say there is a new function in gdi.h added.
>>
>> You would look for the file:
>> core/sys/windows/windows/gdi.d
>>
>> And add the function declaration.
>> Or if it is a whole new file:
>> Add: core/sys/windows/windows/newFile.d
>>
>> Add line: public import core.sys.windows.windows.newFile;
>> To: core/sys/windows/windows/package.d
>>
>> Basically the same process as now, except spread out across more files.
>
> I don't understand - how would an average member of the D community get into the DMD package on dlang.org in order to apply these updates?


Get DMD, Druntime and Phobos and build them:
http://wiki.dlang.org/Building_DMD

Make your changes and test.

Contribute your changes back to D using pull requests.
http://wiki.dlang.org/Pull_Requests


bye,
lobo
April 17, 2015
On 17/04/2015 02:19, lobo wrote:
> On Thursday, 16 April 2015 at 23:32:17 UTC, Stewart Gordon wrote:
<snip>
>> I don't understand - how would an average member of the D community get into the DMD
>> package on dlang.org in order to apply these updates?
>
>
> Get DMD, Druntime and Phobos and build them:
> http://wiki.dlang.org/Building_DMD

Why would one need to build DMD in order to make changes to a set of API bindings?

> Make your changes and test.
>
> Contribute your changes back to D using pull requests.
> http://wiki.dlang.org/Pull_Requests

Has Walter promised us that every pull request for the WindowsAPI bindings will be put in right away?

Even if he had, what would be the point?  It would greatly slow down the whole process. We have SVN repositories so that people can just put their updates straight in, and everyone else not only has access to the update straight away but can obtain it with either a one-line command line invocation or a few mouse clicks.  The only problem is that the SVN server that is currently hosting the bindings doesn't work properly.  We already have a potential solution: moving it across to Github.  As such, I'm going to see if I can figure out how to do this.

Stewart.

-- 
My email address is valid but not my primary mailbox and not checked regularly.  Please keep replies on the 'group where everybody may benefit.
April 18, 2015
On Friday, 17 April 2015 at 21:34:07 UTC, Stewart Gordon wrote:
> On 17/04/2015 02:19, lobo wrote:
>> On Thursday, 16 April 2015 at 23:32:17 UTC, Stewart Gordon wrote:
> <snip>
>>> I don't understand - how would an average member of the D community get into the DMD
>>> package on dlang.org in order to apply these updates?
>>
>>
>> Get DMD, Druntime and Phobos and build them:
>> http://wiki.dlang.org/Building_DMD
>
> Why would one need to build DMD in order to make changes to a set of API bindings?
>
>> Make your changes and test.
>>
>> Contribute your changes back to D using pull requests.
>> http://wiki.dlang.org/Pull_Requests
>
> Has Walter promised us that every pull request for the WindowsAPI bindings will be put in right away?
>
> Even if he had, what would be the point?  It would greatly slow down the whole process. We have SVN repositories so that people can just put their updates straight in, and everyone else not only has access to the update straight away but can obtain it with either a one-line command line invocation or a few mouse clicks.  The only problem is that the SVN server that is currently hosting the bindings doesn't work properly.  We already have a potential solution: moving it across to Github.  As such, I'm going to see if I can figure out how to do this.
>
> Stewart.

Sorry, my mistake. I thought you were asking about how to contribute bindings back to Phobos.

bye,
lobo


April 19, 2015
The wiki is terribly broken at the moment.  I just edited a page

http://www.dsource.org/projects/bindings/wiki/WikiStart

and it changed every linebreak to the literal string `\r\n`.  The page looks OK in preview, but then it breaks when you actually save it.

Stewart.

-- 
My email address is valid but not my primary mailbox and not checked regularly.  Please keep replies on the 'group where everybody may benefit.
April 19, 2015
On Friday, 17 April 2015 at 21:34:07 UTC, Stewart Gordon wrote:
> Has Walter promised us that every pull request for the WindowsAPI bindings will be put in right away?

Pull requests are merged once they pass review and automatic testing. Walter Bright is not the only person who can merge pull requests - anyone with commit access can.

> Even if he had, what would be the point?  It would greatly slow down the whole process. We have SVN repositories so that people can just put their updates straight in,

Only those who have access can do that. Getting patches into the bindings repository has been historically difficult. Committers have had to commit patches on behalf of other people.

> and everyone else not only has access to the update straight away but can obtain it with either a one-line command line invocation or a few mouse clicks.

Git is not different in this regard. Proposed changes are immediately available in your personal fork.
April 20, 2015
On 20/04/2015 00:25, Vladimir Panteleev wrote:
<snip>
>> Even if he had, what would be the point?  It would greatly slow down the whole process.
>> We have SVN repositories so that people can just put their updates straight in,
>
> Only those who have access can do that. Getting patches into the bindings repository has
> been historically difficult. Committers have had to commit patches on behalf of other people.
<snip>

?? When I worked on the project on dsource, until it stopped working recently I generally had no trouble just committing my updates using SVN.  I didn't have to create patches at all.  As I understood it, neither did anybody else who helped out (after all, it wasn't _my_ dsource project).

Stewart.

-- 
My email address is valid but not my primary mailbox and not checked regularly.  Please keep replies on the 'group where everybody may benefit.
April 20, 2015
On 21/04/2015 00:19, Stewart Gordon wrote:
<snip>
> ?? When I worked on the project on dsource, until it stopped working recently I generally
> had no trouble just committing my updates using SVN.  I didn't have to create patches at
> all.  As I understood it, neither did anybody else who helped out (after all, it wasn't
> _my_ dsource project).

OK, so come to think about it, maybe those who were collaborating were given commit access on dsource as and when.  And maybe one or two projects were completely open read/write access.  My memory of how access control worked is blurred.

In the other thread I referred to this
http://stackoverflow.com/questions/5010754/github-collaborators-have-commit-access
which makes it sound as though it's possible to do the same thing in GitHub.  Is that page wrong?

Stewart.

-- 
My email address is valid but not my primary mailbox and not checked regularly.  Please keep replies on the 'group where everybody may benefit.
April 20, 2015
On Monday, 20 April 2015 at 23:27:58 UTC, Stewart Gordon wrote:
> On 21/04/2015 00:19, Stewart Gordon wrote:
> <snip>
>> ?? When I worked on the project on dsource, until it stopped working recently I generally
>> had no trouble just committing my updates using SVN.  I didn't have to create patches at
>> all.  As I understood it, neither did anybody else who helped out (after all, it wasn't
>> _my_ dsource project).
>
> OK, so come to think about it, maybe those who were collaborating were given commit access on dsource as and when.

I believe this is the case. That, or they simply didn't have SVN installed. They sent a PR to my GitHub mirror instead.

> In the other thread I referred to this
> http://stackoverflow.com/questions/5010754/github-collaborators-have-commit-access
> which makes it sound as though it's possible to do the same thing in GitHub.  Is that page wrong?

This question pertains to private GitHub repositories (a feature of paid plans).

Regardless, I do not recommend attempting to shoehorn your previous SVN workflow into git and GitHub. The usual way contributions are done with GitHub is that anyone with a GitHub account can create a pull request (a series of commits, initially published on their own fork of the repository), which the repository owner (or collaborators) can then accept (merge) into the main repository. Instead of designating a group of committers as in SVN, you would simply need to review pull requests and click the "merge" button to accept them. If you do not foresee yourself being available often enough to review/accept pull requests, you can designate a few collaborators who can do it as well.