-
Notifications
You must be signed in to change notification settings - Fork 55
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
Handling of Pull Requests #47
Comments
Hi @zkessin, I agree with your suggestion. |
@krestenkrab would you be interested in having a few of us help? |
Reasonable suggestion if a proper dev process (review and branching model) is used, in order to avoid a chaotic or unstable master branch. |
take a look at what I posted for a model, the 0MQ folks have done very well with that model. |
That's a very heavy model for fixing responsiveness issues. Also I think someone summed it up as "merge first, ask questions later"? Probably referring to A much better model would be the original git model. Kresten could get one or more trusted contributor to handle the PRs, merge them in their own fork and then submit the update to this very repository. At this point Kresten just has to take a quick glance and click merge in the large majority of the cases. |
Changing culture can be heavy, yes. However we've found that merging rapidly gives new contributors the incentive to learn and stay. It's worked very well in dozens of projects now. The only drawback seems to be some vulnerability to trolls, though this is easily managed, it turns out. If you're seeing PRs sitting unmerged, due to lack of time to review them, I'd definitely check out C4, and ask the zeromq-dev list (mostly users of ZeroMQ, so critical of any faults in the process) how they like the process. |
The real issue is that I would like to add some enhancements to Triq, but am not going to do so unless I have some confidence that Pull Reqs will actually get merged |
Hello @zkessin, I saw your invite and am wondering if you could explain a little more about it, like whether you talked about it with Kresten and what are your plans for it? Thanks. |
Folks, I'm somewhat hung up .. so if one of you cool erlangers want to co-administer this you're most welcome. |
I want to manage the open-triq branch under the zeromq rules, I have invited @essen @krestenkrab @MirkoBonadei and a few others to the project as committers, (and will invite anyone else after a few merged Pull Reqs) I hope this way Triq can move forward and @krestenkrab does not need to be involved if he does not have time |
I hope we can keep triq under Apache license. |
It will stay under the same licence |
Readme changed to make the licence clear |
Given the size of Triq, a dual branch model is sufficient to allow:
Also due to Triq's size there's no need for collecting topic branches into a So, if we change the project settings to merge pull requests to a staging branch (with immutable history), we can have co-administered merges of patches. Kresten has offered to assign permissions as required, so I don't see a need for a separate project. |
The use of a single master branch for all work is aggressive, yet it has On Mon, Mar 9, 2015 at 4:56 PM, Tuncer Ayaz [email protected]
|
I would agree with that. I do not see much point in a branch or even less a fork. This project just needs someone with time to review and merge changes. |
Well ideally what it needs is a few people who can collectively deal with pull requests. I don't want a bunch of pull requests to pile up because one person goes on holiday or gets swamped at work etc |
Just wait for Travis - CI to run the tests before you merge a pull request |
We had a few significant breakthroughs in the ZeroMQ process. One was to This only works if you (a) use a single branch, (b) promote contributors On Mon, Mar 9, 2015 at 5:19 PM, Zachary Kessin [email protected]
|
I also like the idea of having it under an organizational ownership, not @krestenkrab 's personal account |
This project barely has any tests, relying on Travis or similar is suicidal at best. |
well we can add more, but it might as well pass the tests that it has |
@hintjens, how do you avoid introduction and subsequent fixing of bad APIs, which means more maintenance overhead due to extra deprecations and compat code, without code reviews? |
With libzmq we also had few test cases. We enabled Travis, and said, However I don't usually wait for Travis before merging. Like I said, On Mon, Mar 9, 2015 at 5:28 PM, Zachary Kessin [email protected]
|
@Tuncer here's my latest proposal for that: http://hintjens.com/blog:85 Basically you allow APIs to evolve naturally, and you tag them RAW, DRAFT, STABLE, LEGACY, RETIRED depending on use. This gives you a tool for fixing design errors (during RAW and DRAFT), while not breaking user space (STABLE onwards). The underlying change theory is, deliver code rapidly to real people, and allow them to express irritation in the form of pull requests rather than issues. Done right, you get a smooth and fast cycle of change that iterates through refinements until APIs and internals are good, and stable, and the result sits for a year or two before being superseded by a better abstraction. You then make a new draft, and start to deprecate the old APIs (e.g. remove from documentation). The library can support them for long, the cost is usually low. |
anyone know how to get travis-ci to work with a new organization? It does not turn up in my travis-ci screen |
You need to sign into Travis with the credentials of that organization, I On Mon, Mar 9, 2015 at 5:46 PM, Zachary Kessin [email protected]
|
Ok, so who here likes the idea of using the ZeroMQ Model, please leave a +1 comment so we can get a sense. Obviously if there are any questions then ask them |
@hintjens, how do you convey what stage an Erlang function is at to a random consumer of the API? |
I would guess as part of the documentation. Anyway I'm not too interested in a process that breaks master all the time, I like me git bisect. |
@zkessin, I can understand why a separate org is preferred, but:
As krestenkrab/triq is under a personal (not company) profile, I don't mind keeping the canonical url unchanged, but I'm okay with a separate org that has a better name :). It has to be worth it, though, as it will take a very long time for users to realize the new url, to mention one problem. |
the problem was that the name triq was not available, if you have a better name for the org i would be happy to take suggestions |
I totally understand the benefits of the proposed model and can relate to the issues the other models impose on everybody, but merging everything that doesn't look totally broken to master doesn't appeal to me in the proposed form. First of all, you need enough qualified contributors on call to unbreak the branch in a matter of hours max. That means, a project short of contributors suddenly is in need of more contributors. Second of all, doing no review of interface changes means more often than not the maintainers will have to do the cleanup or refactoring rather than the patch author, who may never reappear, and the maintainers may have to guess and fill in the blanks, or not have access to certain operating environments. Finally, in the merge-quickly scenario it becomes more important that CI includes the project being tested against as many existing users (projects) of it as possible, which usually requires a nightly run. So, I think there has to be a healthy middle-ground between merge-anything and pending-for-review-since-last-year. |
@zkessin if a separate org is the way to go, I'm sure we'll find a better name. Let's ignore the name for now. |
ok, we will leave it as @open-triq if we think of a better one later we can change it |
I'll throw in a few more comments:
Anyhow, this ain't a sale pitch, just material for thought. :) |
Hey all, is the issues tracker meant to be closed for open-triq/triq? |
No, I will fix that |
@krestenkrab, what's the plan? |
@krestenkrab ping? |
This project has a few Pull Reqs that are quite old. I would like to suggest a rule that Pull Reqs should be dealt with quickly, be they accepted or rejected, but they should not be left to hang around.
Comments please
The text was updated successfully, but these errors were encountered: