Plastic SCM 통합
스마트 병합(Smart Merge)

Unity 에서 외부 버전 관리 시스템 사용

Unity 는 프로젝트의 쉬운 통합 버전 관리를 위해 에셋 서버 애드온 제품을 제공하며, PerforcePlasticSCM을 외부 툴로 사용할 수도 있습니다(자세한 내용은 버전 관리 통합 참조). 특정한 이유로 이러한 시스템을 사용할 수 없는 경우 Subversion 또는 Bazaar 와 같은 다른 버전 관리 시스템에 프로젝트를 저장할 수 있습니다. 이를 위해서는 프로젝트의 초기 수동 설정이 필요합니다.

프로젝트를 확인하기 전에 Unity 에서 외부 버전 관리 시스템에 저장 에셋을 호환시키기 위해 프로젝트 구조를 약간 변경해야 합니다. 애플리케이션 메뉴에서 Edit->Project Settings->Editor 를 선택하거나 버전 관리를 위해 드롭다운에서 Visible Meta Files 를 선택하여 실행됩니다. Unity 에 요구되는 필수 부가 정보를 포함한 Assets 디렉토리에 모든 에셋의 텍스트 파일을 표시합니다. 관련된 에셋의 전체 파일 이름 중 첫 부분에 .meta 파일 확장자를 포함합니다. Unity 에서 에셋을 이동하거나 이름을 변경하면 관련된 .meta 파일 또한 업데이트해야 합니다. 외부 툴에서 에셋을 이동하거나 이름을 변경하는 경우에도 관련된 .meta 파일의 동기화를 확인해야 합니다.

버전 관리 시스템에서 프로젝트를 검사할 때 시스템에 AssetsProjectSettings 디렉토리를 추가해야 합니다. 여기서 Library 디렉토리는 완전히 무시해야 합니다. 이 디렉토리는 .meta 파일을 사용할 때 활용되는 임포트된 에셋의 로컬 캐시이기 때문입니다.

새로운 에셋을 생성할 때 에셋 자체와 관련된 .meta 파일 모두 버전 관리에 추가됐는지 확인해야 합니다.

예제: 새 프로젝트를 생성하여 하위버전 저장소에 임포트.

먼저 svn://my.svn.server.com/에 하위버전 저장소가 있으며 svn://my.svn.server.com/MyUnityProject에 프로젝트를 생성하려 한다고 가정합니다. 그런 다음, 시스템에서 초기 임포트를 생성하려면 다음 단계를 따라야 합니다.

  1. Unity 에 새 프로젝트를 생성하고 InitialUnityProject로 명명합니다. 여기에 초기 에셋을 추가하거나 추후에 추가할 수 있습니다.

  2. Edit->Project Settings->Editor 에서 Visible Meta files 를 활성화해야 합니다.

  3. Unity 를 종료해야 합니다. 파일이 모두 저장되었는지 확인할 수 있습니다.

  4. 프로젝트 디렉토리 내부의 Library 디렉토리를 삭제해야 합니다.

  5. 하위버전에 프로젝트 디렉토리를 임포트해야 합니다. 커맨드 라인 클라이언트를 사용하는 경우 초기 프로젝트가 위치한 디렉토리에서 이와 같이 실행됩니다. svn import -m"Initial project import" InitialUnityProject svn://my.svn.server.com/MyUnityProject 성공하는 경우 프로젝트를 하위버전으로 임포트해야 하며 원하는 경우 InitialUnityProject 디렉토리를 삭제할 수 있습니다.

  6. 하위버전에서 프로젝트를 다시 확인해야 합니다. svn co svn://my.svn.server.com/MyUnityProject 그리고 AssetsProjectSettings 디렉토리의 버전이 확인되었는지 확인해야 합니다.

  7. Option 또는 왼쪽 Alt 키를 누른 채 실행하여 Unity 에 확인된 프로젝트를 엽니다. 프로젝트를 열면 위 4 단계의 Library 디렉토리가 재생성됩니다.

  8. 선택 사항: 버전이 확인되지 않은 Library 디렉토리에 대해 필터 무시를 설정합니다. svn propedit svn:ignore MyUnityProject/ 하위버전에서는 텍스트 에디터가 열릴 것입니다. Library 디렉토리를 추가해야 합니다.

  9. 마지막으로 변경을 적용합니다. 이제 프로젝트를 설정하고 준비해야 합니다. svn ci -m"Finishing project import" MyUnityProject

Plastic SCM 통합
스마트 병합(Smart Merge)