Un byte NUL in due file sorgente, che ha fatto git chiamarli binari

Fixkamo-internal
Shipped
6 settembre 2026 alle ore 23:56 UTC
Author
Kamo
Commit
00b2b58

Catturato su un ultimo passaggio sul mio lavoro: `billingDraft.ts` commesso come "Bin 0 -> 6882 byte". Un separatore scritto come spazio aveva raggiunto il file come un crudo NUL byte invece, dal guscio che esca sulla strada in. Ha funzionato. NUL è un separatore perfettamente buono, ogni prova passata, e il Il tipo checker non aveva niente da dire. Ciò che ha rotto è la lettura: git tratta un file con un NUL come binario, quindi non ha diff, nessuna colpa e nessuna recensione. Un cambiamento di esso sarebbe terra come un blob opaco. `serverTime.ts` aveva la stessa cosa nella sua chiave di cache del formatore — preesistente, non mio, trovato dalla scansione del repository per il modello dopo aver trovato il mio. Questo è veramente destinato ad essere NUL, dal momento che né un locale né un fuso orario possono contengono uno, quindi il separatore è tenuto e scritto come una fuga di unicodi invece di il byte crudo. Stessa chiave, stessa prova di collisione, e il file diffs di nuovo. Presente anche in README.md, da un frammento UTF-16 allegato da qualche costruttore strumento. Sinistra da solo: sono 39 byte di danno cosmetico in un file nulla importa, E non e' questo cambiamento pulire.

All changes

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo