RCS(1)

g . if ! . ds lq ``

명칭
rcs - RCS 파일의 속성을 변경한다

서식
rcs options file ...

해설
rcs (은)는, RCS 파일의 신규 작성 및 RCS 파일의 속성 변경을 실시합니다. RCS 파일은, 복수의 리버젼, 액세스 리스트, 변경 히스토리, 내용 기술, 제어 속성으로부터 됩니다. rcs 명령을 실행할 수 있는 것은, 실행한 유저가 RCS 파일의 액세스 리스트에 등록되어 있는지, 액세스 리스트가 하늘인지, 유저가 RCS 파일의 소유자인지, 슈퍼 유저이든가, 혹은 -i 옵션이 지정되어 있는 경우에 한정됩니다.

RCS 확장자(extension)에 매치 하는 파일명은 RCS 파일이라고 간주, 그 외 의 파일명은 워크파일이라고 간주합니다. 자세하게는, ci(1) (을)를 참조해 주세요. 리버젼 번호는 ci(1) 에 기술되고 있는 형식을 이용합니다.

옵션

-i  새로운 RCS 파일을 작성해, 초기화합니다. 다만, 리버젼은 작성하지 않습니다. 지정된 파일명에 디렉토리명이 포함되지 않은 경우, rcs (은)는 우선 커런트 디렉토리에 있다 ./RCS 디렉토리에 파일을 작성하자 (와)과 시도합니다. 이것에 실패하면(자), 커런트 디렉토리에 작성하려고 시도합니다. 만약 벌써 RCS 파일이 존재했을 경우는 에러가 됩니다.

-alogins
    RCS 파일의 액세스 리스트에 logins 그리고 지정한 유저명을 추가합니다. logins (은)는, 콤마로 단락지은 유저명의 리스트입니다.

-Aoldfile
    oldfile 그리고 지정한 RCS 파일의 액세스 리스트에 등록되어 있는 유저명을, 대상의 RCS 파일의 액세스 리스트에 추가합니다.

-e[logins]
    logins 그리고 지정한 유저명을, RCS 파일의 액세스 리스트로부터 소거합니다. logins 하지만 생략 되었을 경우는, 액세스 리스트 전체를 소거합니다.

-b[rev]
    rev (을)를 디폴트의 가지로 합니다. rev 하지만 생략 되었을 경우, 디폴트가지는 간상에서 가장 큰 번호를 가지는 가지가 됩니다.

-cstring
    코멘트 개시 캐릭터 라인을 string (으)로 설정합니다. 최초로 ci (을)를 기동했을 때, 혹은 rcs -i 에 -c 옵션을 지정하지 않았던 때는, 코멘트 개시 캐릭터 라인은 워크파일의 확장자(extension)로부터 자동적으로 추측됩니다.

    통상, RCS 는 체크아웃 ( co(1) 참조) 때의 기록행을 삽입할 때에, $Log$ 행의 줄머리부를 사용하므로, 이 옵션은 현재 폐지의 방향에 있습니다. 그렇지만, RCS 의 낡은 버젼에서는, $Log$ 행의 줄머리부는 아니고 코멘트 개시 캐릭터 라인을 사용하고 있으므로, RCS 의 신구 양쪽 모두의 버젼의 파일을 사용하는 경우는, 그 코멘트 개시 캐릭터 라인이 $Log$ 행의 줄머리부와 일치하도록(듯이) 하지 않으면 안됩니다.

-ksubst
    디폴트의 키워드 전개 방식을 subst (으)로 설정합니다. 키워드 전개의 효과에 대해서는 co(1) 에 기술되어 있습니다. co, rcsdiff, rcsmerge 에 -k 옵션을 지정하는 것으로, 디폴트의 전개 방식을 무효로 할 수가 있습니다. rcs -kv (을)를 이용할 때는 주의해 주세요. 왜냐하면, -kv (을)를 디폴트로 하면(자) co -l (와)과 만나 넣지 않게 되기 때문입니다. rcs -kkv 에 의해, 통상의 기본값에 되돌릴 수가 있습니다.

-l[rev]
    리버젼 rev (을)를 잠급니다. rev 하지만 가지를 나타내는 경우, 지상의 최신의 리버젼이 락 됩니다. rev 하지만 생략 되었을 경우, 디폴트지상의 최신의 리버젼이 락 됩니다. 잠그는 것으로, 그 리버젼의 파일에 대해서 복수의 사람이 변경하는 것을 방지할 수 있습니다. 다른 사람이 이미 잠그고 있는 경우, rcs -u 에 의해, 락을 해제할 수가 있습니다(아래와 같이 참조).

-u[rev]
    리버젼 rev (을)를 락 해제합니다. rev 하지만 가지를 나타내는 경우, 지상의 최신의 리버젼이 락 해제됩니다. rev 하지만 생략 되었을 경우, 명령을 실행한 유저가 잠그었다 최신의 리버젼이 락 해제됩니다. 통상, 잠근 유저만이 락을 해제할 수가 있습니다. 다른 유저가 락을 해제하려고 하면(자), 잠근 유저에게 메일이 송신됩니다. 메일에는 락을 해제하는 이유등을 썼다 코멘트를 부가합니다. 코멘트는 락을 해제하려고 한 유저가 입력해, 파일 종단 혹은 . 만을 포함한 행을 입력하는 것으로 종료합니다.

