Subversion svn_status

(PECL svn >= 0.1.0)

svn_status — 작업 복사본 파일 및 디렉터리의 상태를 반환합니다.


설명

svn_status(string $path, int $flags = 0): array

작업 복사본 파일 및 디렉터리의 상태를 반환하여 작업 복사본의 항목에 수정, 추가, 삭제 및 기타 변경 사항을 제공합니다.


매개변수

path
상태를 검색할 파일 또는 디렉토리의 로컬 경로입니다.

참고: 상대 경로는 현재 작업 디렉터리가 PHP 바이너리가 포함된 디렉터리인 것처럼 확인됩니다. 호출 스크립트의 작업 디렉토리를 사용하려면 realpath() 또는 dirname(__FILE__)을 사용하십시오.

flags
Svn::NON_RECURSIVE, Svn::ALL(수정 상태에 관계 없이), Svn::SHOW_UPDATES(오래된 항목에 대해 항목이 추가됨), Svn::NO_IGNORE(다음 경우 svn:ignore 속성 무시) 새 파일 검색) 및 Svn::IGNORE_EXTERNALS.

반환 값

저장소에 있는 항목의 상태를 자세히 설명하는 연관 배열의 숫자로 인덱스된 배열을 반환합니다.

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)
                

항목에 대한 정보는 다음 키를 포함할 수 있는 연관 배열입니다.

path
로컬 파일 시스템에서 이 항목의 파일/디렉토리에 대한 문자열 경로입니다.
text_status
항목 텍스트의 상태입니다. 가능한 값은 status constants를 참조하십시오.
repos_text_status
저장소에 있는 항목 텍스트의 상태입니다. updatetrue로 설정된 경우에만 정확합니다. 가능한 값은 status constants를 참조하십시오.
prop_status
항목 속성의 상태입니다. 가능한 값은 status constants를 참조하십시오.
repos_prop_status
저장소에 있는 항목 속성의 상태입니다. updatetrue로 설정된 경우에만 정확합니다. 가능한 값은 status constants를 참조하십시오.
locked
항목이 잠겨 있는지 여부입니다. (true인 경우에만 설정됩니다.)
copied
항목이 복사되었는지 여부(기록과 함께 추가 예약됨). (true인 경우에만 설정됩니다.)
switched
switch 명령을 사용하여 항목을 전환했는지 여부입니다. (true인 경우에만 설정)

이 키는 항목의 버전이 지정된 경우에만 설정됩니다.

name
저장소에 있는 항목의 기본 이름입니다.
url
저장소에 있는 항목의 URL입니다.
repos
저장소의 기본 URL입니다.
revision
작업 복사본에 있는 항목의 정수 개정입니다.
kind
항목 유형(예: 파일 또는 디렉토리). 가능한 값은 type constants를 참조하십시오.
schedule
항목에 대한 예약된 작업(예: 추가 또는 삭제)입니다. 이러한 매직 넘버에 대한 상수는 사용할 수 없으며 다음을 사용하여 에뮬레이트할 수 있습니다.
                         
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nothing special
    define('svn_wc_schedule_add',     1); // item will be added
    define('svn_wc_schedule_delete',  2); // item will be deleted
    define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
                         
                       
deleted
항목이 삭제되었지만 상위 개정이 뒤처져 있는지 여부입니다. (true인 경우에만 설정됩니다.)
absent
항목이 없는지 여부, 즉 Subversion은 거기에 있어야 하지만 없는 항목이 있다는 것을 알고 있습니다. (true인 경우에만 설정됩니다.)
incomplete
디렉토리에 대한 항목 파일이 불완전한지 여부. (true인 경우에만 설정됩니다.)
cmt_date
마지막 커밋 날짜의 정수 Unix 타임스탬프입니다. (update의 영향을 받지 않습니다.)
cmt_rev
마지막 커밋의 정수 버전입니다. (update의 영향을 받지 않습니다.)
cmt_author
마지막 커밋의 문자열 작성자입니다. (update의 영향을 받지 않습니다.)
prop_time
속성에 대한 마지막 최신 시간의 정수 Unix 타임스탬프
text_time
텍스트에 대한 마지막 최신 시간의 정수 Unix 타임스탬프

Examples

예제 #1 기본 예

이 예제는 이 함수의 기본적이고 이론적인 사용법을 보여줍니다.

                  
<?php
print_r(svn_status(realpath('wc')));
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)
                

메모

경고 이 함수는 실험적입니다. 이 함수의 동작, 해당 이름 및 주변 문서는 PHP의 향후 릴리스에서 예고 없이 변경될 수 있습니다. 이 함수는 사용자의 책임하에 사용해야 합니다.


기타