Обсуждение: About our GSoC projects

Поиск
Список
Период
Сортировка

About our GSoC projects

От
Guillaume Lelarge
Дата:
Hi,

I'm wondering how we should handle the GSoC projects now. They both give
us their patches, and in both of them, they are quite some work to do.

I didn't do a lot of work on Adeel's one, but there is at least a lot of
work to do to compile his project on Linux.

I worked a lot more on Luis's one. It builds on Windows and Linux. I
didn't find time to check on Mac OS X yet, but it shouldn't be a
problem. Anyway, there are also lots of work remaining, more on the UI
part. Luis has done a lot of work to make it better today, but I think
there's still work to do.

So, my basic question is: how do we handle this?

I know Luis is interested to continue to work on his project. I don't
know for Adeel. Anyway, perhaps a good way to do this is to create two
dev branches on the pgadmin repo, one for each GSoC project. But I
wonder what we should do with the branches once they'll get merged on
the master branch.

If you have better ideas, I welcome them :)

Comments, please?


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

Re: About our GSoC projects

От
Dave Page
Дата:
On Mon, Aug 16, 2010 at 9:20 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> Hi,
>
> I'm wondering how we should handle the GSoC projects now. They both give
> us their patches, and in both of them, they are quite some work to do.
>
> I didn't do a lot of work on Adeel's one, but there is at least a lot of
> work to do to compile his project on Linux.

:-(. I think much of that stems from the age-old problem of
under-estimating exactly how much time a project will require.

> I worked a lot more on Luis's one. It builds on Windows and Linux. I
> didn't find time to check on Mac OS X yet, but it shouldn't be a
> problem. Anyway, there are also lots of work remaining, more on the UI
> part. Luis has done a lot of work to make it better today, but I think
> there's still work to do.

Luis has the advantage of being a past contributor and GSoC student.
Still, it sounds like this one was more work than expected too.

> So, my basic question is: how do we handle this?
>
> I know Luis is interested to continue to work on his project. I don't
> know for Adeel. Anyway, perhaps a good way to do this is to create two
> dev branches on the pgadmin repo, one for each GSoC project. But I
> wonder what we should do with the branches once they'll get merged on
> the master branch.

That doesn't help unless we give them both commit access, which isn't
going to happen on the master repo. Ashesh is much higher up in the
queue for that :-)

I would suggest that they both create repos on github (or one of us
does, and gives them access).

/D

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: About our GSoC projects

От
Guillaume Lelarge
Дата:
Le 17/08/2010 11:56, Dave Page a écrit :
> On Mon, Aug 16, 2010 at 9:20 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
>> [...]
>> I'm wondering how we should handle the GSoC projects now. They both give
>> us their patches, and in both of them, they are quite some work to do.
>>
>> I didn't do a lot of work on Adeel's one, but there is at least a lot of
>> work to do to compile his project on Linux.
>
> :-(. I think much of that stems from the age-old problem of
> under-estimating exactly how much time a project will require.
>

Yeah, it's really difficul to estimate it precisely.

>> I worked a lot more on Luis's one. It builds on Windows and Linux. I
>> didn't find time to check on Mac OS X yet, but it shouldn't be a
>> problem. Anyway, there are also lots of work remaining, more on the UI
>> part. Luis has done a lot of work to make it better today, but I think
>> there's still work to do.
>
> Luis has the advantage of being a past contributor and GSoC student.
> Still, it sounds like this one was more work than expected too.
>

Sure. The Reverse Engineer stuff is not done. Anyway, the major feature
is here: the graphical engine.

>> So, my basic question is: how do we handle this?
>>
>> I know Luis is interested to continue to work on his project. I don't
>> know for Adeel. Anyway, perhaps a good way to do this is to create two
>> dev branches on the pgadmin repo, one for each GSoC project. But I
>> wonder what we should do with the branches once they'll get merged on
>> the master branch.
>
> That doesn't help unless we give them both commit access, which isn't
> going to happen on the master repo. Ashesh is much higher up in the
> queue for that :-)
>

OK.

> I would suggest that they both create repos on github (or one of us
> does, and gives them access).
>

I can probably do that. I can create two repos, one for each project, on
my github account, apply the respective patch, and give them access to
it and to anyone else who wants to work on this. Adeel had trouble
working with git on Windows, and I wasn't able to help him on that.
Though I need to do it myself, so I should be able to help him next time.

Magnus, care to share your thoughts on this? you're much more
experienced with git than me :)


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

Re: About our GSoC projects

От
Magnus Hagander
Дата:
On Tue, Aug 17, 2010 at 12:15 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
>>> So, my basic question is: how do we handle this?
>>>
>>> I know Luis is interested to continue to work on his project. I don't
>>> know for Adeel. Anyway, perhaps a good way to do this is to create two
>>> dev branches on the pgadmin repo, one for each GSoC project. But I
>>> wonder what we should do with the branches once they'll get merged on
>>> the master branch.
>>
>> That doesn't help unless we give them both commit access, which isn't
>> going to happen on the master repo. Ashesh is much higher up in the
>> queue for that :-)
>>
>
> OK.
>
>> I would suggest that they both create repos on github (or one of us
>> does, and gives them access).
>>
>
> I can probably do that. I can create two repos, one for each project, on
> my github account, apply the respective patch, and give them access to
> it and to anyone else who wants to work on this. Adeel had trouble
> working with git on Windows, and I wasn't able to help him on that.
> Though I need to do it myself, so I should be able to help him next time.
>
> Magnus, care to share your thoughts on this? you're much more
> experienced with git than me :)

That's not the way to use github.

The proper way, if we want people to use github (fwiw, I think that's
a good idea), is to create an authoritative mirror there, like we've
done for PostgreSQL. This could be done under the same account as
postgres (which needs to be converted to a group, but that's a
different thing), or a separate one for pgadmin. The users in question
then create their own personal github accounts, and forks the pgadmin
repository in there. Then they apply their patches to that, and keep
working off that.

Github provides the tools you need to merge this back into mainline,
if/when this is required. Until that is done, it's up to them to
regularly merge with upstream - which git makes really easy.

If we want to go this way, I'll be happy to set up the github
mirroring required for the main repository.


WRT git for windows - it works pretty well, except some things break
on 64-bit windows (due to mingw/msys not working properly there). But
that's a matter of doing "git fetch ; git merge" instead of "git
pull". I'm told this is fixed in newer versions, but I haven't tried
that myself.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Re: About our GSoC projects

От
Guillaume Lelarge
Дата:
Le 17/08/2010 16:08, Magnus Hagander a écrit :
> On Tue, Aug 17, 2010 at 12:15 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
>>>> So, my basic question is: how do we handle this?
>>>>
>>>> I know Luis is interested to continue to work on his project. I don't
>>>> know for Adeel. Anyway, perhaps a good way to do this is to create two
>>>> dev branches on the pgadmin repo, one for each GSoC project. But I
>>>> wonder what we should do with the branches once they'll get merged on
>>>> the master branch.
>>>
>>> That doesn't help unless we give them both commit access, which isn't
>>> going to happen on the master repo. Ashesh is much higher up in the
>>> queue for that :-)
>>>
>>
>> OK.
>>
>>> I would suggest that they both create repos on github (or one of us
>>> does, and gives them access).
>>>
>>
>> I can probably do that. I can create two repos, one for each project, on
>> my github account, apply the respective patch, and give them access to
>> it and to anyone else who wants to work on this. Adeel had trouble
>> working with git on Windows, and I wasn't able to help him on that.
>> Though I need to do it myself, so I should be able to help him next time.
>>
>> Magnus, care to share your thoughts on this? you're much more
>> experienced with git than me :)
>
> That's not the way to use github.
>
> The proper way, if we want people to use github (fwiw, I think that's
> a good idea), is to create an authoritative mirror there, like we've
> done for PostgreSQL.

IIf I understand you correctly, the git server on pgadmin.org will still
be the official one, and there will be a mirror on github.

> This could be done under the same account as
> postgres (which needs to be converted to a group, but that's a
> different thing), or a separate one for pgadmin. The users in question
> then create their own personal github accounts, and forks the pgadmin
> repository in there. Then they apply their patches to that, and keep
> working off that.
>

And, if they want to, they can add some of us as contributors to their
patches. I'm still thinkg about my GSoC "issue". IOW, if I take Luis's
project as an example, he should fork the github pgadmin repo, apply his
patch, commit, push it. Then he could add me as a contributor. We work
together to make it commitable, and at last I merge his repository into
the git on pgadmin.org to commit it? Did I get something wrong?

> Github provides the tools you need to merge this back into mainline,
> if/when this is required. Until that is done, it's up to them to
> regularly merge with upstream - which git makes really easy.
>

With "git merge", right?

> If we want to go this way, I'll be happy to set up the github
> mirroring required for the main repository.
>

If I understood correctly, yeah, I would like that to happen. The
sooner, the better. I don't really know if we should use the same
account or a different one. I actually don't care.

> WRT git for windows - it works pretty well, except some things break
> on 64-bit windows (due to mingw/msys not working properly there). But
> that's a matter of doing "git fetch ; git merge" instead of "git
> pull". I'm told this is fixed in newer versions, but I haven't tried
> that myself.
>

OK. I need to do that on my windows PC.


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

Re: About our GSoC projects

От
Magnus Hagander
Дата:
On Wed, Aug 18, 2010 at 00:18, Guillaume Lelarge <guillaume@lelarge.info> wrote:
> Le 17/08/2010 16:08, Magnus Hagander a écrit :
>> On Tue, Aug 17, 2010 at 12:15 PM, Guillaume Lelarge
>> <guillaume@lelarge.info> wrote:
>>> I can probably do that. I can create two repos, one for each project, on
>>> my github account, apply the respective patch, and give them access to
>>> it and to anyone else who wants to work on this. Adeel had trouble
>>> working with git on Windows, and I wasn't able to help him on that.
>>> Though I need to do it myself, so I should be able to help him next time.
>>>
>>> Magnus, care to share your thoughts on this? you're much more
>>> experienced with git than me :)
>>
>> That's not the way to use github.
>>
>> The proper way, if we want people to use github (fwiw, I think that's
>> a good idea), is to create an authoritative mirror there, like we've
>> done for PostgreSQL.
>
> IIf I understand you correctly, the git server on pgadmin.org will still
> be the official one, and there will be a mirror on github.

Correct, that was my thought.


>> This could be done under the same account as
>> postgres (which needs to be converted to a group, but that's a
>> different thing), or a separate one for pgadmin. The users in question
>> then create their own personal github accounts, and forks the pgadmin
>> repository in there. Then they apply their patches to that, and keep
>> working off that.
>>
>
> And, if they want to, they can add some of us as contributors to their

Yes, but that's again not the way you're "supposed" to work. But it
may be a good compromise.

You are supposed to work by having one "his branch" on his repo and
one "gleus branch" on your repo. Then you merge with his, and if you
make changes, he merges with yours, back and forth until you agree on
something that's good. At that point, you merge this (with squash,
please :P) into the main repository and push that.


> patches. I'm still thinkg about my GSoC "issue". IOW, if I take Luis's
> project as an example, he should fork the github pgadmin repo, apply his
> patch, commit, push it. Then he could add me as a contributor. We work
> together to make it commitable, and at last I merge his repository into
> the git on pgadmin.org to commit it? Did I get something wrong?

That is one way to do it as well, yes, but it's not really the "git
way". That said, we may not necessarily *want* the git way, but we
should know what it is.


>> Github provides the tools you need to merge this back into mainline,
>> if/when this is required. Until that is done, it's up to them to
>> regularly merge with upstream - which git makes really easy.
>>
>
> With "git merge", right?
>

Correct. Or to be more specific, you use "git remote" to add his
repository, then when you want to merge you do "git fetch" on his
repository and then "git merge" to put it on your branch.


>> If we want to go this way, I'll be happy to set up the github
>> mirroring required for the main repository.
>>
>
> If I understood correctly, yeah, I would like that to happen. The
> sooner, the better. I don't really know if we should use the same
> account or a different one. I actually don't care.

Dave, any comment on that?


--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Re: About our GSoC projects

От
Dave Page
Дата:
On Wed, Aug 18, 2010 at 9:20 AM, Magnus Hagander <magnus@hagander.net> wrote:

> You are supposed to work by having one "his branch" on his repo and
> one "gleus branch" on your repo. Then you merge with his, and if you
> make changes, he merges with yours, back and forth until you agree on
> something that's good. At that point, you merge this (with squash,
> please :P) into the main repository and push that.

That seems like a nice way to waste a lot of time.

>> If I understood correctly, yeah, I would like that to happen. The
>> sooner, the better. I don't really know if we should use the same
>> account or a different one. I actually don't care.
>
> Dave, any comment on that?

The same account seems fine to me.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: About our GSoC projects

От
Magnus Hagander
Дата:
On Wed, Aug 18, 2010 at 10:25, Dave Page <dpage@pgadmin.org> wrote:
> On Wed, Aug 18, 2010 at 9:20 AM, Magnus Hagander <magnus@hagander.net> wrote:
>
>> You are supposed to work by having one "his branch" on his repo and
>> one "gleus branch" on your repo. Then you merge with his, and if you
>> make changes, he merges with yours, back and forth until you agree on
>> something that's good. At that point, you merge this (with squash,
>> please :P) into the main repository and push that.
>
> That seems like a nice way to waste a lot of time.

That really depends on the workflow. It can be pretty darn efficient,
particularly if you work with semi-working features.

But it does take a different mindset - if you work on it with the
traditional mindset, it's indeed a huge waste of time.


