-
Notifications
You must be signed in to change notification settings - Fork 1
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
This might not always be welcome #2
Comments
Hi @gdamore, Thanks for voicing your concern. I'm going to address your points in order of importance. Is it slimy?
I can assure you, there is nothing "slimy" about this project. Here's why: You're here. You knew where to come, and here I am too. In fact, I invited you I'm developing incrementally and with attention to feedback, using all means available to me to make this project as positive and helpful as possible. This project is in its infancy, and I have only run the program in intermittent
With this feedback, I'm eager and able to improve the tool and my configuration. One of the first and most critical rules about this project is to never create duplicate PRs. I'm also improving my (and the default) blacklist to exclude vendor files, automatically-generated files, only-EOL changes, and more, I'm sure, to come. Automated PRs
Robots are ubiquitous, and drive-by's are common place. As mentioned above, git style bots, CLA bots, code cov bots, even, and not least, Github automated security alerts are robots on Github "doing drive-bys." In my mind, a bot vetting my git commit message style on any given PR's commits is equivalently doing a "drive-by." I did not ask to be vetted; simply by participating creatively in the ecosystem I'm going to have to deal with them. If repo maintainers are "allowed" to do or enable drive-by's on PR and Issue contributions, then it's only reasonable that they can deal with drive-by's from the receiving end, too. Also, I'm working on establishing a clear and publicized pattern for repo maintainers to be able to opt-out. This might look like including This might not always be welcome
You're right. There is no mode or product of creativity that is always welcome. Managing ignorant, lazy, duplicate, wrong, and/or otherwise poor-quality contributions is par for the course in the life of a Github public repo maintainer. Even high quality changes are not always welcome, since there can be differing opinions on architecture, priorities, and style. But, in the case of this project... Usually, it is welcome. Of 55 closed PRs (from 155 I've made), 40 of them were merged and 15 were discarded. That's a 72% "success" rate, and this tally includes PRs made from before I had thought about excluding auto-generated files and vendor dirs. More importantly, and to reiterate: it's an experiment. If it stops being mostly useful/welcome, then obviously I won't do it. The opinion of
|
An update: I've just been made aware of https://golang.org/doc/go1.10#gofmt ...
So that adds a little extra flavor to the gofmt opinion question. Maybe the best workaround for this is to run a check against a bunch of versions of |
TBH, I think that changes that affect *only* coding style are of little
merit. In the projects I’ve worked on, coding style is fixed “as you go” —
I use an editor that automatically applies gofmt for example. (I use
clang-format similarily for C coding.)
Style is already strictly a matter of opinion, and nobody says you *have*
to use gofmt’s style. Reasonable programmers can have very different, if
unconventional, coding rules.
A better solution here would be to make your project opt-in, so that
projects that wanted to have this facility, can do so. You could even make
it a quasi standard CI service, so that it could be checked as part of
every PR request. That would be a far better approach IMO than then just
blanked PR’ing all Go projects on github.
- Garrett
…On Mon, Jun 18, 2018 at 9:50 AM ia ***@***.***> wrote:
An update: I've just been made aware of
https://golang.org/doc/go1.10#gofmt ...
Note that these kinds of minor updates to gofmt are expected from time to
time. In general, we recommend against building systems that check that
source code matches the output of a specific version of gofmt. For example,
a continuous integration test that fails if any code already checked into a
repository is not “properly formatted” is inherently fragile and not
recommended.
So that adds a little extra flavor to the gofmt opinion question.
Maybe the best workaround for this is to run a check against a bunch of
versions of gofmt, and proceed with proposing changes IFF *all* versions
present changes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABPDfR5Ztb8aJrk00Ihzj46Lc4y3hqGTks5t99o-gaJpZM4Uq52L>
.
|
gofmt is somewhat opinionated, and reasonable people can have differing opinions.
I generally use gofmt myself, but different versions of go fmt over the years have changed how they format code, and advice from the go maintainers has been not to require this in git hooks for example, because the results might not be stable, particularly when people use different versions of go. Sweeping automation here isn't really appropriate IMO.
The other thing I don't really like is that you're going to touch a bunch of repositories only with automation, falsely inflating your "contributions" on github, making you look a lot more productive than you really are.
The idea of "drive by" submitting PRs against a bunch of projects that you have no former affiliation with, and which are only based upon being in Golang, feels kind of slimy to me.
In my particular case, I noticed that your version of go fmt unwrapped lines which causes them to extend beyond 80 columns. I don't like to go beyond 80 columns, so I have carefully chosen to wrap and indent. This is permitted by the Go style guide, but go fmt undoes that.
The text was updated successfully, but these errors were encountered: