Si scopre che questa funzione non è specifica di Apple. Questa è una caratteristica dei sistemi BSD in generale.
/* Root is -A automatically. */
if (!getuid())
f_listdot = 1;
Inizialmente, sono stato in grado di risalire alle fonti di 4.4BSD-Lite . Era già presente in questo commit di FreeBSD dal 1994 che sta importando quelle fonti.
La funzione è presente anche in OpenBSD e può essere trovata in questo commit dal 1995 che afferma di importare codice da NetBSD, quindi questo era già presente in NetBSD .
Quindi si scopre il commit di NetBSD dal 1993 che afferma di importare codice da 386BSD e la funzione è già lì . Inoltre, questo commit mostra che era lì durante lo sviluppo di 386BSD versione 0.0 nel 1991 che è stato biforcuto da BSD intorno alla 4.3, per quanto posso dire.
Il commento è apparso per la prima volta durante lo sviluppo di 4.3BSD-Reno in questo commit (27 giugno 1989) intitolato "prima versione funzionante di nuove LS". Il commento originale diceva:
/* root sees all files automatically */
che è stato modificato più tardi quel giorno (non sono sicuro che i timestamp siano completamente corretti in questo repository) per:
/* root is -A automatically */
E solo nel 1992 la lettera maiuscola e il periodo sono stati aggiunti trasformando il commento in ciò che abbiamo ora:
/* Root is -A automatically. */
Ma il comportamento era presente in 2BSD dal 9 maggio 1979 come visto in questa istantanea :
Aflg = getuid() == 0;
Non riesco a trovare alcuna storia reale di quei tempi, ma c'è anche questa istantanea di 1BSD del 1977 senza quelle righe. E senza la -A
bandiera in realtà.
Quindi sembra che la funzionalità sia stata introdotta da qualche parte tra novembre del 1977 (1BSD in fase di sviluppo in quel momento) e l'uscita di 2BSD nel maggio 1979.
Quello che ho anche scoperto durante questa indagine, è la -I
bandiera che è stata aggiunta a FreeBSD nel 2005 per ignorare questo comportamento e che è stata rielaborata un po 'più tardi.