Обсуждение: About our GSoC projects
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
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
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
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/
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
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/
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
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/
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
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
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
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/