=================================================================== RCS file: /cvsrepo/anoncvs/cvs/www/Attic/ctm.html,v retrieving revision 1.13 retrieving revision 1.14 diff -c -r1.13 -r1.14 *** www/Attic/ctm.html 2001/01/01 22:01:21 1.13 --- www/Attic/ctm.html 2001/02/24 23:37:06 1.14 *************** *** 9,60 **** CTM for OpenBSD !

What is ctm?

! Ctm is a system which was designed by Poul-Henning Kamp for making changes to a source tree available on a daily basis by email. ! This is a good way to stay up to date with the current source- or ! CVS tree if you have a bad Internet connection, for instance via modem.

! Ctm uses very low bandwidth for distributing the changes to the tree, ! and compresses them using gzip -9. In contrast to CVSup, ctm is written in plain C and therefore ! available for every platform supported by OpenBSD.

How does it work?

! The basic idea of ctm is that you subscribe to a special mailing list for a particular source tree. Each day you receive an email message containing all the changes to that tree during that period. ! One set of differences is called a "delta".

You begin with a base set, against which later deltas are patched. To ! begin using ctm you download the latest base set and all deltas generated after that. Once you have processed those you can process later deltas you receive from the mailing list. The base sets are split ! into pieces of 1400kB each for easier downloading over bad lines, and ! you can even put them onto floppies this way.

Base sets are generated once every 50 relative deltas, so you never have to grab more than 50 deltas to catch up.

! There are currently two kinds of base delta. For quite a while we were making tar.gz files manually, but we are ! switching back to real ctm base deltas. The latter contain md5 checksums and are generated automatically, thus are a bit safer. You ! can distinguish these two kinds of base delta by their filename. An example for a tar.gz file is ! OpenBSD-cvs.1450.tar.gz, whereas a ctm base delta would be named OpenBSD-cvs.1500A.gz. See below for detailed instructions. !

How much bandwidth does ctm use?

You obtain the base set and all relative deltas up to the recent one --- 9,66 ---- CTM for OpenBSD !

What is CTM?

! CTM is a system which was designed by Poul-Henning Kamp for making changes to a source tree available on a daily basis by email. ! This is a good way to stay up to date with the current source tree or ! CVS repository if you have a slow Internet connection, for instance via modem.

! CTM uses very low bandwidth for distributing the changes to the tree, ! and compresses them using gzip -9. In contrast to ! CVSup, CTM is written in plain C language ! and therefore available for every platform supported by OpenBSD. +

+ For any problems, suggestions, reports and questions regarding CTM + contact the CTM maintainer + Hans Günter Weigand. + (Please do not ask other OpenBSD people for CTM support, + as they are busy doing other things. Thank you.) +

How does it work?

! The basic idea of CTM is that you subscribe to a special mailing list for a particular source tree. Each day you receive an email message containing all the changes to that tree during that period. ! One such set of differences is called a delta.

You begin with a base set, against which later deltas are patched. To ! begin using CTM you download the latest base set and all deltas generated after that. Once you have processed those you can process later deltas you receive from the mailing list. The base sets are split ! into pieces of 1400kB each for easier downloading over bad lines.

Base sets are generated once every 50 relative deltas, so you never have to grab more than 50 deltas to catch up.

! There are currently two kinds of base set files. For quite a while we were making tar.gz files manually, but we are ! switching back to real CTM base deltas. The latter contain MD5 checksums and are generated automatically, thus are a bit safer. You ! can distinguish these two kinds of base set by their filename. An example for a tar.gz file is ! OpenBSD-cvs.1450.tar.gz, whereas a CTM base delta would be named OpenBSD-cvs.1500A.gz. See below for detailed instructions. !

How much bandwidth does CTM use?

