2010-01-16 2 views
0

네트워크 디스크 (마운트 됨)에서 Subversion (SVN)을 사용하여 Xcode SCM을 설정하려고합니다. 내 컴퓨터에서 로컬로 SVN 저장소를 설정할 수 있었고 번거 로움없이 모든 것이 원활하게 작동했습니다. Reference Article: Version Control is Your Friend by Jeff LaMarcheXcode 및 SVN (Subversion)을 사용하여 SCM 설정

제 문제는 네트워크 드라이브 (마운트 된)에 SVN을 설치할 수 없다는 것입니다.

cd [mounted_drive]/Users/Shared 
mkdir subversion 
cd subversion 
mkdir HelloWorld 
svnadmin create HelloWorld 
chmod -R 777 HelloWorld 

위의 명령

는 벌금과 주요 Subversion 저장소가 성공적으로 생성 작동합니다. 문제는 기본 SVN 저장소에 하위 폴더 (트렁크, 분기 및 태그)를 만들 수 없다는 것입니다. 내가 위의 svn mkdir 명령을 실행하려고하면

svn mkdir 
file:///[mounted_drive]/Users/Shared/Subversion/HelloWorld/trunk 
file:///[mounted_drive]/Users/Shared/Subversion/HelloWorld/branch 
file:///[mounted_drive]/Users/Shared/Subversion/HelloWorld/tag 

, 나는 다음과 같은 SVN 오류 얻을 : 내가 원격 시스템을 제어하고 기본적으로 위의 명령을 실행하면

"svn: Can't get exclusive lock on file '[mounted_drive]/[subversion_repository_directory]/db/write-lock': Operation not supported"

을, 그것을 작동 및 트렁크 , 분기 및 태그 디렉토리가 작성됩니다. 이 모든 이야기의

"svn: Can't get exclusive lock on file '[mounted_drive]/[subversion_repository_directory]/db/transactions/3-1.txvn/rev-lock': Operation not supported"

요점 :

내가이 저장소 (원격)에에 "가져 오기"코드를하려고하면, 원격 저장소에 엑스 코드의 SCM을 설정 한 후, 엑스 코드는 다음과 같은 오류를 반환 내가 ' 네트워크 드라이브에서 SVN을 설정하는 동안 많은 문제에 직면했습니다. 어떤 도움이라도 대단히 감사하겠습니다.

+0

(위 Yafiyogi의 힌트를 사용)? –

+0

두 가지 모두 효과가 있다고 생각합니다. – Mustafa

답변

3

go read the book. 기다릴게. 진지하게.

아니요은 네트워크 드라이브에 토스하여 공유 저장소를 설정 한 다음 file:///을 통해 공유 저장소를 설정합니다. file:/// 리포지토리에 대한 액세스는 네트워크 파일 시스템의 잠금 의미 (다른 것들 중에서도) 때문에 로컬 디스크에만 사용됩니다.

대신 리포지토리를 유지할 컴퓨터를 선택하십시오. 이 시스템에서 Hezikiah Run svnserve을 호출하여 네트워크에서 저장소를 사용할 수있게하십시오. 저장소에 svn : // hezikia/REPO_NAME으로 액세스하십시오.

The book은 큰 도움이됩니다.

+0

응답 해 주셔서 감사합니다. 실제로 Mac OSX 10.5.x에서 작동하게되었지만 Mac OS 10.4.x에서 설정하고 있습니다. :) 원격 저장소에 액세스하는 가장 좋은 방법은 svn + ssh : //를 사용하는 것입니다. 파일:///. 하지만 지금은 실제로 맥 OSX 10.4에서 svn을 설정하기 위해 붙어있어서 svn + ssh : //를 사용하여 액세스 할 수 있습니다. 새 질문을 게시했습니다. http://stackoverflow.com/questions/2077567/installing-svn-on-mac-os-x-10-4-and-accessing-it-using-svnssh-url – Mustafa

+0

Mac OS X 10.5는이 모든 것을 그렇게 쉽게 만들었습니다. Mac OS 10.4에서 svnserve를 어떻게 실행합니까? 그러면 svn + ssh : // URL을 통해 저장소에 액세스 할 수 있을까요? – Mustafa

1

네트워크 파일 시스템은 사용되는 프로토콜 및 구성에 따라 로컬 파일 시스템의 모든 기능을 지원하지 않을 수 있습니다. Subversion은 네트워크 파일 시스템에 대해 독점적 인 잠금을 얻으려고 시도하지만 할 수 없습니다. Subversion 디렉토리의 권한을 조정하거나 다른 프로토콜을 사용하여 서버 구성을 변경할 수 있습니다. 그러나 네트워크 볼륨을 사용하는 것은 처음에는 잘못된 접근 방식입니다.

정말로하고 싶은 것은 네트워크 서버에 Subversion 서버를 설치하고 프로젝트에서 작업하는 동안 저장소의 로컬 복사본을 체크 아웃하는 것입니다.

1

이 문제가없는 Subversion 버전을 빌드 할 수 있습니다. 문제는 apr 및 apr-util 라이브러리 (Subversion, Mac OS X, and SMB 참조) 인 것 같습니다.

내가 사용했던 해결 방법은 OS X의 버전 인 apr, apr-util & apxs 라이브러리를 사용하여 Subversion을 컴파일하는 것입니다.여기

그것을 수행하는 방법입니다 :

  1. 받기는 A svn의 타르 및 유엔 타르 그것을 어딘가에 적합
  2. ./configure --prefix=/opt/subversion/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --without-berkeley-db --with-apxs=/usr/sbin/apxs

    • --prefix =/옵션/전복/: Subversion을 /opt/subversion에 넣으십시오. svnX를 사용하면 편리합니다.
    • --with-apr =/usr/local/apr : OS X의 apr 라이브러리를 사용하십시오.
    • --with-apr-util =/usr/local/apr : OS X의 apr-util 라이브러리를 사용하십시오.
    • --with-apxs =/usr/sbin/apxs : OS X의 apxs 라이브러리를 사용하십시오.
    • --without-berkeley-db : 이것은 수정 사항의 일부는 아니지만 전 서브 FSFS 이외의 것을 사용한 적이 없으므로 berkeley-db로 빌드하지 않습니다.
    • sudo make install

나는 성공적으로 전복 1.6.13로, OS X 10.5에 이런 짓을했는지.

svnX도이 문제에 만족합니다.

1

위대한, 나는 Yafiyogi의 힌트를 사용하여 내 자신의 파괴를 컴파일 - 위대한 사람이 작동, 더 이상 자물쇠 문제가 더 이상! AFP resp를 통해 timecapsule 디스크의 Subversion 저장소에 액세스 할 수 있습니다. WLAN은 원격으로 버전 svn 클라이언트를 사용합니다. 내 confiuration :

  • 맥 OS X 10.6.6 (10J567) (다윈 10.6.0)
  • 4 월 1.4.2
  • 4 월 폴더의 유틸리티 - 1.3 (일반 구성을 사용하여// 설치 할 수 있도록) 0.10 (사용 ./configure --with-apr=/usr/local/apr/make/make install)
  • 전복-1.6.16 나는 그냥`subversion` 한 번 subversion``기록하는 오타의 가정
관련 문제