-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Splitting different project concerns into separate repos #147
Comments
I'm putting this on 0.1.0 because I want to have a clear idea about what's next by the time we hit that point, and right now I've got kind of a gut feeling that splitting everything into separate repos wouldn't be quite the rosy sunbeam it sounds like at first glance, even though that Disadvantages list is kind of weaksauce (the response to each point being "I can live with that" more than the Advantages items being "I don't know that I really care about that"). |
throwing the labels for the concerns this would change onto it, because hey why not |
I like the idea of making the validator its own project, giving it space to really explore straight-up new features (#122, #123, and more), but, yeah, the infrastructure to have this pull that in or vice-versa, eesh. I mean, there's git submodules, but, I mean, submodules are yucky and everybody knows it. Do they feel like a good fit here, though? |
Like... is there a list of "the fundamental traits to consider about submodules you'll need to consider if you're thinking about using them as a solution" to hit for quick reference? Because I'm going over a list like that in my head, and, yeah, like, it really seems like they're not honestly that bad of a fit here, but I'm also seeing the footguns that'd pop up if they got embraced as a panacea:
|
chiming in to note that I have a whole |
Right now, I'm really leaning toward stuff like tests just incorporating the test framework etc. with a |
Another thing that'd be nice about having a separate repo for the schema: it'd be a dedicated place for all labels to be about the schema, so it wouldn't require as much qualification to have labels for concerns of the schema, like "cookies" or "subdomains" or "legacies" or "password reset". |
Note that, if this project is migrated to separate repos, I think this repo should be kept intact, to sustain legacy links like issues and such, and a new repo should be created for the profiles or data (since, remember, whatever repo succeeds this will contain legacies as well as profiles, per #43). The new repo for profiles can keep the same history from this one - embarrassing and messy as it is - but, after the hop happens, this repo should get a gravestone commit that directs to the new home (the way I think node's legacy repo does it). |
Also, I kind of like having the validator live alongside the schemas, as validation is kind of another layer that has to live beyond schemas (for instance, |
Also, I'm thinking templates will be split out of CONTRIBUTING.md and linked to, as files that live alongside the schema and validation, and get tested on any schema update to ensure that the template content is still valid. |
I just remembered what the plural for "schema" is, so I've started the repo that I'll be developing #146 in: https://github.com/opws/opws-schemata |
Re: keeping this repo at this name for legacy reasons, but copying the history to a new repo - wouldn't that break issue references in the commits? It seems like the better strategy would be to just rename this repo and depend on GitHub's redirect mechanisms. |
I think the future name for this repo will become |
So, basically, here's the timeline:
|
One of the reasons this'll work smoothly is because the repos for the rest of the components will be starting from scratch (ie. I'll be throwing away most of the test infrastructure that's present now, and the stuff in repos will be somewhere between partially-copy-pasted and all-new). If I had multiple components that were moving on with their histories into separate repos, this'd get hairy (and I'd have to do some trickery like http://stackoverflow.com/questions/25224258/how-can-i-make-a-a-subdirectory-in-my-github-project-into-a-new-repository/25224259#25224259). |
I'm working right now on splitting the docs out to the schemata; everything else is ready. |
Things are going to get a little bumpy after the switch, because there's one more change I want to make to the schema before shipping v0.1.0, but I'm confident it'll be weatherable. |
Also, "shipping v0.1.0" is going to take the form of a commit that adds a |
Well, #300 just shipped v0.1.0 as far as I'm concerned, so it'd seem the timeline laid out in #147 (comment) is a little bit scrambled: I did the "split" (which, after having written the validator and schema, was mostly just an entire evening to rewrite the documentation, per neue-#111), then I did the integration (I mean, why would I split stuff out to other repos and not do that integration?), then I renamed this repo (though I honestly kind of wanted to do the rename before the split, but I felt like it had to be post-split for the name to really ring true), than I did a bunch of stuff to acclimate to the new name (#296), then I shipped v0.1.0, and now I'm migrating the issues to separate repos (though I kind of did some of that after creating the opws-guidelines repo, which I did before cutting v0.1). As for requiring review... I'll look into it. |
Yeah, pull requests are already effectively blocked on review, since I'm the only one who can merge changes anyway. If I'm still the primary contributor, and I intend to commit unilaterally, adding a review requirement doesn't really get me anything except making the merge button harder to use, so, for now, I'm not enabling reviews. If this project gets contributor traction, then maybe. |
Kicking this milestone since most of what was pertinent for 0.1.0 was already done, and all that's left is re-filing issues in relevant repositories (and maybe coming up with a repo for API stuff). |
Reminder that the project wiki exists, and should be used as a basis for some of this splitup:
|
There's also the question of "what about using a wiki going forward?" And, tbh, I'm against it. I prefer having issues and pull requests to ponder changes and merge bubbles / commit messages to note that they happened - this is especially useful for compiling the aforementioned history. Changes to guidelines can be just as important as changes to schemata. |
One thing I'm realizing right now is that a "news" repo would be an excellent place for "roadmap" issues like "helper library for using profiles" - the issue could stand for "post some news when this is ready". ("news" is also an improvement on "roadmap" in general - there are many times during this project where I had a whole plan roadmapped out, then went veering wildly away from it almost immediately. Better to report on what actions have been taken with a future in mind then what plans are absent any buy-in from reality.) |
Note that I am now committing these scripts at https://github.com/stuartpb/opws-checklisters |
#308 describes the most significant task remaining before this issue will be closed. |
Now that this project has its own org and isn't just a single repo in a more general org, I'm thinking about splitting the parts it into their own repos. For instance:
Advantages to this:
Disadvantages:
git clone
structures. For instance, testing would require the tests to check out schemas and (if separate) the testing framework.The text was updated successfully, but these errors were encountered: