On Tue, 19 Dec 2017, Junio C Hamano wrote: > That (and existing) uses of printf() all feel a bit overkill ;-) > Perhaps putchar() would suffice. > > I am not sure if the above wants to become something like > > for (i = 0; i < istate->cache_nr; i++) { > putchar(istate->cache[i]->ce_flags & CE_FSMONITOR_VALID ? '+' : '-'); > quote_c_style(istate->cache[i]->name, NULL, stdout, 0); > putchar('\n'); > } > > instead of "a single long incomplete line" in the first place. Your > "fix" merely turns it into "a single long complete line", which does > not quite feel big enough an improvement, at least to me. The more user-digestable form like you describe already exists by way of `git ls-files -f`. I am not sure it is worth replicating it. The only current uses of this tool are in tests, which only examine the first ("no fsmonitor" / "fsmonitor last update ...") line. I find it useful as a brief summary view of the fsmonitor bits, but I suppose I'd also be happy with just presence/absence and a count of set/unset bits. Barring objections from Dscho or Ben, I'll reroll with a version that shows something like: fsmonitor last update 1513821151547101894 (5 seconds ago) 5 files valid / 10 files invalid - Alex