svn+ssh:// 관련...

puser716의 이미지

svn을 이용하려고 하는데 커밋하는 여러 방법 중 svn+ssh를 이용해서 하려고 하는데.

svn checkout svn+ssh://IP/home/svn/sample sample 이라고 명령을 내리면...

일단 계정에 관련된 암호를 넣으라고 하는데 넣게 되면

svn: Berkeley DB 오류입니다. 파일 시스템 /home/svn/sample/db, opening evironment
: 허가 거부됨

이라고 뜹니다.

일단 궁금한 거는 가이드에 보게 되면 .subversion 이라는 폴더가 각 계정 폴더에 생성이 된다고 하는데 전 일단 root 폴더에는 있는데 새로 생성한 계정의 폴더에는 없습니다. 이 것이 문제가 되는지와...

root에 있는 .subversion/config 파일을 수정해서 ssh = ssl -l 계정 이렇게 넣고 했는데 이렇게 넣는 것이 맞는 지....

마지막으로 sample 이라는 폴더 권한을 apache.apache로 되 있는 것과 775로 되는데 권한 설정은 잘 한 건지도 궁금합니다....

새해 복 많이 받으세요~

익명사용자의 이미지

IP분분 형식이 ID@IP 형식일 것입니다.

그러면 svn 클라이언트는 ID에 해당하는 계정으로 sshd에 로그인 합니다.

그래서 해당 파일들에 대한 쓰기 권한이 있어야 합니다.

없으면 권한 에러가 나지요..

저같은 경우 그룹(svnusers)을 만들어서 그 그룹의 사용자들은 쓰기가 가능하게 만들어 놓습니다.

puser716의 이미지

로그인까지의 과정은 정상적인데 그 뒤 결과가 리비젼이 안 됩니다..

물론 레파지토리의 권한 모두 apache로 되 있고 쓸 수 있도록 되 있습니다.

===========================
후회하지 말자~

kslee80의 이미지

svn+ssh:// 를 사용하는 경우,
Repository 에 apache 가 writing 할 수 있는 권한이 필요한게 아니라,
해당 Repository 를 사용하려는 사용자 계정이 Repository 에 writing 가능한 권한을 가져야 합니다.

svnusers 그룹을 생성해서 Repository 를 svnusers 소유로 바꾸고, 그룹 writing 권한을 주고,
svn Repository 를 사용하려는 계정을 모두 svnusers 그룹에 추가하는것이
실질적인 해결책입니다.

apache 를 이용한 인증과 svn+ssh:// 를 같이 사용하려는 경우에는
위 방법에 추가적으로
apache 를 svnusers 그룹에 추가하는 방법으로 해결해야겠죠.

puser716의 이미지

레파지토리 오너와 그룹 모두 apache 라는 사용자 그룹을 가지고 있습니다.

svnusers 라는 그룹을 굳이 만들지 않은 상태에서 apache라는 그룹이 이미 생성되 있는 데 이 걸 이용할 방법은 없는지 궁금합니다.

그리고 svnserve.conf 파일 안에 보면 authz라는 파일이 있는데 여기에 그룹 관련 정보를 설정하는 것도 있는 지요?

===========================
후회하지 말자~

익명사용자의 이미지

apache 그룹에 현재 ID를 추가 시켜 주시고

리포지토리에 apache 그룹 쓰기권한을 설정해 주시면 됩니다.

puser716의 이미지

/etc/group 파일을 열어서 apache:x:48:test_1,test_2 라고 입력하고 나서 svn co svn+ssh://test_1@IP/home/svn/sample sample 명령을 내리는 두 번의 암호를 묻고는 다음과 같은 결과를 얻었습니다.

svn: 'sample'는 이미 작업 사본에 있으며, 다른 URL 입니다. 라고 뜹니다...

휴...부탁 좀 드리겠습니다..

===========================
후회하지 말자~

kslee80의 이미지

svn co 를 실행한 디렉토리에 이전 시도의 결과인 sample 디렉토리가 있는것은 아닌지요?
checkout 되지 않더라도, sample 디렉토리 및 sample/.svn 디렉토리는 생성될테고..
이게 에러 메세지의 이유가 될 수 있습니다.

puser716의 이미지

이미 정상적으로 체크아웃 한 상태에서 할 경우 그 같은 에러는 아니구 결과가 나왔습니다.

처음 하는 거라 많은 것이 궁금합니다.

다 한 꺼번에 여쭤 보면 좋겠는데 하나 할 때 마다 문제가 생겨서...

그런데 URL이 뭔가요? 일반적으로 알고 있는 건 아닌 거 같구요~

그리고 하나 더 하다 보니 궁금 한 것이 있는데...

가이드를 보면

"여기서 주의할 점은 CVS는 revision을 파일 하나하나에 다 매기지만 Subversion은 파일에 revision을 매기지 않고 소스 수정, 파일 복사, 이동, 삭제 등을 하고 그때 한 커밋으로 revision을 매깁니다. 그래서 다른 파일들이라도 같은 revision 번호를 가지게 됩니다." 라는 구절이 있습니다.

수정을 하지 않았으면 커밋 할 이유가 없을 거 같은데 무슨 svn이 이득이 있는 지 모르겠네요...

===========================
후회하지 말자~

kslee80의 이미지


이것 역시 URL 입니다.
(일반적으로 알려진 URL 의 의미는 실제 URL 의 의미보다 좁습니다.)

그리고 두번째는,
기능적으로 "특정 시점" 으로 돌아가고자 할때 차이가 생깁니다.

예를들어, 어떤 프로그램의 1.0 릴리즈를 하고 나서
추가적으로 몇가지를 더 개발해서 repository 에 commit 한 이후에,
필요에 의해서 다시 1.0 릴리즈 한 시기의 전체 소스 코드를 얻고자 할 때,

파일 단위로 revision 이 메겨진다면 1.0 릴리즈를 하는 시기에
모든 파일의 파일별 revision 을 알아야 1.0 릴리즈 상태의 소스코드를 얻을 수 있지만,
(그래서 이런 경우에는 1.0 릴리즈 한 시기의 tag 를 사용하죠.
단지 1.0 릴리즈 이후에 tag 붙이는 것을 깜빡했다면....-_-; )

모든 파일들이 commit 될 때마다 새로 revision 이 메겨진다면
1.0 릴리즈시의 revision 을 체크아웃 하는 것으로 해결되죠.

(subversion 은 변경되지 않은 파일에 대해서는 commit 하지는 않습니다.
단지, 다른 파일들의 변경으로 인해 revision 이 올라가는 경우, 변경되지 않은 파일도
revision 넘버만을 올릴 뿐입니다.)

CVS 와 SVN 두 가지를 다 써 봐야 느낄 수 있는 차이입니다.

P.S.) 원 글과 크게 관련이 없는 질문사항의 경우는
글을 새로 쓰는것이 좋습니다.

puser716의 이미지

정말 둘 다 써보기 전 까지는 이해하기가....^^

고맙습니다..

좋은 하루 보내세요~

===========================
후회하지 말자~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.