2012-05-22 4 views
1

svn을 사용하기 위해 Xcode 저장소를 사용합니다. 오늘 새 버전을 핵심 데이터 모델에 추가하고 커밋하려고했습니다. 그러나 엑스 코드 오류를 :코어 데이터 버전 관리 및 SVN

svn: Commit failed (details follow): 
svn: Entry for '/Users/user/Desktop/project/Core Data/Translator.xcdatamodeld/Translator 2.0.xcdatamodel/contents' is marked as 'copied' but is not itself scheduled 
for addition. Perhaps you're committing a target that is 
inside an unversioned (or not-yet-versioned) directory? 

나는 문제가 있음을 생각 SVN treates xcdatamodel 돌더로, 그리고 그것이 더 이상 버전 제어에서의 케이 변경되기 때문이다. 하지만 어떻게해야합니까? 새 모델을 커밋하지 않고 수동으로 전송하지 마십시오.)

답변

1

Translator.xcdatamodeld 디렉토리의 zip 또는 tar 아카이브를 만드는 subversion 체크 아웃/커밋 훅을 작성한 다음이를 확인하십시오. 실제 xcdatamodeld 디렉토리는 무시됩니다. (압축은 단지 svn이 diff를 계산하고 저장소를 더 크게 만드는 것을 더 어렵게 만들 것이므로 이 아닐 것입니다.)

+0

정말 고맙습니다. –

0

첫 번째 데이터 모델로 시작할 때, 엑스 코드 파일을 생성의 말을하자 메뉴 편집기를 통해

의이 작성한다고 가정 해 봅시다

을 myProject.xcdatamodeld> 모델 버전, _myProject_v2_라는 모델의 두 번째 버전을 추가합니다. 무엇 엑스 코드가 실제로하는 일은이다 : 그것은 원래 모델로라는 이름의 폴더, 복사 하위 폴더의 원래 모델을 만들고, 새로운 버전이 포함 된 파일을 두 번째 하위 폴더 생성 :

myProject.xcdatamodeld 
    | 
    +- myProject.xcdatamodel 
    |   | 
    |   +- contents (a file containing the actual model) 
    | 
    +- myProject_v2.xcdatamodel 
       | 
       +- contents (a file containing the 2nd version of the model) 

그래서 SVN 혼란 도착을 그가 생각하기에 파일 (원래 myProject.xcdatamodeld)이 SVN에 저장되었으므로 이제는 하위 폴더가있는 폴더입니다.

  1. 삭제 폴더 myProject.xcdatamodeld (A)의 커밋 할
  2. SVN
  3. 에서 : 그리고 또한, 이러한 하위 폴더, 엑스 코드에 의해 생성되는, 그래서 내 솔루션입니다 .. 결국 자신의 숨겨진 을 .svn 폴더를 얻는다 나머지
  4. 가까운 엑스 코드 및 폴더 프로젝트 이름을 변경 : 어 : _projectFolder_old_
  5. 을 희망 myProject.xcdatamodeld가되지 않습니다 프로젝트의 체크 아웃을 할
  6. xcode 내에서 이라는 가짜 데이터 모델을 만듭니다. 모델에 아무것도 작성하지 마십시오, 그것은 편집기,
  7. 버전을 쓸모> 모델 버전을 추가
  8. 가까운 엑스 코드 찾기에
  9. 개방 이전 데이터 모델 myProject.xcdatamodeld (마우스 오른쪽 버튼 에서, projectFolder/myProject.xcdatamodeld/m :
  10. Finder에서 열린 원래 모델과 * projectFolder_old/myProject.xcdatamodeld/myProject.xcdatamodel * 새로운 프로젝트에서 내용을 파일을 복사 표시 패키지 내용) yProject.xcdatamodel은 (당신이 당신의 두 번째 버전 패키지 내용보기
  11. 반복의 몇 가지를 할 필요가 * projectFolder_old/MyProject를에서 내용을 파일을 복사합니다.xcdatamodeld/myProject_v2.xcdatamodel * 새로운 프로젝트 : *이 projectFolder/myProject.xcdatamodeld/myProject_v2.xcdatamodel *
  12. 엑스 코드를 다시 열고 이미 추가하지 않을 경우, 파일을 svn을 위해 모든 것이 정확
  13. 추가를 확인하고 할 커밋