>>> If I understood correctly, yeah, I would like that to happen. The
>>> sooner, the better. I don't really know if we should use the same
>>> account or a different one. I actually don't care.
>>
>> Dave, any comment on that?
>
> The same account seems fine to me.

Ok. I'll look into that then.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Re: About our GSoC projects

От
Guillaume Lelarge
Дата:
Le 18/08/2010 10:25, Dave Page a écrit :
> On Wed, Aug 18, 2010 at 9:20 AM, Magnus Hagander <magnus@hagander.net> wrote:
>
>> You are supposed to work by having one "his branch" on his repo and
>> one "gleus branch" on your repo. Then you merge with his, and if you
>> make changes, he merges with yours, back and forth until you agree on
>> something that's good. At that point, you merge this (with squash,
>> please :P) into the main repository and push that.
>

The "gleus branch", as you named it, should be a fork of "his branch",
right?

> That seems like a nice way to waste a lot of time.
>

Yeah. I'm afraid all this will be a lot of work. Luis already worked
with git, so he's at least a bit familiar with it. Adeel didn't AFAICT,
so he'll need to learn all that. I also will need to learn a lot of it.

>>> If I understood correctly, yeah, I would like that to happen. The
>>> sooner, the better. I don't really know if we should use the same
>>> account or a different one. I actually don't care.
>>
>> Dave, any comment on that?
>
> The same account seems fine to me.
>

+1


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

Re: About our GSoC projects

От
Guillaume Lelarge
Дата:
Le 18/08/2010 10:32, Magnus Hagander a écrit :
> On Wed, Aug 18, 2010 at 10:25, Dave Page <dpage@pgadmin.org> wrote:
>> On Wed, Aug 18, 2010 at 9:20 AM, Magnus Hagander <magnus@hagander.net> wrote:
>>
>>> You are supposed to work by having one "his branch" on his repo and
>>> one "gleus branch" on your repo. Then you merge with his, and if you
>>> make changes, he merges with yours, back and forth until you agree on
>>> something that's good. At that point, you merge this (with squash,
>>> please :P) into the main repository and push that.
>>
>> That seems like a nice way to waste a lot of time.
>
> That really depends on the workflow. It can be pretty darn efficient,
> particularly if you work with semi-working features.
>
> But it does take a different mindset - if you work on it with the
> traditional mindset, it's indeed a huge waste of time.
>

I'm not against having a new mindset, but that will take some time. I
can probably try this with Luis. I have to talk with him about it.


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

Re: About our GSoC projects

От
Dave Page
Дата:
On Wed, Aug 18, 2010 at 9:39 AM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> I'm not against having a new mindset, but that will take some time. I
> can probably try this with Luis. I have to talk with him about it.

As it's in your own private repo(s), it really doesn't matter to
anyone else how you choose to collaborate.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

Re: About our GSoC projects

От
Magnus Hagander
Дата:
On Wed, Aug 18, 2010 at 10:37, Guillaume Lelarge <guillaume@lelarge.info> wrote:
> Le 18/08/2010 10:25, Dave Page a écrit :
>> On Wed, Aug 18, 2010 at 9:20 AM, Magnus Hagander <magnus@hagander.net> wrote:
>>
>>> You are supposed to work by having one "his branch" on his repo and
>>> one "gleus branch" on your repo. Then you merge with his, and if you
>>> make changes, he merges with yours, back and forth until you agree on
>>> something that's good. At that point, you merge this (with squash,
>>> please :P) into the main repository and push that.
>>
>
> The "gleus branch", as you named it, should be a fork of "his branch",
> right?

You don't fork branches, you fork repositories.

Your repository with "gleus branch" in it can be either a fork of his
repository or a fork of the main pgadmin mirror. I would recommend
forking the main mirror.

Or heck, it can also be your clone of the main pgadmin repository -
doesn't need to have anything to do with github at all, as long as the
ancestry is the same (which it will be since we push a clone there)


>> That seems like a nice way to waste a lot of time.
>>
>
> Yeah. I'm afraid all this will be a lot of work. Luis already worked
> with git, so he's at least a bit familiar with it. Adeel didn't AFAICT,
> so he'll need to learn all that. I also will need to learn a lot of it.

Right. So you can start off in the "half way to git" method with
having two ppl committing on the same branch :)



>>>> If I understood correctly, yeah, I would like that to happen. The
>>>> sooner, the better. I don't really know if we should use the same
>>>> account or a different one. I actually don't care.
>>>
>>> Dave, any comment on that?
>>
>> The same account seems fine to me.
>>
>
> +1

Ok, I've converted postgres to an "organization" on github and added
pgadmin3: http://github.com/postgres/pgadmin3


--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/