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
- 저장소에 있는 항목 텍스트의 상태입니다.
update
가true
로 설정된 경우에만 정확합니다. 가능한 값은 status constants를 참조하십시오. - prop_status
- 항목 속성의 상태입니다. 가능한 값은 status constants를 참조하십시오.
- repos_prop_status
- 저장소에 있는 항목 속성의 상태입니다.
update
가true
로 설정된 경우에만 정확합니다. 가능한 값은 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의 향후 릴리스에서 예고 없이 변경될 수 있습니다. 이 함수는 사용자의 책임하에 사용해야 합니다.
기타
- svn_update() - 작업 사본 업데이트
- svn_log() - 저장소 URL의 커밋 로그 메시지를 반환합니다.
- » SVN documentation for svn status