diff options
author | Thomas Graichen <graichen@cvs.openbsd.org> | 1996-10-30 17:33:00 +0000 |
---|---|---|
committer | Thomas Graichen <graichen@cvs.openbsd.org> | 1996-10-30 17:33:00 +0000 |
commit | b85b15782739220b5bf2563ccdc7ac9e256a31d2 (patch) | |
tree | 5c87c07db954daa7e42a38261eec30f4241b2750 /usr.sbin/ctm/README | |
parent | ae8ef4e6f9b691bbd8786a3242b8bbf3afe28f0a (diff) |
import ctm (current through mail)
for more see http://www.openbsd.org/ctm.html - it's basicaly the FreeBSD
version adapted to OpenBSD - i'll bring in the latest FreeBSD changes in the
next days
Diffstat (limited to 'usr.sbin/ctm/README')
-rw-r--r-- | usr.sbin/ctm/README | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/usr.sbin/ctm/README b/usr.sbin/ctm/README new file mode 100644 index 00000000000..47f87756d55 --- /dev/null +++ b/usr.sbin/ctm/README @@ -0,0 +1,97 @@ +# ---------------------------------------------------------------------------- +# "THE BEER-WARE LICENSE" (Revision 42): +# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you +# can do whatever you want with this stuff. If we meet some day, and you think +# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp +# ---------------------------------------------------------------------------- +# +# $Id: README,v 1.1 1996/10/30 17:32:57 graichen Exp $ +# + +What will I not find in this file ? +----------------------------------- +Instructions on how to obtain FreeBSD via CTM. +Contact <phk@freefall.cdrom.com> for that. + +What is CTM ? +------------- +CTM was originally "Cvs Through eMail", but has since changed scope to be +much more general. +CTM is now meant to be the definitive way to make and apply a delta between +two versions of a directory tree. +There are two parts to this, making the delta and applying it. These are two +entirely different things. CTM concentrates the computation-burden on the +generation og the deltas, as a delta very often is applied more times than +it is made. Second CTM tries to make the minimal size delta. + +Why not use diff/patch ? +------------------------ +Good question. Primarily because diff and patch doesn't do their job very +well. They don't deal with binary files (in this case files with '\0' or +'\0377' characters in them or files that doesn't end in '\n') which isn't +a big surprise: they were made to deal with text-files only. As a second +gripe, with patch you send the entire file to delete it. Not particular +efficient. + +So what does CTM do exactly ? +----------------------------- +CTM will produce a file, (a delta) containing the instructions and data needed +to take another copy of the tree from the old to the new status. CTM means to +do this in the exact sense, and therefore the delta contains MD5 checksums to +verify that the tree it is applied to is indeed in the state CTM expects. + +This means that if you have modified the tree locally, CTM might not be able +to upgrade your copy. + +How do I make a CTM-delta ? +--------------------------- +Don't. Send me email before you even try. This is yet not quite as trivial +as I would like. This is not to discourage you from using CTM, it is merely +to warn you that it is slightly tedious and takes much diskspace. + +How do I apply a CTM-delta ? +---------------------------- +You pass it to the 'ctm' command. You can pass a CTM-delta on stdin, or +you can give the filename as an argument. If you do the latter, you make +life a lot easier for your self, since the program can accept gzip'ed files +and since it will not have to make a temporary copy of your file. You can +specify multiple deltas at one time, they will be proccessed one at a time. + +The ctm command runs in a number of passes. It will process the entire +input file in each pass, before commencing with the next pass. + +Pass 1 will validate that the input file is OK. The syntax, the data and +the global MD5 checksum will be checked. If any of these fail, ctm will +never be able to do anything with the file, so it will simply reject it. + +Pass 2 will validate that the directory tree is in the state expected by +the CTM-delta. This is done by looking for files and directories which +should/should not exists and by checking the MD5 checksums of files. + +Pass 3 will actually apply the delta. + +Should I delete the delta when I have applied it ? +-------------------------------------------------- +No. You might want to selectively reconstruct a file latter on. + +What features are are planned ? +------------------------------- +This list isn't exhaustive, and it isn't sorted in priority. + Reconstruct subset of tree. + Make tar-copy of things which will be affected. + Verify. + Internal editor instead of ed(1) + Support for mode + Support for uid/gid + Support for hardlinks + Support for symlinks + +Isn't this a bit thin yet ? +--------------------------- +Yes. + +Can I say something ? +--------------------- +Yes, email me: <phk@freefall.cdrom.com> + +Poul-Henning |