-L  락을 엄격하게 행하는 모드 (이하, 엄격 모드)로 설정합니다. 엄격 락을 지정하면(자), RCS 파일의 소유자여도, 잠그고 있는 파일을 체크인 하는 것이 할 수 없게 됩니다. 복수의 유저로 공유하는 것 같은 파일은 본모드로 이용해야 합니다.

-U  락을 엄격하게 하행 줄 없는 모드 (이하, 비엄격 모드)로 설정합니다. 비엄격 락을 지정하면(자), RCS 파일의 소유자는 잠그는 일 없이, 새로운 리버젼을 체크인 할 수가 있습니다. 복수의 유저로 공유하는 파일은 본모드로 사용해야 하지는 않습니다. 디폴트의 락 모드를 엄격하게 할까 비엄격하게 할까는, RCS 시스템을 인스톨 한 시스템 관리 책임자가 결정합니다만, 통상은 엄격 모드입니다.

-mrev:msg
    리버젼 rev 의 로그 메세지를 msg 에 치환합니다.

-M  잠근 유저 이외의 유저가 락을 해제했을 때에, 메일을 보내지 않습니다. 이것은 사용을 간편하게 하는 목적의 옵션이 아닙니다. 다른 방법에 의해 유저에게 경고를 실시하는 것 같은 프로그램을 사용해, rcs -u (을)를 단지 낮은 레벨의 락 해제의 목적으로 사용하는 것 같은 경우를 위해서(때문에) 준비되어 있습니다.

-nname[:[rev]]
    가지 또는 리버젼 rev 에 상징적명 name (을)를 관련짓습니다. : 도 rev 도 생략 했을 경우, 상징적명 name (은)는 삭제됩니다. name 하지만 벌써 다른 리버젼에 관련지을 수 있고 있었을 경우는 에러가 됩니다. rev 하지만 상징적명의 경우도 name (와)과의 관련짓고는 번호에 의해 행해집니다. 가지 번호에 . (을)를 부가한 것은, 그 가지에서의 최신의 리버젼을 나타냅니다. : 만으로 rev (을)를 생략 했을 경우, 디폴트가지(통상은 간)의 최신의 리버젼을 관련지을 수 있습니다. 예를 들어, rcs -nname: RCS/* (은)는 모든 RCS 파일의 최신의 리버젼에 대해서 상징적명 name (을)를 관련짓습니다. 한편, rcs -nname:$ RCS/* (은)는 각 RCS 파일에 대응한 워크파일중의 키워드에 포함된다 리버젼 번호와 name (을)를 관련짓습니다.

-Nname[:[rev]]
    -n (와)과 같게 동작합니다. 다만, 같다 name 하지만 다른 리버젼에 관련지을 수 있고 있어도 에러라고는 하지 못하고, 관련짓고를 다시 합니다.

-orange
    range 그리고 지정한 리버젼을 삭제합니다. range 하지만 다만 1 개의 리버젼 번호라면, 그 리버젼을 삭제합니다. range 에 가지 번호가 포함되면, 그 가지의 최신의 리버젼을 삭제합니다. rev1:rev2 형식의 범위 지정에서는, 같은 지상의 rev1 (으)로부터 rev2 까지의 모든 리버젼이 삭제됩니다. :rev (은)는 가지의 개시부터 rev 까지의 리버젼을, rev: (은)는 같은 지상의 rev 이후의 리버젼의 모든 것을 삭제합니다. 삭제되는 리버젼에 락이나 가지가 있어서는 안됩니다.

-q  진단 메세지는 표시되지 않습니다.

-I  대화 모드로 동작합니다. 비록 표준 입력이 단말이 아니어도, 유저에 대해서 문의를 실시합니다.

-sstate[:rev]
    리버젼 rev 상태를 state (으)로 합니다. rev 하지만 가지 번호라면, 그 가지의 최신의 리버젼 상태를 변경합니다. rev 하지만 생략 되었다면, 디폴트가지의 최신 리버젼을 변경합니다. state (으)로서는 자유로운 식별자를 지정할 수 있습니다. 일반적으로 이용되는 식별자로서는, Exp (experimental: 실험적), Stab (stable: 안정된), Rel (released: 릴리스 한)(이)가 있습니다. 디폴트에서는, ci(1) (은)는 상태를 Exp (으)로 합니다.

-t[file]
    RCS 파일의 내용 기술 텍스트를 파일 file 의 내용으로 치환합니다. 벌써 존재하고 있던 내용 기술은 삭제됩니다. 파일명은 - 그리고 시작되어서는 안됩니다. file 하지만 생략 되었을 경우, 텍스트는 표준 입력으로부터 읽혀 파일 종단 또는 . 만을 포함한 행으로 종료합니다. 가능하면, 텍스트의 입력을 재촉하는 prompt가 표시됩니다( -I 옵션의 항을 참조). -i 옵션을 지정하면(자), -t 옵션이 지정되어 있지 않아도 내용 기술 텍스트의 입력을 요구합니다.

-t-string
    RCS 파일의 내용 기술 텍스트를 캐릭터 라인 string 그리고 치환합니다. 벌써 존재하고 있던 내용 기술은 삭제됩니다.

-T  리버젼이 삭제되지 않는 이상 RCS 파일의 변경 시각을 보존합니다. 이 옵션을 사용하는 것으로, RCS 파일안의 워크파일의 카피에 의해 발생한다 make(1) 의 의존관계(dependencies)에 수반할 필요 이상의 재컴파일을 막을 수가 있습니다. 이 옵션을 사용하려면 주의가 필요합니다. 정말로 재컴파일이 필요한 경우에도 재컴파일 되지 않는 경우가 생깁니다. 즉, RCS 파일에의 변경이 워크파일중의 키워드의 변경을 의미하는 경우가 있기 때문입니다.

-V  RCS 시스템의 버젼 번호를 표시합니다.

-Vn RCS 시스템의 버젼 n 의 에뮬레이션을 실시합니다. 자세한 것은 co(1) (을)를 참조해 주세요.

-xsuffixes
    RCS 파일 확장자(extension)를 suffixes (으)로 지정합니다. 자세하게는 ci(1) (을)를 참조해 주세요.

-zzone
    디폴트의 타임 존으로서 zone (을)를 사용합니다. 이 옵션은 아무 효과도 없습니다. 다른 RCS 명령와의 호환성을 유지한다 위해(때문에) 존재합니다.

rcs 명령의 장래 예정되어 있는 확장과의 호환성을 유지하려면 , 적어도 하나의 옵션을 명시적으로 지정할 필요가 있습니다.

호환성
-brev 옵션을 지정하면(자), RCS 버젼 3 이전으로는 처리할 수 없는 RCS 파일이 생성됩니다.

-ksubst 옵션( -kkv (을)를 제외한다)를 지정하면(자), RCS 버젼 4 이전으로는 처리할 수 없는 RCS 파일이 생성됩니다.

버젼 n 의 RCS 로 처리할 수 있는 RCS 파일을 생성하기 위해서 rcs -Vn (을)를 이용할 수가 있습니다. 이것에 의해, 버젼 n 그리고 처리할 수 없는 정보를 삭제할 수가 있습니다.

버젼 5.5 이전의 RCS 는 -x 옵션을 서포트하지 않습니다. RCS 파일의 확장자(extension)로서는 , v 하지만 이용됩니다.

관련 파일
rcs 하 ci(1) (와)과 거의 같은 파일군에게 액세스 합니다. 다만, 액세스는 모두 실효 유저 ID 에 의해 행해집니다. 또, 워크파일이나 그 디렉토리에는 기입을 실시하지 않습니다. 리버젼 번호로서 $ (을)를 지정했을 경우를 제외해, 워크파일을 읽는 일도 없습니다.

환경 변수

RCSINIT
    명령행 인수에 앞서 주어지는 옵션을 지정합니다. 각 옵션은 공백에서 단락지어 지정합니다. 자세하게는 ci(1) (을)를 참조해 주세요.

진단
RCS 파일명 및 하나 낡은(outdated) 리버젼 번호가 진단 출력으로서 표시됩니다. 모든 처리가 성공했을 경우에 한정해 종료 스테이터스 0 을 돌려줍니다.

저자
Author: Walter F. Tichy.
Manual Page Revision: ; Release Date: .
Copyright © 1982, 1988, 1989 by Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

관련 항목
rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.

버그
시스템 크래쉬등의 대참사가 있으면(자), RCS 는 semaphore 파일을 남겨 버리기 (위해)때문에, 후에 RCS 를 실행하려고 하면(자), RCS 파일이 사용중이라고 경고합니다. 이것을 고치려면 semaphore 파일을 소거할 필요가 있습니다. 통상, semaphore 파일명전은 , 그리고 시작되는지, _ 그리고 종료합니다.

이전의 판의 rcs 그럼 -o 옵션에 있어서의 리버젼의 단락은 : (은)는 아니고 - (이었)였습니다. 그러나, 이것은 상징적명이 - (을)를 포함하고 있을 때 혼란을 일으킵니다. 종래의 판과의 호환성이기 때문에 rcs -o 하 - (을)를 이용한 기법도 서포트합니다만, 이 기법을 이용했을 경우는 경고 메세지를 표시합니다.

상징적명이 가리키고 있는 리버젼이 존재한다고는 할 수 없습니다. 예를 들면, -o 옵션에 의해 리버젼이 삭제되어도 그것을 가리키는 상징적명은 삭 제 되지 않고 남아 있습니다. 상징적명을 삭제하려면 -n 옵션을 이용할 필요가 있습니다.