2009-04-27 2 views
1

svn을 사용할 때 몇 가지 문제가 있습니다. 다음 목록 어떤 시점에서svn 걸림 걸이

  • 에게있다, SVN과 같은 나의 모든 명령은 SVN 등을 추가했다,하지만 그들 중 누구도 루트 사용자 (sudo를)로 실행하지 않고 작동하지 않을 것이다 그래야 내가 뭔가를했다 커밋. 어떤 특정한 행동이 이것을 야기 할 것이며 어떻게 고칠 것인가?
  • 내 다른 웹 사이트는 이미지 폴더 자체를 만들고 user : group은 www-data : www-data가되었습니다. 내가 버전 관리에이 폴더를 추가하려고하면 svn이 이미지 내부에 .svn 하위 디렉토리를 만들지 못했기 때문에 이미지 s 폴더의 모든 하위 경로가 잠겨 있다는 것을 출력 했으므로 정리를 실행해야했습니다. 정리도 실패했습니다. 또한 이미지 디렉토리에 '~'(물결표)가 표시되기 시작했는데 어떤 점에서 버전이 지정되었지만 뭔가 발생했습니다. 나는 고정 다음과 같이 순환 문제 '휴식 locks' 앤 'cant 브레이크 잠금 장치까지 커밋 어차피'
    • 가/잠금 파일을 .svn 제거 이미지로 이어지는 각 디렉토리는
    • 이 이미지를 이동 폴더에서 홈 폴더에 디렉토리 및 노력 "삭제 된 이미지는"
    • 는 이미지 폴더를 다시 복사하고

를 'SVN 추가'않았다하지만 내가 위의 두 각 했어야 알고 싶어 사례. 나는 사건 1에서 문제가 엉망으로 된 폴더 사용 권한과 관련이 있다고 의심하지만 정확히 무엇을 어떻게 고쳐야할지 모릅니다. 내가 적절한 주인을 해달라고 폴더에 대해 다음 단계 중 하나를 수행 할 수 의심/그룹 설정 :

  • 시도는 'sudo는 folder_with_different_user_and_group를 추가'할
  • 변화 사용자 : 그룹 파일을 추가, 기본값으로하고 범하다. 그러나 어쨌든 나는 그것이 미래에 작동하게하는 방식으로 이러한 변화를 되돌리고 싶을 것이다. 아마도 권한을 다시 변경하지만 소유자는 변경하지 마십시오. .svn 폴더의 그룹?

위의 경우 각각에서 svn을 사용하는 가장 좋은 방법은 무엇인가? 이와 같은 일이 발생할 때 잠금 등을 성공적으로 끊는 방법은 무엇입니까?

답변

1

당신이 설명하는 것은 권한 문제입니다. SVN 문제는 아닙니다. 유닉스 파일 사용 권한과 그 의미에 대해 배우기를 제안합니다 (예 : here).

웹 서버에서 파일을 만드는 경우 Apache가 "www- 데이터"또는 그 밖의 다른 파일로 실행되도록 구성되어있을 수 있습니다. 이 경우, 아파치가 파일을 쓰는 데 사용하는 그룹에 SVN 명령을 실행하는 사용자를 추가하는 것이 더 간단 할 수 있습니다. 같은 작업 복사본을를 업데이트하는 적어도 2 개의 다른 사용자 이 같은

1

첫 번째 문제는 파일 시스템 사용 권한 문제이며 svn 문제는 아닙니다. svn 명령을 루트로 실행하면 많은 파일과 디렉토리가 루트가 소유하게됩니다. 실행중인 루트 디렉토리에 루트로

chown -R desiredusername . 

루트를 수정해야합니다 ('desiredusername'의 실제 사용자 이름으로 변경해야 함). 루트로 일하는 것을 피하십시오. 그러면 이러한 많은 문제를 피할 수 있습니다. :)

두 번째 문제는 웹 응용 프로그램에서 저장 한 것과 마찬가지로 런타임 데이터가 포함 된 디렉토리 인 경우 실제로 버전을 추가할지 여부를 묻는 것입니다. 내 내기는하지 않으므로 svn에게 해당 디렉토리를 모두 무시하도록 요청함으로써 더 나은 서비스를 제공 할 수 있습니다. 당신은 부모 디렉토리에

을 실행함으로써 그렇게 할 수 있습니다. 다시, 'imagedirectoryname'의 실제 이름으로 대체하십시오.또한 이미 상위 디렉토리에있는 다른 무시 자원이있는 경우, svn의 propset를 사용하여 그들을 덮어 않습니다, 그래서 당신은 대신

svn propedit svn:ignore . 

를 실행하려면.

+0

그래, 지금은 아니지만 일부 단계에서 모두 디렉토리를 무시하는 것이 가장 좋을 것이라고 생각합니다. 어쨌든, 지금까지 세 가지 대답 각각을 진행하는 방법에 대한 아이디어를 얻었지만 받아 들일 수있는 하나만 설정할 수 있습니다. – umar

2

보인다 :

  • www가 데이터 : www가 데이터 (웹 사용자)
  • 고유 한 사용자

그게 문제입니다. 모든 svn 작업에 루트 (즉 sudo)를 사용할 수 있습니다. 이는 깨끗하지는 않지만 작동합니다.