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