I'd almost prefer not to.
If people feel the code is subtle enough that a comment is in order to
explain *what* something does, I would rather introduce helper functions
than add comments. I'm not a big believer in comments in the middle of
code to explain the code, but I *am* a big believer in trying to make the
code easy to read without them.
(I don't dislike comments per se, but I'd *much* rather have the comments
explain what is going on at a higher level. Comments that talk about the
details of the code itself is likely bogus).
So we could add a commit to say what is going on ("ignore commits that
have only one parent and didn't change the tree"), but I'd not want to
explain why that particular layout of code.
That said, I've often found the "TREECHANGE" bit annoying. The fact that
we always have to test it together with testing "rev->prune_fn" and often
also the "rev->dense" flag is just annoying. I'd almost like to just
always set the bit if "rev->prune_fn" isn't set. Alternatively, the code
could be rewritten to just have a few inline helper functions, and it
could perhaps be written as
if (!(flags & TREECHANGE) && revs->dense && single_parent(commit))
continue;
I dunno. I have no really *strong* opinions, although I suspect that
anybody who looks at that particular piece of code had better understand
these issues well enough anyway that it doesn't much matter..
I'm fine with it. The reason I did it the way I did was that this way I
didn't need to change "gitk" - I could just use Pauls original patch
as-is, since that code didn't care *what* came after the "Final output",
and didn't care how many times it showed up.
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html