CTM

Contributed by &a.phk;. Updated 19-October-1997. Why should I use

. What do I need to use

You will need two things: The ``/usr/src/usr.sbin/ if you have a copy of the source online. If you are running a pre-2.0 version of FreeBSD, you can fetch the current The ``deltas'' you feed or see section . FTP the relevant directory and fetch the /etc/aliases if you want to have the process run in a fully automated fashion. Check the Starting off with

Before you can start using Using

To apply the deltas, simply say: cd /where/ever/you/want/the/stuff ctm -v -v /where/you/store/your/deltas/src-xxx.*

Keeping your local changes

As a developer one would like to experiment with and change files in the source tree. CTM supports local modifications in a limited way: before checking for the presence of a file foo, it first looks for foo.ctm. If this file exists, CTM will operate on it instead of foo.

This behaviour gives us a simple way to maintain local changes: simply copy the files you plan to modify to the corresponding file names with a .ctm suffix. Then you can freely hack the code, while CTM keeps the .ctm file up-to-date. Other interesting CTM options Finding out exactly what would be touched by an update

You can determine the list of changes that CTM will make on your source repository using the ``-l'' option to CTM.

This is useful if you would like to keep logs of the changes, pre- or post- process the modified files in any manner, or just are feeling a tad paranoid :-). Making backups before updating

Sometimes you may want to backup all the files that would be changed by a CTM update.

Specifying the ``-B backup-file'' option causes CTM to backup all files that would be touched by a given CTM delta to backup-file. Restricting the files touched by an update

Sometimes you would be interested in restricting the scope of a given CTM update, or may be interested in extracting just a few files from a sequence of deltas.

You can control the list of files that CTM would operate on by specifying filtering regular expressions using the ``-e'' and ``-x'' options.

For example, to extract an up-to-date copy of lib/libc/Makefile from your collection of saved CTM deltas, run the commands: cd /where/ever/you/want/to/extract/it/ ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

For every file specified in a CTM delta, the ``-e'' and ``-x'' options are applied in the order given on the command line. The file is processed by CTM only if it is marked as eligible after all the ``-e'' and ``-x'' options are applied to it. Future plans for

Tons of them: Use some kind of authentication into the CTM system, so as to allow detection of spoofed CTM updates. Clean up the options to The bad news is that I am very busy, so any help in doing this will be most welcome. And do not forget to tell me what you want also... Miscellaneous stuff

All the ``DES infected'' (e.g. export controlled) source is not included. You will get the ``international'' version only. If sufficient interest appears, we will set up a `` There is a sequence of deltas for the Thanks!