※ root@waf2:/tmp/svn/misc# svn commit
svn: Commit failed (details follow):
svn: 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: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found
위 에러시 밑에와 같이 환경을 설정해 주면 됨
export SVN_EDITOR=vim
0. svn 설치하기
Debian, Ubuntu 의 경우 root 권한으로 apt-get install subversion 이라고 하면 한 번에 설치가 됩니다.
Centos, Fedora, Redhat의 경우 root 권한으로 yum install subversion 이라고 하면 한 번에 설치가 됩니다.
1. 소스 repository 목록 보기
$ svn list svn+ssh://계정@211.239.151.239/home/svn/os
(만약 211.239.151.239 에 로그인해서 로컬 머신의 repository를 보시는 경우라면, $ svn list file:///home/svn/os 와 같이 하시면 됩니다)
/home/svn/os/bootloader/lilo-21.4.4-2 가 바로, 우리가 해석한 lilo 소스코드입니다.
(lilo-21.4.4-1 은 뭘까요? 전 기수 분들이 해석하신 코드같습니다)
/home/svn/os/linux/linux-2.6.20.4-lksas3-x86_64 는, 우리가 이제부터 해석할 Linux kernel 소스코드입니다.
2. 소스 코드 받아 오기
이제부터는 lilo를 예제로 사용하겠습니다.
다음과 같이 하면 현재 사용하는 머신에 로컬 카피를 만들게 됩니다.
$ svn co svn+ssh://계정@211.239.151.239/home/svn/os/bootloader/lilo-21.4.4-2
3. 받아둔 로컬 카피를 최신 상태로 update하기
위와 같이 받아둔 로컬 카피에, repository의 최신 update를 적용시키는 방법입니다.
이제부터 나오는 명령들은 다음과 같이 로컬 카피의 디렉토리에 들어가서 수행합니다.
$ cd lilo-21.4.4-2
$ svn update [파일명]
로컬 카피를 건드리기 전에 svn update를 한 번 해 주는 게 좋을 것 같습니다.
[파일명]을 안 쓰면 디렉토리 전체를 업데이트합니다.
4. 상태 보기 (자주 쓰이는 명령이라고 합니다!)
$ svn status [파일명]
5. 내가 수정한 사항을 repository에 반영하기
$ svn ci [파일명]
svn ci 를 하기 전에 svn update를 한 번 해 주는 게 좋을 것 같습니다.
6. 수정 로그 보기
$ svn log [파일명]
더 자세히 보려면
$ svn log -v
7. r8 (revision 8) 과 로컬 카피의 파일 비교
$ svn diff -r8 [파일명]
(-r 을 생략하면 repository의 최신 revision과 로컬 카피를 비교합니다)
8. 로컬 카피의 파일을 다시 repository와 같게 되돌리기
$ svn revert [파일명]
결국 이것은 로컬 카피에 가한 수정을 취소하는 것입니다.
9. 각 라인을 수정한 사람이 누구인지 보기
$ svn blame [파일명]
10. repository에 없는 새 파일을 만들었으면
$ svn add 파일명
$ svn ci 파일명
(svn ci 까지 꼭 해줘야 합니다)
그밖에 svn delete|copy|move|mkdir 등이 있습니다.
$ svn list svn+ssh://계정@211.239.151.239/home/svn/os
(만약 211.239.151.239 에 로그인해서 로컬 머신의 repository를 보시는 경우라면, $ svn list file:///home/svn/os 와 같이 하시면 됩니다)
/home/svn/os/bootloader/lilo-21.4.4-2 가 바로, 우리가 해석한 lilo 소스코드입니다.
(lilo-21.4.4-1 은 뭘까요? 전 기수 분들이 해석하신 코드같습니다)
/home/svn/os/linux/linux-2.6.20.4-lksas3-x86_64 는, 우리가 이제부터 해석할 Linux kernel 소스코드입니다.
2. 소스 코드 받아 오기
이제부터는 lilo를 예제로 사용하겠습니다.
다음과 같이 하면 현재 사용하는 머신에 로컬 카피를 만들게 됩니다.
$ svn co svn+ssh://계정@211.239.151.239/home/svn/os/bootloader/lilo-21.4.4-2
3. 받아둔 로컬 카피를 최신 상태로 update하기
위와 같이 받아둔 로컬 카피에, repository의 최신 update를 적용시키는 방법입니다.
이제부터 나오는 명령들은 다음과 같이 로컬 카피의 디렉토리에 들어가서 수행합니다.
$ cd lilo-21.4.4-2
$ svn update [파일명]
로컬 카피를 건드리기 전에 svn update를 한 번 해 주는 게 좋을 것 같습니다.
[파일명]을 안 쓰면 디렉토리 전체를 업데이트합니다.
4. 상태 보기 (자주 쓰이는 명령이라고 합니다!)
$ svn status [파일명]
5. 내가 수정한 사항을 repository에 반영하기
$ svn ci [파일명]
svn ci 를 하기 전에 svn update를 한 번 해 주는 게 좋을 것 같습니다.
6. 수정 로그 보기
$ svn log [파일명]
더 자세히 보려면
$ svn log -v
7. r8 (revision 8) 과 로컬 카피의 파일 비교
$ svn diff -r8 [파일명]
(-r 을 생략하면 repository의 최신 revision과 로컬 카피를 비교합니다)
8. 로컬 카피의 파일을 다시 repository와 같게 되돌리기
$ svn revert [파일명]
결국 이것은 로컬 카피에 가한 수정을 취소하는 것입니다.
9. 각 라인을 수정한 사람이 누구인지 보기
$ svn blame [파일명]
10. repository에 없는 새 파일을 만들었으면
$ svn add 파일명
$ svn ci 파일명
(svn ci 까지 꼭 해줘야 합니다)
그밖에 svn delete|copy|move|mkdir 등이 있습니다.
11. 파일에 락을 걸어 락을 건 사용자만이 수정할 수 있게 해주는 명령어
$ svn lock 파일명
해제는 $ svn unlock 파일명
왜 파일에 락을 걸었는지 로그를 기록 할 수 있다.
해제는 $ svn unlock 파일명
왜 파일에 락을 걸었는지 로그를 기록 할 수 있다.
참고 페이지
http://lambert.egloos.com/2974388/
http://www.pyrasis.com/main/Subversion-HOWTO
http://wiki.kldp.org/wiki.php/SubversionBook/GuidedTour#svn-ch-3-sect-4
http://www.ibm.com/developerworks/kr/library/l-vercon/index.html
http://www.pyrasis.com/main/Subversion-HOWTO
http://wiki.kldp.org/wiki.php/SubversionBook/GuidedTour#svn-ch-3-sect-4
http://www.ibm.com/developerworks/kr/library/l-vercon/index.html
svn co svn+ssh://hojae@10.10.10.138/SVN_ROOT/enetner-waf enetner-waf
svn list svn+ssh://hojae@10.10.10.138/SVN_ROOT/utm/WAF/user/misc
http://10.10.10.138/cgi-bin/viewvc.cgi/elimnet-devel/WAF/user/misc/
* 리스트에 있는 목록 보기
svn list svn+ssh://ccabugi83@10.84.1.230:/home/svn/soligate1.5/trunk
* 디릭토리 생성
svn mkdir svn+ssh://ccabugi83@10.84.1.230:/home/svn/soligate1.5/trunk/ip_dump
* 처음 파일 올리기
svn import ip_dump svn+ssh://ccabugi83@10.84.1.230:/home/svn/soligate1.5/trunk/ip_dump
* svn에서 파일 가지고 오기
svn checkout svn+ssh://ccabugi83@10.84.1.230:/home/svn/soligate1.5/trunk/ip_dump
* ip_dump2폴더명으로 파일 가져오기
svn checkout svn+ssh://ccabugi83@10.84.1.230:/home/svn/soligate1.5/trunk/ip_dump ip_dump2
* 새로운 파일 만들었을 경우 추가 하기
svn add README
* 변경된 사항 있는걸 알려주기 (추가된 파일이 이때 svn에 올라가게 된다.)
svn commit
* 파일 가져오기 전에 업데이트 꼭하기
svn update
'기타 > 툴 관련(윈도우&리눅스)' 카테고리의 다른 글
크롬 가상키보드 (0) | 2012.01.16 |
---|---|
크롬 단축키 (0) | 2011.10.15 |
iGoogle 메인 화면 My Picasa Photos 사진 넣어주기 (0) | 2011.07.04 |
아파치 2.X 버전에서 mod_cband를 이용한 트래픽관리 (0) | 2010.04.06 |
아파치 모듈 설명 (0) | 2009.05.12 |