cenots7에는 기본적으로 svn이 설치 되어있음
# rpm -qa | grep subversion
subversion-libs-1.7.14-16.el7.x86_64
subversion-1.7.14-16.el7.x86_64
구축방법
## svn repo폴더 설정
vi /etc/sysconfig/svnserve
OPTIONS="--threads --root /svn"
## svn repo 폴더 생성
mkdir /svn
##svn 서비스 재시작
systemctl restart svnserve.service
## repo 저장소 생성(명령어 수행시 test폴더와 svn관련 폴더/파일 생성됨)
svnadmin create --fs-type fsfs /svn/test
## svnserve.conf 수정([general] 쪽에 아래 코드 삽입)
cd /svn/test/conf
vi svnserve.conf
[general]
#익명 접근의 권한은 none 없음
anon-access = none
#인증 접근의 권한은 write 읽기/쓰기
auth-access = write
#사용자 패스워드 저장 파일 위치
password-db = passwd
#프로젝트 명칭
realm = My_First_Repository
#인증 접근의 권한 설정 파일 위치
authz-db = authz
## svn 접속계정 생성(passwd에 [users]아래 코드 추가)
vi passwd
admin = password123
## 권한추가(authz에 아래 코드 추가)
vi authz
[/]
* = r
root = rw
admin = rw
## 서비스 재시작
systemctl restart svnserve.service
확인방법
최초 접속시 아래와 같이 출력됨, svn/test 저장소내 아무것도 업로드 되어있지 않기때문에 그냥 프롬프트가 떨어진다.
[TEST][00:30:01][root@localhost /svn/test/conf]
# svn list svn://127.0.0.1/test
Authentication realm: <svn://127.0.0.1:3690> My_First_Repository
Password for 'root':
Authentication realm: <svn://127.0.0.1:3690> My_First_Repository
Username: admin
Password for 'admin':
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<svn://127.0.0.1:3690> My_First_Repository
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
[TEST][00:35:06][root@localhost /svn/test/conf]
# svn list svn://127.0.0.1/test
[TEST][00:35:09][root@localhost /svn/test/conf]
svn저장소(test) 파일 업로드
- /data/testseo폴더에 있는 파일들을 svn에 업로드 하고자 함 svn import로 업로드를 시킨다.
[TEST][02:30:29][root@localhost /data/seotest]
# svn import /data/seotest svn://127.0.0.1/test -m "test"
## 위와 같은 에러 발생시 아래 명령어 입력 후 다시 수행
svn: E205007: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: E205007: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
export SVN_EDITOR=vi
svn저장소(test)의 파일 업데이트
1.txt파일을 업데이트 후 svn에 있는 1.txt파일도 업데이트 하고자 한다.
touch 명령어로 생성해서 0byte이다.
업데이트 후 용량이 좀 늘었다.
커밋을 시도하자 아래와 같은 에러가 나온다.
[TEST][02:42:45][root@localhost /data/seotest]
# svn commit 1.txt -m "dd"
svn: E155007: '/data/seotest/1.txt' is not a working copy
그렇다면 일단 svn에서 저장소 파일을 받고 수정하여 다시 업로드를 수행해보았다.
다운로드 방법은 svn checkout svn://주소/저장소 이다.
[TEST][02:42:45][root@localhost /data/seotest]
# svn commit 1.txt -m "dd"
svn: E155007: '/data/seotest/1.txt' is not a working copy
위와 같이 알수 있는 사실은 먼저 체크아웃으로 저장소 폴더내 파일을 받고 거기서 수정 및 commit을 해주어야 한다는 것이다.
에러내역
- 아래 내역 발생시 위 설정내역을 다시한번 체크해볼 것, 결국엔 설정 오류 문제
# svn list svn://127.0.0.1/test
svn: E200002: Unable to connect to a repository at URL 'svn://127.0.0.1/test'
svn: E200002: /svn/test/conf/svnserve.conf:9: Section header expected
반응형
'인프라 > 리눅스' 카테고리의 다른 글
[CentOS7] sed 명령어 (0) | 2022.06.21 |
---|---|
[Centos7] OpenLDAP 구축 (0) | 2022.06.13 |
centos7 svn: E205007: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options (0) | 2022.05.18 |
centos7 jenkins 설치 (0) | 2022.05.02 |
ubuntu / centos python 버전 변경하기(update-alternatives) (0) | 2022.04.24 |
댓글