[TUHS] Late 70's UNIX Stream Differences from V6

segaloco via TUHS tuhs at tuhs.org
Mon Jun 26 11:08:33 AEST 2023

Hello, I'd like to share some analysis from my recent Sixth Edition pass of my mandiff repository.  For the V5-V6 diff, I opted for a branching approach, starting with a last universal common ancestor (which isn't quite right [1]).  I compared each set of changes with the MERT0, PWB 1.0, CB-UNIX 2.3, 32V, and to a lesser extent V7 and System III manuals attempting to suss out the spiderweb of changes between them all.  I created a series of branches representing last common changes between groups of branches as well.  This has resulted in a littering of merge commits in the repository, but a banana's gonna have a peel.

A few important points about document genealogy here:

    - The MERT0 manual, in the introduction, denotes descent from the USG Program Generic 3 manual.  Furthermore, there is a listing of which pages would be replaced, which also serves as a key to which pages should be PG3 original text.  However, the hs(IV) and ht(IV) pages make reference to specific MERT pages, so I question the veracity of this list.  In any case, for the purposes of this analysis, much may extrapolate to USG PG3 as well.  More study is needed.

    - The CB-UNIX manual currently available is Edition 2.3.  In studying the numbering system for CB, I've found that this represents Release 2, Issue 3, as in the kernel there are references to releases, not editions.  The clue is in one of the manpages somewhere, I don't recollect as of this typing where, but that'll come back around soon enough.  The manual itself appears to be from a binder that was once a CB-UNIX 2.1 binder and had select pages replaced.  There are some bits and pieces of 2.1 pages that were otherwise slated to be replaced, alluding to things like the /etc/lines file in common with PG3.  In any case I've prioritized 2.1 changes over 2.3 changes where they can be determined, but like PG3, no complete picture can be determined of 2.1 from available documentation.

For each of the branches, the following number of files in total reflect V5-V6 changes which aren't incorporated:

    - 32V:   7
    - PWB:   15
    - MERT0: 46

Of these MERT0 has the greatest number of items lacking research's upstream changes from late '74-early '75.  Among them:

    - Has a V5-ish bas(I), no rc(I) (ratfor) at all
    - The group system is not present, newgrp(I), group(V), chgrp(VIII), etc. are nowhere to be found
    - nice(I) has no priority argument, simply sets a "low priority"
    - TTYs are still referred to as "teletypes" instead of "typewriters" in many places
    - there are 10 TTYs max so many commands don't reflect adjustments for two-digit IDs (ps(I) in particular is quite different, very V5)
    - retains the lpr print command (which shows up again in 32V and System III)
    - additionally, according to the replacement page list, PG3 retained the fed and form editing programs
    - Program Generic may not have had a man(I) page, as the one here is a MERT0 addition, hard to say

CB tragically needs to be remerged, found as I was typing this up the system call section got an errant merge with V6 changes that shouldn't be there.  Needless to say there is much in section II of the CB manual that leans more V5-ish than V6-ish.  PWB differs in minor ways.

The differences can be found in this list https://gitlab.com/segaloco/mandiff/-/merge_requests?scope=all&state=closed

Each of the obviously labeled, closed merges represents a snapshot diff of the particular branch in question.  As stated, the CB branch currently is in dire straits, I'm going to work that up again sometime in the future, but I should be able to use this to produce diff-able reproductions of the MERT0 and CB-UNIX 2.3 manual sources for this repository, as well as any other materials that may pop up.

- Matt G.

[1] - This pass I did not take good notes on such matters, but there are a few pages I'll anecdotally say reflect contents predating V5 sprinkled amongst the various manuals.  I will consult with previous diffs when questions arise on in-depth analysis of the non-research changes in the branches.  In any case the historical record already confirms CB-UNIX at the very least branched off quite early.

More information about the TUHS mailing list