-
Notifications
You must be signed in to change notification settings - Fork 1k
project structure: move gps into a dep internal directory #300
Comments
I feel like this has been raised before, but I can't find it in the queue...maybe it was in slack, or something. glide isn't actually using gps right now - the integration branch that I was working on hasn't moved in months. So the two customers thing isn't really an issue (though the requirements haven't really diverged, either). It's not totally clear to me that having gps in a separate repository is something that's really an impediment to development. But, my gut reaction to this proposal right now is that it'd slay something I've worked on for a year, so my judgment isn't the clearest. So: if we really think it would speed up development, then sure, let's do it. Migrating the (open) issues would also definitely be needed, and would be a bit of work - help on that would be great. I'd also rather not put it in an EDIT - this comment was really not well-thought through. Obviously, gps has to move into dep sooner or later. That, of course, means some loss of some control for me - but that's kinda the whole idea here. I responded before having really overcome my gut reaction, and I'm sorry. |
@sdboyer Developing golang/dep is a proposal to kill govendor, gvt, etc, many of these have been in development for over a year or more. If the API package is central to dep, then the API package also becomes at least somewhat official. If it is an official API package, we need to be careful not to break API, or carefully version the API. What I'm proposing is that the API package should be unstable as dep is still pre 1.0 and many features need to be added. As such it should be in an internal directory by definition and by go std definition. I mean what I'm saying is I don't want to worry about breaking API or versioning if I were to personally contribute. I'm willing to contribute to golang/dep (provided I can make the time), but I don't have the will to contribute to sdboyer/gps at this time, esp when you say you don't want the public interface to go away, I don't want to worry about an existing public interface at this stage. I suppose I would see if there are others in a similar boat as I'm in. |
Sure, of course, we're all putting our projects/work on the line here. Sorry, I didn't mean to suggest otherwise - I'm just being honest about my gut reaction to the proposal, and explaining why my judgment about its utility is clouded.
We're not adhering to that within the
I'm not worrying about it, and IMO, you needn't be, either. But, yes -
I think it'd be good to get more feedback, too. |
I'm working on PR right now that crosses the boundary between the two repos. It's a little more work but personally, having them clearly separated reinforced that it's a public interface, so I wasn't tempted to muck about with it willy-nilly. Just throwing in my 2 cents, that having gps separate hasn't been a burden to this contributor at all. |
(I'm not suggesting gps be internal for all time, just during primary development.) That's just it, we need to be able to muck with it willy-nilly during this period. That's exactly my point. |
OK, I conferred with other committee members, and they're inclined to move it now, so let's do it. I'll get the remaining PRs finished up, then pull it over. The big blocker now, then, is migrating the existing issues. I'd really like to avoid doing that by hand, if possible :) |
Issue migration might be assisted with: https://github.com/IQAndreas/github-issues-import or similar. |
I'm gonna work on making this happen this week |
OK so, after reading around about licensing, I'm now more confused than when I started. Does anyone understand what the necessary steps are, license-wise, to moving gps into dep directly? @adg? |
I've enquired with our open source people, and hope to hear from them soon. |
So there are two options:
Option 1 doesn't seem too onerous to me, but I'm not familiar with all of the contributors. What do you think? |
I think option 1 is probably possible. Who needs to be involved with the emailing? Option 2 is what we're doing now. If we were to try to work on it within |
Right.
I've enquired as to whether there is some specific protocol we should
observe when emailing contributors. Hang tight.
|
In the unlikely event that option 1 doesn't go through, you should be still able to vendor a fork of gps, that way no direct mucking around with vendor and still afford large and breaking changes fast directly the to fork. The upstream may want to merge, but dep can move on fast regardless. |
As one of the most important contributors to GPS :-p, you have my permission to do whatever you want: I always saw it as your code. |
Thanks, @sdboyer! Please point me to that issue so I can describe the towering majesty of my contribution |
here 'tis: sdboyer/gps#215 |
OK, we've got the 👍 from everybody over there - seems like we can start the process of moving it over. Not sure if I'll have time to do that this weekend, or not. I Also wouldn't mind if someone else were to tackle it 😄 |
OK, we've got the go-ahead from everyone. I'll look at what's involved in the issue migration this week. |
@bradfitz has been fixing up the gopherbot recently. |
@kris-nova let's not wait on the bot - just make a new account for this purpose. Maybe with a cute avatar from gopherize.me 😄 |
Word will get on it today 👍🏻 |
@kris-nova sweet! lmk when you have it; if it needs perms for this repo i believe i can provide them |
@adg next question - what's supposed to happen with the original license file from gps, and what's the deal with license headers on gps files? The copyright hasn't changed, if I understand all this correctly |
@sdboyer looking at pull request #453, I don't see copyright headers on the files? I think they should have these kinds of headers, like dep:
and then we'll make sure that the Go |
@adg OK, that wfm - @kris-nova, here's another question answered :) |
(though s/2016/2017) |
OK, gps is moved in 😄 What do we need to do to update the Go |
(keeping this open till that last bit is done) |
@bradfitz what's the process for updating AUTHORS+CONTRIBUTORS? Is it fully automated yet? Or a thing that you run? Is the dep repo part of it? |
Yes, it's automated, but a Googler needs to run the program because it hits the internal CLA verification service. |
@bradfitz Will the contributors to the dep repo be picked up by the script next time it runs? |
If somebody adds a line to the script, yes. |
People can also add themselves, since Gerrit checks CLAs now anyway. |
Okay, I found the script and sent a change (internally).
|
Fixes golang#300 Fixes golang#519
Fixes golang#300 Fixes golang#519
Right now development is in two places: dep and gps. Also gps has to satisfy two customers: dep and glide.
If it is a goal of dep a) become the standard and b) be developed quickly, I suspect pulling gps into an internal directory for now, allowing the API to change quickly and atomically, would speed up development. It would also put all issues in a single location. Let glide continue to use the gps version where it currently is.
To be clear, I applaud breaking up the tool into an package API and a CLI. That is exactly how govendor is structured. And in time the
interna/gps
package would be removed from internal to an exposed package.The text was updated successfully, but these errors were encountered: