From: SZEDER Gábor Date: Sat, 10 Jun 2017 11:41:01 GMT Subject: [PATCHv2.1] revision.h: turn rev_info.early_output back into an unsigned int Message-ID: <20170610114101.21026-1-szeder.dev@gmail.com> In-Reply-To: <20170610064102.w4kp6omxdznfe7fa@sigill.intra.peff.net> rev_info.early_output started out as an unsigned int in cdcefbc97 (Add "--early-output" log flag for interactive GUI use, 2007-11-03), but later it was turned into a single bit in a bit field in cc243c3ce (show: --ignore-missing, 2011-05-18) without explanation, though the code using it still expects it to be a regular integer type and uses it as a counter. Consequently, any even number given via '--early-output=', or indeed a plain '--early-output' defaulting to 100 effectively disabled the feature. Turn rev_info.early_output back into its origin unsigned int data type, making '--early-output' work again. Signed-off-by: SZEDER Gábor --- > But the "users still expect" bit was a bit subtle to me, as I thought > you meant users of Git. But you mean that the feature itself is not a > boolean, but rather an integer count of how much early output to show. Yeah, I wrote "callsites" first, but then realized it's not a function... Here is the same patch with an updated commit message now saying "code using it" and "used as a counter" to make it clearer. It also mentions that an argumentless '--early-output' turns off the feature, too. I won't resend the rest of the series. revision.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/revision.h b/revision.h index a91dd3d5d..f96e7f7f4 100644 --- a/revision.h +++ b/revision.h @@ -74,8 +74,9 @@ struct rev_info { /* topo-sort */ enum rev_sort_order sort_order; - unsigned int early_output:1, - ignore_missing:1, + unsigned int early_output; + + unsigned int ignore_missing:1, ignore_missing_links:1; /* Traversal flags */ -- 2.13.0.420.g54001f015