You obtain the base set and all relative deltas up to the recent one *************** *** 66,102 ****

  • Approximately 65MB for OpenBSD-src.
  • Approximately 35MB for OpenBSD-src-x11.
  • Approximately 2MB for OpenBSD-ports. !
  • Keep in mind that these are compressed sizes. The uncompressed files are about five times as large. !
  • Relative deltas vary from 10kB to 100kB, and occasionally a couple of megabytes. !
  • ctm always splits deltas into 100kB messages which are reassembled automatically. !
  • If a delta is larger than 5MB, it is not sent via mail. Instead, you ! will receive a notification to get the delta by ftp. !

    ! Larger ctm updates are rare, though, usually occurring only after a major ! import of something like binutils, perl, gcc, etc. -

    How do I use ctm?

    - !

    How do I use CTM?

    ! The addresses for the deltas are:

    ! The addresses of the FTP servers carrying CTM deltas are:

    ! NOTE: I'm very interested in finding other sites around the world ! that would like to mirror these deltas.

    !

    Should I choose the source or CVS tree?

    ! This depends on your diskspace, among other factors. Since ctm ! doesn't deal with files which have been modified locally, the "better" ! choice is probably the CVS tree. You then can check out your working ! source tree from your CVS tree, and keep your local modifications in ! your source tree, because cvs is smart enough to merge in your local ! changes.

    ! The drawback, however, is the amount of diskspace it takes. A checked-out ! source tree takes about 350MB or so, but if you have your own cvs tree you ! need about 1Gb for it, plus another 350MB for the checked out tree. ! !

    This doesn't count the 100MB or more (depending on the architecture) you will need to do a build, i.e. compile the sources. --- 226,263 ---- +

    +

    ! NOTE: I'm very interested ! in finding other sites around the world that would like to ! mirror these deltas.

    !

    Should I choose the source tree or the CVS repository?

    ! This depends on your diskspace, among other factors. Since CTM ! doesn't deal very well with files which have been modified locally, ! the "better" choice is probably the CVS repository. You can check out ! your working copy of the source tree from your CVS repository then, ! and keep your local modifications in your source tree. CVS is ! smart enough to merge in your local changes. You can also use the ! full range of CVS commands except cvs commit.

    ! The drawback, however, is the amount of diskspace it takes. A ! checked-out source tree takes about 350MB or so, but if you have your ! own CVS repository you need more than 1Gb for it, plus another ! 350MB for the checked out tree. This doesn't count the 100MB or more (depending on the architecture) you will need to do a build, i.e. compile the sources. *************** *** 255,261 **** you should have no problems. A sample of this is as follows:

    ! Suppose your ctm-updated tree is in /usr/src-ctm, and your real source tree, the one you make your modifications to and do your builds from, is in /usr/src. /usr/src should be initially an empty directory. The --- 270,276 ---- you should have no problems. A sample of this is as follows:

    ! Suppose your CTM-updated tree is in /usr/src-ctm, and your real source tree, the one you make your modifications to and do your builds from, is in /usr/src. /usr/src should be initially an empty directory. The *************** *** 266,275 ****

    ! Modifications made to files in /usr/src will become a file contained within ! /usr/src, hiding the one in src-ctm. If changes are made via ctm to the ! underlying src-ctm tree, those changes will not be seen if there is ! a file in the upper layer hiding it.

    You should periodically unmount the --- 281,291 ----

    ! Modifications made to files in /usr/src will become a ! file contained within /usr/src, hiding the one in ! src-ctm. If changes are made via CTM to the ! underlying src-ctm tree, those changes will not ! be seen if there is a file in the upper layer hiding it.

    You should periodically unmount the *************** *** 282,317 ****

    The commands ls -W and rm -W will be ! useful too, as objects named "whiteouts" in /usr/src will also hide ! files in src-ctm.

    ! If you get the CVS tree, you can use the cvs checkout ! command to check out a source tree from it, and each time you update ! with ctm you can use the cvs update command to ! update your source tree.

    ! To get an initial src tree:

      	cd /usr
    ! 	cvs -qd YOUR_CVS_TREE checkout -A src
      

    ! and after each ctm update:

      	cd /usr/src
      	cvs -q update -PAd
      
    !

    How stable is ctm for OpenBSD?

    ! Ctm has been in use for over four years for OpenBSD, and for FreeBSD ! for an even longer period of time. Ctm is very reliable and stable.

    More information

    ! If you want to learn more about ctm, a good place to start with is the FreeBSD Handbook: ! There are also man pages for all of the CTM utilities. !

    Summary:

    *************** *** 339,345 ****

  • echo subscribe ctm-log | mail majordomo@OpenBSD.org !
  • FTP (for base and relative deltas): !
  • FTP (for base sets and relative deltas):

    ! Important notes and announcements about ctm will be posted to:

    ! Important notes and announcements about CTM will be posted to: