UVCS 연동
MergeSight를 Unity Version Control과 연동하는 방법
MergeSight는 Unity Version Control changeset과 merge conflict에 Unity 문맥을 더합니다. 원시 YAML 줄 대신 GameObject, component, hierarchy, reference, prefab override를 확인한 뒤 결과를 기록할 수 있습니다.
MergeSight가 지원하는 UVCS workflow
일반 review에서는 특정 UVCS changeset 또는 현재 workspace를 불러와 선택한 revision을 비교합니다. Conflict review에는 동일한 충돌에서 나온 완전한 Base, Ours, Theirs 입력이 필요합니다. UVCS는 계속 history와 workspace의 source of truth이고, MergeSight는 의미 기반 검토와 제어된 쓰기를 담당합니다.
- Changeset review: 두 revision의 차이를 Unity object로 확인합니다.
- Workspace review: check-in 또는 merge 전에 로컬 변경을 검토합니다.
- Conflict resolution: Base/Ours/Theirs를 분류하고 preview와 validation을 수행합니다.
Unity changeset을 의미 기반으로 비교하기
Text diff는 어떤 YAML 줄이 바뀌었는지는 보여주지만, 그 변경이 GameObject 이동인지, component 삭제인지, reference 교체인지, prefab override 수정인지는 설명하지 않습니다. MergeSight는 변경을 Unity 구조에 연결하고 GUID와 fileID를 reference context로 표시합니다.
비교에는 구체적인 changeset ID를 사용하세요. 그래야 팀과 CI가 같은 revision을 다시 검증할 수 있습니다.
직접 로드와 external merge wrapper
UVCS client가 완전한 Base, Ours, Theirs 파일을 제공하면 세 버전을 MergeSight에서 직접 열 수 있습니다. External merge command가 필요한 구성에서는 wrapper가 임시 파일과 결과 경로를 MergeSight에 전달합니다.
두 방식은 대안이지 두 단계의 merge가 아닙니다. 서로 다른 workspace 상태에서 파일을 수동으로 모으지 말고, 동일한 conflict에서 생성된 세 입력을 사용해야 합니다.
5단계 설정
- Unity에서 Force Text serialization과 Visible Meta Files를 활성화합니다.
- UVCS CLI를 설치하고
cm status로 workspace를 확인합니다. - Unity에서 Tools > MergeSight > VCS Integration Setup을 엽니다.
- Unity Version Control을 감지하고 review 및 merge workflow를 설정합니다.
- 테스트 changeset과 의도적으로 만든 scene conflict로 revision, preview, validation을 점검합니다.
요구 사항과 안전 경계
| 영역 | 요구 사항 | 동작 |
|---|---|---|
| Asset | Text serialized .unity, .prefab, .asset, .mat | Unity-aware review |
| UVCS | 유효한 workspace와 사용 가능한 cm CLI | UVCS에서 changeset과 revision 로드 |
| Merge | 완전한 Base/Ours/Theirs | 모호하거나 불완전한 입력을 추측하지 않음 |
| Apply | 모든 blocking decision 해결 | 쓰기 전후 preview, backup, validation |
MergeSight는 UVCS나 Smart Locks를 대체하지 않습니다. Lock 밖에서 병렬 변경이 생겼거나 실제로 내용을 합쳐야 할 때 기존 workflow를 보완합니다.
자주 묻는 질문
MergeSight는 Unity Version Control을 직접 지원하나요?
예. Unity Version Control / Plastic SCM workspace를 감지하고 changeset review와 완전한 Base/Ours/Theirs를 사용하는 3-way workflow를 지원합니다. 로컬 UVCS CLI가 필요합니다.
MergeSight가 UVCS merge client를 대체하나요?
아니요. UVCS는 workspace, branch, changeset, lock을 계속 관리합니다. MergeSight는 conflict review에 Unity-aware context, preview, validation을 추가합니다.
두 UVCS changeset 사이의 Unity scene을 비교할 수 있나요?
예. 구체적인 changeset ID를 선택하면 GameObject, component, hierarchy, property, reference 변경을 재현 가능한 방식으로 비교할 수 있습니다.
Smart Locks와 함께 사용할 수 있나요?
예. Smart Locks는 선택한 asset의 병렬 편집을 예방하고, MergeSight는 lock 규칙 밖에서 발생한 변경의 review와 conflict resolution을 돕습니다.
모든 conflict가 자동으로 해결되나요?
아니요. Engine이 안전하다고 분류한 decision만 자동 적용할 수 있습니다. 모호한 mapping과 위험한 구조 변경은 명시적 검토가 끝날 때까지 쓰기를 차단합니다.
핵심 정리
UVCS가 source of truth
MergeSight는 기존 changeset, branch, lock workflow에 Unity-aware review를 추가합니다.
구체적인 revision 사용
Changeset ID를 고정하면 팀과 CI가 동일한 비교를 재현할 수 있습니다.
쓰기 전에 검토
Base/Ours/Theirs, preview, backup, validation으로 조용한 asset 손상을 줄입니다.