08-Mar-2013 16:58, Andrei Alexandrescu пишет:
On 3/8/13 3:33 AM, Dmitry Olshansky wrote:
There is got to be more effective process to merge stuff. Current
situation involves ping-pong between commiter/reviewer and contributor
on every minor nit there is. That basically involves reviewing the same
exact code few times over as cleanup arrives some days later. And even
when contributor think he did cleanup something, he/she may as well miss
what's the deal and the cycle repeats.
Instead it's definitely possible for committer to checkout the pull, do
an extra cleanup commit (with automatic tool possibly, like detab/toln
and I'd love to see official "indent" for D) and push it to the main
repo. (Or squash the commits. This doesn't cancel out reviewing anything
non-trivial by at least 2 persons.)
We could experiment with this, but I'm skeptical. At Facebook we have
that option (called "commandeering" a revision) but it's very rarely used.
I think the skepticism is misplaced. Of course, inside of any large
organization there is generally some coding culture (style guide, strict
rules etc.) that one may expect to be followed. Recalling your comment
on e.g. 80-colum as a hard limit enforced by the commit hook and such, I
understand that at Facebook you don't even have to see these minor flaws
at all.
The above is not the case in the highly scattered D community. Above all
the person you nag about a misplaced whitespace of something like that
most definitely could have completely different timezone. Even worse
he/she may have a couple of deadlines to meet, be traveling over sea,
has a sick dog to treat or whatever other urgent things to attend to.
Even under normal conditions I expect no less then 8 hours for a random
comment to penetrate.
One issue that I do think is holding us back is the diff viewer.
Phabricator has a great one (side by side, not interleaved), and it
would be great if we could have the same. One possibility would be to
integrate smoothly with meld.
Having a better tool then Github's online diff would be nice if that
said tool could be integrated somewhere close to github's pull view.
Just like say pull tester is.
Otherwise setting up a script on a local machine that grabs few latest
pulls and then cycles through them with git difftool would work. And
meld works with git.
--
Dmitry Olshansky