Wiki
배포
경로 패턴에 따라 소스 저장소에서 대상 저장소로 파일(플러그인, 공유 콘텐츠)을 복사합니다. 게시, 리매핑, 잠금은 건너뜁니다.
소개
배포는 경로 패턴으로 제한하여 소스 저장소에서 대상 저장소로 파일(플러그인, 공유 콘텐츠 팩)을 복사합니다. 대상에 새 리비전을 생성하므로, 평소의 증분 동기화가 클라이언트로 콘텐츠를 전파합니다. 이는 수동 복사·붙여넣기 없이 동일한 플러그인을 여러 프로젝트 간에 공유하는 방법입니다.
접근과 역할
manage_rules 역량이 필요하며, 이는 서버
전체에 걸쳐 admin 과 lead 가 보유합니다. 어떤 역량도 보유하지 않는
project_admin 은 접근할 수 없습니다. 반면 lead 는 임의의 저장소를
다른 임의의 저장소에 연결할 수 있습니다.
링크 만들기
- Distribution 탭 → New Link.
- Source Repository: 파일이 나오는 저장소.
- Target Repository: 대상 저장소(선택한 소스는 목록에서 제거됩니다. 소스와 대상은 동일할 수 없습니다).
- Path Patterns: 한 줄에 하나의 패턴(예:
Plugins/MyPlugin/,Content/SharedAssets/). 최소 하나가 필요합니다. - Create Link 로 확정합니다.
동일한 두 저장소 사이에 이미 존재하는 링크는 거부됩니다(충돌). 각 행은
source → cible, 해당 패턴, 만든 사람, 마지막 게시 날짜를 표시합니다.
경로 패턴
패턴은 경로의 어딘가에 나타나면 해당 경로와 일치합니다(「포함」 방식 검색).
따라서 Plugins/uVersion 패턴은 프로젝트 접두사와 관계없이
DefaultProject/Plugins/uVersion/Source/Foo.cpp 와 일치합니다. 끝의 슬래시는 아무것도 바꾸지
않습니다.
게시하기
각 링크에 대해 세 가지 작업이 있습니다:
- Show pending files(파일 아이콘): 차이가 나는 파일을 new, modified 또는 locked 로 표시하고 해당 리비전과 함께 나열합니다.
- Publish history(시계): 최근 50개의 게시(업데이트/건너뜀 개수, 실행자, 시각).
- Publish(전송): 복사를 실행합니다. 배너에 「소스 파일 X개 발견, Y개 업데이트, Z개 건너뜀 (잠김), W개 변경 없음」이 요약됩니다. 링크가 비활성이면 비활성화됩니다.
대상에서 잠긴 파일은 덮어쓰지 않고 건너뜁니다. 내용이 동일한 (같은 해시) 파일은 변경 없음으로 계산되어 건너뜁니다. 게시는 원자적입니다(단일 트랜잭션).
링크를 활성화 / 비활성화하거나 삭제할 수도 있습니다.
리매핑과 리비전
경로는 대상에 맞게 재작성됩니다: 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 은 자신의
저장소에서도 접근할 수 없습니다.