CTM(5)

명칭
ctm - source code mirror system

해설
ctm (은)는 CTM 델타로 불리는 특별한 파일 포맷으로 데이터를 보냅니다.

CTM 델타는 제어행과 데이터덩어리를 포함합니다. 각 제어행은 “CTM” 그렇다고 하는 캐릭터로 시작되어, CTM 문과 제어 데이터가 계속되어, 캐릭터 '\n' 그리고 끝납니다.

데이터덩어리는 항상 선행하는 제어행에 속해, 그 제어행의 마지막 필드에는 데이터덩어리의 바이트수가 들어가 있습니다. 후에 계속되는 개행 캐릭터 '\n'가 각 데이터덩어리에 계속되어, 이 개행은 덩어리에는 포함되지 않고 바이트수에도 셀 수 없습니다.

CTM 문은 이하의 형식을 취합니다.

_BEGIN version name number timestamp prefix
    이것이 CTM 델타 파일 전체의 시작입니다. version 필드는 프로그램의 버젼과 일치하지 않으면 안됩니다 (현재는 2.0). name (은)는 이름으로 number (은)는 CTM 서비스의 일련 번호입니다. 일련 번호는 파일 .ctm_status (와)과 조합되어 그 델타가 벌써 적용되지 않은가의 확인에 사용됩니다. timestamp (은)는 델타 생성 일시의 년, 월, 일, 시, 분, 초를 참고를 위해서(때문에) 포함합니다 (캐릭터 ‘Z’ 하지만 계속되어 UTC 의 타임 스탬프인 것을 나타냅니다). prefix 필드는 현재 실장되고 있지 않습니다.

_END md5
    이 문장으로 CTM 델타는 종료합니다. md5 (은)는 전체의 체크 섬으로 델타 전체의 MD5 체크 섬과 조합됩니다. 델타 전체와는 ``_END''에 계속되는 공백 (0x20) 캐릭터까지입니다.

FM name uid gid mode md5 count
    파일 name (을)를 작성합니다. 원래의 파일은 uid 로서 uid (수치, 10진) (을)를, gid 로서 gid (수치, 10진) (을)를, 모드로서 mode (수치, 8진) (을)를, 그리고 MD5 체크 섬으로서 md5 (을)를 가집니다.

    계속된다 count 바이트의 데이터가 새로운 파일의 내용입니다.

FS name uid gid mode md5before md5after count
    파일 name 의 내용을 옮겨놓습니다. 원래의 파일은 새로운 uid 로서 uid (수치, 10진) (을)를, 새로운 gid 로서 gid (수치, 10진) (을)를, 새로운 모드로서 mode (수치, 8진) (을)를, 낡은 MD5 체크 섬으로서 md5before (을)를, 그리고 새로운 MD5 체크 섬으로서 md5after (을)를 가집니다.

    계속된다 count 바이트의 데이터가 새로운 파일의 내용입니다.

    파일을 편집하기 위한 명령이 파일 사이즈를 넘어 버려 치환이 효율적인 경우에, 파일의 치환이 사용됩니다.

FN name uid gid mode md5before md5after count
    파일 name (을)를 편집합니다. 인수는 위에 있는 대로입니다만, 데이터 부분에는 diff(1) 의 -n 스크립트를 포함해 해당 파일에 적용됩니다.

FR name md5
    파일 name (을)를 삭제합니다. 대상 파일의 MD5 체크 섬이 md5 (와)과 일치하지 않으면 안됩니다.

AS name uid gid mode
    원래의 파일 name 의 소유자를 uid 에, 그룹을 gid 에, 그리고/또는 모드를 mode (으)로 변경합니다.

DM name uid gid mode
    디렉토리 name 하지만 작성됩니다. 원래, 디렉토리의 소유자는 uid , 그룹은 gid , 그리고 모드는 mode (이었)였습니다.

DR name
    디렉토리 name (을)를 삭제합니다.

사용예
이하의 사용예에서는, 긴 행은 표시할 수 있도록(듯이) 개행되어 있습니다 (backslash를 붙여 있습니다).

    CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
    CTMFR src/sys/gnu/i386/isa/scd.c, v 5225f13aa3c7e458f9dd0d4bb637b18d
    CTMFR src/sys/gnu/i386/isa/scdreg.h, v e5af42b8a06f2c8030b93a7d71afb223
    CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
    CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \
    e2a10c6f66428981782a0a18a789ee2e 12
    cvs-cur 485

    CTMFN CVSROOT/commitlogs/gnu 545 552 664 \
    5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
    a6936 21
    ache        95/03/24 09:59:50

      Modified:    gnu/lib/libdialog kernel.c prgbox.c
      Log:
    [...]
    CTM_END 74ddd298d76215ae45a077a4b6a74e9c

관련 항목
ctm(1), ctm_rmail(1), ed(1)

역사
최초의 테스트는 FreeBSD 1.1. 5 그리고 행해져, 많은 버그와 수법이 나왔습니다. CTM 시스템은 FreeBSD 2.1 에서 공개되었습니다.

저자
CTM 시스템은 Poul-Henning Kamp <phk@FreeBSD.org> 에 의해 설계, 실장을 했습니다.

이 메뉴얼 페이지는 Joerg Wunsch <joerg@FreeBSD.org> 하지만 썼습니다.