[cfe-commits] [PATCH] -rewrite-includes
Lubos Lunak
l.lunak at suse.cz
Mon Apr 9 14:17:30 PDT 2012
On Wednesday 04 of April 2012, Chandler Carruth wrote:
> I'm sorry you feel this way, and got this impression.
>
> We definitely do want the feature and more contributors. Providing detailed
> code review of new features is actually a very time consuming activity. It
> would be much faster to just reformat the patch ourselves and submit it,
> but that doesn't build up new contributors or give them experience with the
> coding conventions used within the Clang project. It also doesn't scale --
> we can't afford to spend all of our time reformatting other people's
> contributions. Instead, we're trying to teach you *how* to make a
> contribution to the Clang codebase.
I've done contributions to a number of projects, so I know this, regardless
of the project it's always a variation of getting it to compile, making a
patch, posting it for review to wherever the right place is, fixing problems
that have been pointed out, and repeating until it's either accepted or until
the effort does not seem worth it. That wasn't the problem, the problem was
that the 'not worth it' impression rather skyrocketed. A large stick and no
carrot in sight. That also didn't seem to build up new contributors in this
case.
> Now, if you're not interested in on-going contributions, that's fair. It is
> absolutely a lot of work to learn and internalize the style and coding
> conventions we use. I'm sorry if I misled you in encouraging you to dive in
> and implement this, and learning the conventions and style used within
> Clang isn't a useful investment of your time.
If this is how you see it, then indeed you do not view me as a possible
contributor, because you apparently expect a devotion to the project, which I
can't and don't want to do. Nor I think it should be necessary. For a project
where all users are developers, I'd expect it to be quite likely for users to
just turn up, scratch their itch and disappear again, without really being
interested in such trivialities like where exactly you must or mustn't put
your spaces (I myself use 2 coding styles regularly and several more
occassionally as I touch other projects, and I really have no interest in
internalizing another style, especially if, honestly, I don't quite like it).
So yes, this is an unappreciated waste of time.
That said, this is not even necessary, because there can be an easy technical
solution, at least for the coding style problem. If I was just given a
command to format the code the want you want it, I'd just have done it and be
done with it. Clang seems quite capable at rewriting code and I've noticed
some mentions of GSoC code reformater task, so just make sure it's usable for
Clang itself too and it should save a lot of time on both sides.
A tool won't help with blocking a patch because of other issues, such as the
reused already existing Clang code (I'd be most probably quite happy to
improve it in a followup patch in both places), having requirements that even
core developers don't apparently follow (I can read just a couple of mails on
this very list to see that new code is not rigidly doxygen-marked
everywhere), performance improvements that didn't even improve anything, or
even the absurdity of first asking me to rename a temporary variable away
from 'I' to something more descriptive and later asking to have a
reasonably-named variable renamed to 'I', but if you value one perfect patch
more than a possible contributor and all the followup patches, that's your
choice.
> > session
> > would feel like taking over the patch, just go ahead. I don't think
> > there's any technical problem with it and I've been using it extensively
> > in the last
> > few weeks (and I'd be willing to have a look at it if somebody finds an
> > actual technical problem in it after all).
>
> Again, we have a reasonable amount of experience that indicates coding
> conventions, style, and other such factors are critically important to
> long-term maintainability of a large codebase. We consequentially have very
> high standards here.
I have a reasonable amount of experience indicating that too much is
sometimes way too much, and I'm not going for another iteration of tedious
and frustrating manual review of my code for compliancy with a large code
standard and even larger codebase, sorry.
> To sum up: I think this functionality is good, and eventually someone will
> hopefully have time to pick it up and make the necessary style
> improvements. I can understand if you don't have the time to finish this,
> but until someone can find the time and finish cleaning it up, the patch
> isn't ready to be submitted.
Too bad it won't make it into 3.1, but at this pace it probably wasn't going
to anyway.
--
Lubos Lunak
l.lunak at suse.cz
More information about the cfe-commits
mailing list