Page MenuHomeFreeBSD

find(1): Update HISTORY section
ClosedPublic

Authored by gbe on Mar 7 2021, 5:56 PM.

Details

Summary

Update the HISTORY section of the find manual page.
find(1) first appeared in AT&T UNIX version 1 and it was removed
in version 3. It was reintegrated in AT&T UNIX version 5 and later
be rewritten for 4.3BSD-Reno.

Obtained from: OpenBSD

Test Plan

mandoc output review and 'mandoc -Tlint' checks

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 37813
Build 34702: arc lint + arc unit

Event Timeline

gbe requested review of this revision.Mar 7 2021, 5:56 PM
gbe created this revision.

There is a find.1 man page in the V1 man pages we have. We lack sources, though, to know for sure.
It is indeed absent from V3, though no mention of its absence is included in the intro.
It appears to be present in the V2 manual that's available online (but not from TUHS),
FWIW, find is not present in the PDP-7 version of unix either (though that's ambiguous given the fragmentary nature of the surviving artifacts).

PWB post-dates V5 though. That troubles me. PWB 1.0 was for V6.
The sources in v5 are dated 1974:
12 -rw-r--r-- 1 imp loshes 9217 Nov 26 1974 ./Research/Dennis_v5/v5/usr/source/s1/find.c
and then the pwb version we have is
-rw-r--r-- 1 imp loshes 9660 Jul 6 1977 USDL/bostic/pwb/pwb.1/tape1/s1/find.c

A diff between these shows they are the same, but with some stuff added in PWB 1.0 as well as cleanups. main was rewritten and EQ was used instead of compstr in places. More compile time constants are used in PWB as well. Large sections are otherwise the same. My belief is that this is a strong indication that PWB 1.0 find was derived from V5 find, not the other way around. V6 shows some minor edits to the V5 one (all these edits are in the PWB 1.0 one too, which was released after V6). Finally, the date in the PWB one is also from 1977, and the V5 and V6 ones were from 1974 and 1975 respectively. v7 has many of the PWB changes, and on top of that a number of portability fixes or other trivial style differences.

Absent some contemporary commentary, I'd suggest that it was rewritten for v5, enhanced in PWB and then V7 brought that in and added portability fixes.

  • find(1): Update the HISTORY section
This comment was removed by gbe.
In D29114#652131, @imp wrote:

There is a find.1 man page in the V1 man pages we have. We lack sources, though, to know for sure.
It is indeed absent from V3, though no mention of its absence is included in the intro.
It appears to be present in the V2 manual that's available online (but not from TUHS),
FWIW, find is not present in the PDP-7 version of unix either (though that's ambiguous given the fragmentary nature of the surviving artifacts).

PWB post-dates V5 though. That troubles me. PWB 1.0 was for V6.
The sources in v5 are dated 1974:
12 -rw-r--r-- 1 imp loshes 9217 Nov 26 1974 ./Research/Dennis_v5/v5/usr/source/s1/find.c
and then the pwb version we have is
-rw-r--r-- 1 imp loshes 9660 Jul 6 1977 USDL/bostic/pwb/pwb.1/tape1/s1/find.c

A diff between these shows they are the same, but with some stuff added in PWB 1.0 as well as cleanups. main was rewritten and EQ was used instead of compstr in places. More compile time constants are used in PWB as well. Large sections are otherwise the same. My belief is that this is a strong indication that PWB 1.0 find was derived from V5 find, not the other way around. V6 shows some minor edits to the V5 one (all these edits are in the PWB 1.0 one too, which was released after V6). Finally, the date in the PWB one is also from 1977, and the V5 and V6 ones were from 1974 and 1975 respectively. v7 has many of the PWB changes, and on top of that a number of portability fixes or other trivial style differences.

Absent some contemporary commentary, I'd suggest that it was rewritten for v5, enhanced in PWB and then V7 brought that in and added portability fixes.

Thanks for the investigation. I updated the differential based on your research.

This revision is now accepted and ready to land.Mar 13 2021, 5:43 PM

I missed the differential revision tag in the commit, so manually close this differential.