매뉴얼

키워드 대체

소스 및 대상 파일이 제공되면 SubWCRev는 소스를 대상으로 복사하며 다음과 같이 키워드를 대체합니다

표 6.3. 사용 가능한 키워드 목록

키워드설명
$WCREV$작업 복사본에서 가장 높은 커밋 리비전으로 대체됩니다.
$WCREV&$작업 복사본에서 가장 높은 커밋 리비전으로 대체되며, & 문자 뒤의 값과 AND 연산됩니다. 예: $WCREV&0xFFFF$
$WCREV-$, $WCREV+$작업 복사본에서 가장 높은 커밋 리비전으로 대체되며, + 또는 - 문자 뒤의 값이 추가되거나 빼집니다. 예: $WCREV-1000$
$WCDATE$, $WCDATEUTC$가장 높은 커밋 리비전의 커밋 날짜/시간으로 대체됩니다. 기본적으로 국제 형식이 사용됩니다: yyyy-mm-dd hh:mm:ss. 또는, strftime()과 함께 사용될 사용자 지정 형식을 지정할 수 있습니다. 예: $WCDATE=%a %b %d %I:%M:%S %p$. 사용 가능한 형식 문자 목록은 온라인 참조 에서 확인할 수 있습니다.
$WCNOW$, $WCNOWUTC$현재 시스템 날짜/시간으로 대체됩니다. 이는 빌드 시간을 나타내는 데 사용될 수 있습니다. 시간 형식 지정은 $WCDATE$에 대해 설명된 대로 사용할 수 있습니다.
$WCRANGE$작업 복사본의 업데이트 리비전 범위로 대체됩니다. 작업 복사본이 일관된 상태인 경우, 단일 리비전이 됩니다. 작업 복사본에 오래되었거나 의도적인 리비전 업데이트로 인해 혼합된 리비전이 포함된 경우, 범위는 100:200 형식으로 표시됩니다.
$WCMIXED$ 업데이트 리비전이 혼합되어 있으면 $WCMIXED?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCMODS$ 로컬 수정 사항이 있으면 $WCMODS?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCUNVER$ 작업 복사본에 버전 관리되지 않는 항목이 있으면 $WCUNVER?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCEXTALLFIXED$ 모든 외부 항목이 명시적 리비전에 고정되어 있으면 $WCEXTALLFIXED?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCISTAGGED$ 저장소 URL에 태그 분류 패턴이 포함되어 있으면 $WCISTAGGED?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCURL$SubWCRev에 전달된 작업 복사본 경로의 저장소 URL로 대체됩니다.
$REPOROOT$저장소 루트의 URL로 대체됩니다.
$WCINSVN$ 항목이 버전 관리되면 $WCINSVN?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCNEEDSLOCK$ 항목에 svn:needs-lock 속성이 설정되어 있으면 $WCNEEDSLOCK?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCISLOCKED$ 항목이 잠겨 있으면 $WCISLOCKED?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.
$WCLOCKDATE$, $WCLOCKDATEUTC$잠금 날짜로 대체됩니다. 시간 형식 지정은 $WCDATE$에 대해 설명된 대로 사용할 수 있습니다.
$WCLOCKOWNER$잠금 소유자의 이름으로 대체됩니다.
$WCLOCKCOMMENT$잠금의 주석으로 대체됩니다.
$WCUNVER$ 작업 복사본에 버전 관리되지 않는 파일이나 폴더가 있으면 $WCUNVER?TText:FText$TText로 대체되고, 그렇지 않으면 FText로 대체됩니다.


SubWCRev는 표현식 중첩을 직접 지원하지 않으므로 예를 들어 다음과 같은 표현식을 사용할 수 없습니다

#define SVN_REVISION    "$WCMIXED?$WCRANGE$:$WCREV$$"
      

하지만 보통 다른 방법으로 해결할 수 있습니다. 예를 들어

#define SVN_RANGE       $WCRANGE$
#define SVN_REV         $WCREV$
#define SVN_REVISION    "$WCMIXED?SVN_RANGE:SVN_REV$"
      

이 키워드 중 일부는 전체 작업 복사본이 아닌 단일 파일에 적용되므로, SubWCRev가 단일 파일을 스캔하도록 호출될 때만 사용하는 것이 합리적입니다. 이는 $WCINSVN$, $WCNEEDSLOCK$, $WCISLOCKED$, $WCLOCKDATE$, $WCLOCKOWNER$$WCLOCKCOMMENT$에 적용됩니다.

TortoiseSVN 홈페이지

한국어 中文