> iPhone-iPad, Objective-C > XCode에서 SCM(SVN)을 사용할 때를 위한 팁…

XCode에서 SCM(SVN)을 사용할 때를 위한 팁…

XCode와 SVN이 잘 궁합이 맞지 않는 것 처럼 느껴질 때가 많습니다.
그래서, 이런 저런 궁리를 하면서 찾은 정보를 아래 지속적으로 업데이트하고 있습니다. 물론, SVN에 대해 전체적인 기능을 모두 알고 계신 분들은 필요 없으리라 생각됩니다.
그러나, 간단하게 처리하는 경우 활용할 수 있어 공유합니다. (혹시, 모르니 아래 작업을 하실 경우 안정된 소스는 반드시 백업 후 진행하세요.)

* SVN 관련 팁 모음

XCode-Repositories과 SVN을 이용해서 소스 형상관리를 하는 경우 상황에 따라 update나 commit이 안되는 경우가 발생합니다.
이런 경우에 터미널 명령을 이용해서 대처하는 방안을 정리해 보았습니다.
문제가 되는 파일이 중요한 파일인 경우 백업 후 update를 하는 것이 좋겠습니다. (아래 내용은 필요에 따라 누구나 내용 변경하셔도 됩니다.)

* 상황별 조치 *
상황 1. XCode Organizer에서 update 가 안되는 경우
– 터미널에서 진행
1) 터미널에서 해당 폴더로 이동한다.
2) svn update 실행. -> 양쪽 모두를 수용하는 경우는 resolved(r)을 입력.

상황 2. svn commit 이 안되는 경우
– 터미널에서 진행
1) 터미널에서 해당 폴더로 이동한다.
2) svn commit 실행.
> 에러 발생하는 경우. SVN_EDITOR 설정이 필요한 경우.
export SVN_EDITOR=/usr/bin/vim 설정
svn commit 실행
— vi editor에서 변경내용 확인 후 :q로 빠져나오면 다음 액션 메시지 보임. continue로 계속 진행

* ignore 패턴 넣기 *

1. 개별적으로 넣기
svn의 무시하는 패턴을 넣는 방법
svn propset svn:ignore [pattern] [target]
예) xcuserdata 를 무시하기 위해서 현재 xcuserdata를 가지고 있는 폴더 인 경우
svn propset svn:ignore xcuserdata . <- target인 .을 빼면 안 됩니다.
svn propset -R svn:ignore xcuserdata . <- 하위 폴더 모두를 무시할 경우 -R 옵션
참고] XCode4 이상 버전에서는 [ProjectName].xcodeproj/xcuserdata/* 와 [ProjectName].xcodeproj/project.xcworkspace/xcuserdata/* 를 무시해야 합니다.

2. 글로벌 영역에 넣기
1) 자신의 홈폴더의 .subversion/config 파일을 에디터에서 오픈합니다.
2) .subversion/config 파일의 global-ignores 항목에 무시할 패턴을 넣습니다.
예) global-ignores = *.o *.lo build xcuserdata .DS_Store
3) 파일 저장 후 다시 Check-In 작업을 수행합니다.

참고로 찾은 .svn 삭제 방법입니다.
[원문] http://goo.gl/fqq5s
[내용]
토토이즈 SVN을 사용하다 보면, .svn 디렉토리를 삭제가 필요할 때가 있습니다.
프로그램을 짧가 하다가, 쉘에서 아주 간단하게 처리하는 방법이 있군요.

]$ find . -name .svn -print0 | xargs -0 rm -rf

pint0와 xarts-0 의 0는 모두 숫자 0(Zero) 입니다. 서브디렉토리까지 알아서 찾아 가면서
모두 삭제해 줍니다. ^^

카테고리:iPhone-iPad, Objective-C 태그:, , ,
  1. 원터치
    2012/08/02 16:25

    매우 유용하네요. 퍼갑니다~~

  1. No trackbacks yet.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: