Wiki
배포
경로 패턴에 따라 소스 저장소에서 대상 저장소로 파일(플러그인, 공유 콘텐츠)을 복사합니다. 게시, 리매핑, 잠금은 건너뜁니다.
소개
배포는 경로 패턴으로 제한하여 소스 저장소에서 대상 저장소로 파일(플러그인, 공유 콘텐츠 팩)을 복사합니다. 대상에 새 리비전을 생성하므로, 평소의 증분 동기화가 클라이언트로 콘텐츠를 전파합니다. 이는 수동 복사·붙여넣기 없이 동일한 플러그인을 여러 프로젝트 간에 공유하는 방법입니다.
접근과 역할
manage_rules 역량이 필요하며, 이는 서버
전체에 걸쳐 admin 과 lead 가 보유합니다. 어떤 역량도 보유하지 않는
project_admin 은 접근할 수 없습니다. 반면 lead 는 임의의 저장소를
다른 임의의 저장소에 연결할 수 있습니다.
링크 만들기
1. Distribution 탭 열기
Distribution 탭은 SERVER 행에 있습니다: 링크는 두 저장소를 연결하므로 PROJECT 행에서 선택한 저장소에 의존하지 않습니다. 오른쪽 위의 + New Link 를 클릭하면 New Distribution Link 창이 열립니다.
2. 소스, 대상, 경로 선택하기
Source Repository 는 파일이 나오는 저장소이고, Target Repository 는 대상
저장소입니다: 선택한 소스는 대상 목록에서 사라지며, 링크는 자기 자신으로 되돌아올 수 없습니다.
Path Patterns 는 한 줄에 하나의 패턴을 받으며(예:
Plugins/MyPlugin/, Content/SharedAssets/), 최소 하나가 필요합니다: 패턴이 없으면
아무것도 복사되지 않습니다.
3. Create Link 로 확정하기
링크가 즉시 목록에 나타납니다. 동일한 두 저장소 사이에 이미 존재하는 링크는 거부됩니다(충돌): 두 번째를 만들기보다 기존 것을 편집하세요.
경로 패턴
패턴은 경로의 어딘가에 나타나면 해당 경로와 일치합니다(「포함」 방식 검색).
따라서 Plugins/uVersion 패턴은 프로젝트 접두사와 관계없이
DefaultProject/Plugins/uVersion/Source/Foo.cpp 와 일치합니다. 끝의 슬래시는 아무것도 바꾸지
않습니다.
게시하기
1. 링크와 그 작업 찾기
각 링크는 목록에서 한 행을 차지합니다: source → cible, 알약 모양으로 표시된 해당 패턴, 만든 사람,
그리고 마지막 게시 날짜. 작업은 행의 오른쪽에 모여 있습니다: Show pending files(파일 아이콘),
Publish history(시계), Publish, 링크를 활성화하거나 비활성화하는 스위치,
그리고 삭제.
2. 무엇이 나갈지 확인하기
Show pending files 는 행 아래에 차이가 나는 파일 목록을 해당 소스 리비전과 함께 펼치고, 제목에 총계를 표시합니다(Pending Files (N)). 각 파일은 자신의 상태를 지닙니다: new, modified 또는 locked. 모두 최신이면 패널이 그렇게 알려줍니다.
3. 게시하기
Publish 버튼이 복사를 실행합니다. 초록색 배너에 「Published: X source files found, Y updated, Z skipped (locked), W unchanged」가 요약됩니다. 링크가 비활성인 동안에는 버튼이 비활성화되며, 비활성 링크를 게시하면 명시적인 오류가 반환됩니다.
대상에서 잠긴 파일은 덮어쓰지 않고 건너뜁니다. 내용이 동일한 (같은 해시) 파일은 변경 없음으로 계산되어 건너뜁니다. 게시는 원자적입니다(단일 트랜잭션).
Publish history(시계)는 그다음 최근 50개의 게시를 보여줍니다: 업데이트되고 건너뛴 파일 수, 실행자, 그리고 시각.
리매핑과 리비전
경로는 대상에 맞게 재작성됩니다: uVersion 은 일치한 패턴 앞부분을 제거한 다음, 대상에서 감지된
접두사를 추가합니다. 예: 소스 DefaultProject/Plugins/uVersion/foo.cpp, 패턴
Plugins/uVersion, 대상 접두사 CineDroneStudio/ →
CineDroneStudio/Plugins/uVersion/foo.cpp. 대상 접두사는 대상의 기존 파일에서 추론됩니다(프로젝트
하위 폴더가 있거나 없는 저장소를 모두 처리).
흔한 함정
「Publish」가 회색으로 표시됨
링크가 비활성 상태입니다. 먼저 활성화하세요. 비활성 링크를 게시하면 명시적인 오류가 반환됩니다.
대상에서 파일이 업데이트되지 않음
대상 쪽에서 잠겨 있거나(이 경우 건너뛰고 「locked」로 계산됩니다), 내용이 이미 동일합니다(「unchanged」로 계산됩니다). 게시 요약과 pending files 목록을 확인하세요.
project_admin 이 탭을 보지 못함
의도된 것입니다: 배포에는 manage_rules(admin 또는 lead)가 필요합니다. project_admin 은 자신의
저장소에서도 접근할 수 없습니다.