On Fri, Feb 10, 2023 at 10:20 AM Dan Cross <crossd@gmail.com> wrote:
On Fri, Feb 10, 2023 at 10:44 AM Clem Cole <clemc@ccc.com> wrote:
> On Fri, Feb 10, 2023 at 10:34 AM Dan Cross <crossd@gmail.com> wrote:
>> If I recall correctly (and it's been a while...) csup, CVSup, et al
>> were based on `sup`, which was a file distribution tool somewhat like
>> `rdist`, which came from CMU. csup/cvsup was optimized for moving
>> source code deltas (a la CVS repositories) around. I recall a
>> graphical client written in Modula-3?
>
> Right -- ??maybe?? Bob Baron or one of the Mach guys did it  - used the DEC Modula-3 IIRC.

That sounds right for `sup`. I vaguely remember it being associated
with Coda, as well? I believe the BSDs used it to distribute source
code (in addition to or instead of anoncvs?) in the 90s.

The original sup was on the 4.4BSD tapes, and was written in C' It may
have come from Mach.
 
It looks like CVSup was done by John Polstra in Modula-3. It was being
used for FreeBSD in at least 1996, but I don't know when they started
using it. It's mostly disappeared, but archive.org has a snapshot of
its old web site:
https://web.archive.org/web/20060103034312/http://www.cvsup.org/faq.html

Yes. FreeBSD didn't offer anoncvs because CVS was so terrible at handling the
high rate of change for the FreeBSD project. I don't think any of the other
BSD projects ever used it officially, but I have a vague memory of there being
unofficial NetBSD and OpenBSD mirrors. The latter two projects focused on
using anoncvs, to the present day (though both now have git and other mirrors).
DragonFlyBSD used it briefly since it started with CVS and then transitioned to
git, when it stopped using it entirely.
 
`csup` was a reimplementation in C (without the GUI part, I imagine)
because the Modula-3 dependency was a pain.

Yes. The compilers were slow to update, the old ones stopped working
due to the compilers heavy knowledge of threads, which were undergoing
flux in the base FreeBSD system, so updates were always tricky. Plus
there were issues with different upstreams accepting FreeBSD patches
for various reasons that I have only a vague recollection of. There were two
or three compilers, IIRC: The original DEC one, then an egcs based one
and then a gcc one when egcs and gcc "reunited"... This was an unbelievable
pain, with few people knowing how to properly do a bringup and John retiring
or becoming semi-retired in this time period.

Warner
 
>> The SUPDUP protocol used by ITS hosts was a "Display Protocol" based
>> on TELNET: https://www.rfc-editor.org/rfc/rfc734
>
> Exactly - popular with the LISP hackers.  I started to implement it in the CMU Distributed Front-End years ago but never finished it - I don't know if it was ever completed.

Oh yeah, I imagine it was implemented on Lisp machines, probably for
connecting to ITS. Lars, do you know?

        - Dan C.