사용법 svn

저장소 등록 후 – Check Out : 저장소 소스다운 저장소 오른쪽 클릭 – Check Out으로 소스다운 – 소스파일 임의편집 – 프로젝트 오른쪽 클릭 – Team – Commit – Comment 임의작성 –

  • Commit: 다운로드한 소스에서 파일을 생성/편집한다.
  • Update: 저장소의 최신 리비전 또는 지정 리비전 에서 현재 작업 디렉토리의 내용을 갱신하기 전 또는 작업을 하기 전에 원하는 리비전으로 갱신한 후 소스를 편집하고 Commit을 하여야 한다.따라서 Update한 후 Commit을 버릇처럼 수행해야 한다.특정 리비전 업데이트 시 Update to Revision 메뉴 선택

출처 : http://lmc.cs.kookmin.ac.kr/readmore/eclipse-svn

  • 체크아웃 : 저장소에 액세스하여 소스코드와 버전 관리를 위한 파일을 수신하는 행위 – 추가 : 문자 그대로 파일을 서버에 업로드하기 – 커밋 : 내가 수정한 코드 업로드하기 – 업데이트 : 최신 뒤집힌 버전의 코드 수신하기
  • 용어설명 저장소: 저장소(Repository)라고도 하며, 모든 프로젝트의 프로그램 소스, 소스 변경 사항 등 모두 이 저장소 안에 저장됩니다.
  • 리비전(Revision): 소스 파일 등을 수정하여 코믹하게 되면 일정한 규칙에 따라 숫자가 증가(새 버전 생성)합니다. 저장소에 저장되어 있는 각각의 파일 버전이라고 할 수 있습니다. Subversion의 경우 파일마다 리비전이 붙지 않고 한번 코믹한 것으로 전체 리비전이 붙습니다.
  • trunk: 프로젝트에서 가장 중심이 되는 디렉토리입니다. 모든 프로그램 개발 작업은 trunk 디렉토리에서 이루어집니다. 그래서 위의 구조에서 trunk 디렉토리 아래에는 소스 파일과 디렉토리가 들어갑니다.
  • branches:trunk 디렉토리에서 프로그램을 개발하면 큰 프로젝트에서 또 하나의 작은 분류로 빼서 따로 개발해야 하는 경우가 있습니다. 프로젝트안의작은프로젝트라고생각하시면됩니다. branches 디렉토리 안에 또 하나의 디렉토리를 두고 그 안에서 개발하게 됩니다.
  • tags: 이 디렉토리는 프로그램을 개발하면서 정기적으로 출시할 때 0.1, 0.2, 1.0 이렇게 버전을 붙여 발표하게 되는데 그때마다 발표했던 소스를 따로 저장하는 공간입니다. 위에서 보면 tags 디렉토리 아래에는 버전명으로 디렉토리가 만들어져 있습니다.
  • 명령어 의미 Import:svnimportsampledirsvn+ssh://svn-domain/svn/sample/trunk 첫 프로젝트 시작 시 스토리지에 등록하는 명령어를 한 번 하면 쓸 일이 별로 없을 것 같다.
  • Checkout: svncheckoutsvn+ssh: // svn-domain/ svn/sample/trunksample 저장소에서 소스와 버전 관리 파일을 모두 받아오는 명령. 지우거나 변경할 경우 저장소로 연결 불가능
  • Export:svnexportsvn+ssh://svn-domain/svn/sample2/trunksample 체크아웃과는 달리 버전 관리 파일을 제외한 순수 소스만 가져오는 명령어 끝에 사용.
  • Commit:svncommit 체크아웃한 소스를 수정, 파일 추가, 삭제 등을 한 후 스토리지에 저장하고 갱신하는 명령. Revision이 1 증가한다.
  • Update:svnupdate 체크아웃하고 받은 소스를 최신 소스로 업데이트하는 명령. 소스 수정이나 Commit 하기 전에 한번씩 해야 할 것 같다.
  • Log:svnlog 저장소에 어떤 것이 변경되었는지 확인할 수 있는 log 명령어
  • Diff:svndiff–revision4 sample.cdiff 명령은 이전의 소스 파일과 지금의 소스 파일을 비교해 보는 명령어
  • Blame:svnblamesample.c Blame은 한 소스 파일을 대상으로 각 리비전에 대해 어느 행을 누가 수정했는지 알아보기 위한 명령어이다.
  • 잠금:svnlockhello.c 파일에 잠금을 걸어 잠근 사용자만 수정할 수 있도록 하는 명령어. 해제는 svnunlock. 왜 파일에 잠금을 걸었는지 로그를 기록할 수 있다.
  • Add:svnaddhello.c 새 파일을 만들 때 파일을 추가해주는 명령어. 그 후에는 반드시 svncommit을 해야 한다.새로운 파일을 생성하고 업로드 할 때도 반드시 add를 해야 한다. 해주지 않으면 commit을 해도 오르지 않는다.
  • 파일 백업 및 복구 dump: svnadmindumpsample> sample.dumpload: svnadminloadsample <sample.dump
  • 새 파일을 만든 경우 1.svnaddfilename.*2.svncifilename.*
  • 그대로 기존 소스를 수정하는 경우 1.svncifilename.*
  • 항상 svnupdate는 꼭 해주자
  • svnstatus: 자신이 수정하고 있는 파일의 상태를 알려주는 명령어.

출처 : https://gyrfalcon.tistory.com/entry/SubversionSVN- 용어 – 및 – 사용법

서브버전이 설치되어 있는 곳이면 어디서나 사용할 수 있는 명령행 툴(CLI, Command Line Interface)과 윈도우용 툴인 Tortoise SVN의 사용법을 모두 취급합니다.

서브버전을 시스템에 설치한다는 의미는 외부에 있는 서브버전 스토리지에 접근할 수 있는 클라이언트를 설치하고 자신의 컴퓨터를 서브버전 서버로 가동시킨다는 의미가 있습니다.자신의 컴퓨터에 저장소를 생성하고 서브버전 전용 프로토콜로 다른 컴퓨터가 저장소에 접근할 수 있도록 할 뿐만 아니라 웹 서버와 DAV 모듈을 설치하면 웹 프로토콜(http 또는 http)을 통해서도 저장소 접근 서비스를 제공할 수도 있습니다.

리눅스 시스템에서는 “yuminstall subversion”, “apt-get install subversion” 등의 간단한 방법으로 서브 버전을 시스템에 설치할 수 있습니다.Windows 에서는 토터스 SVN 를 인스톨 해 주세요. 기업에서도 무료로 사용할 수 있는 오픈소스 프로그램으로 오픈소스 라이선스는 GPL입니다. 다운로드 및 인스톨에 대해서는, https://tortoisesvn.net/downloads.html 를 참조해 주세요.

■ 저장소(Repository) 버전 관리되는(version Controlled) 모든 파일의 정보를 (과거 기록 포함) 가지고 있는 데이터베이스에서 서브버전 서버가 동작하는 파일 서버에 위치합니다. 한 곳에 모든 정보가 집중되는 방식으로 전통적인 형상 관리 도구였던 CVS처럼 서브 버전도 중앙 집중식 스토리지를 가지고 클라이언트/서버 방식으로 버전을 관리합니다.

위 그림은 Windows 시스템에 생성한 서브버전 저장소 예제입니다. 일반적으로 conf폴더에는 스토리지에 액세스하는 사용자 정보나 접근 권한 등을 관리하기 위한 정보가 포함되며 db에는 스토리지에 저장된 내용이 포함되며 hooks에는 커밋 전후나 잠금 등의 작업 시점에 메일을 보내거나 이슈 트래킹 시스템에 리포팅하는 등의 작업을 가진 스크립트가 저장됩니다.

■ 작업복사(Working Copy) 샌드박스라고도 하는데 개발자가 저장소에서 특정 버전을 다운로드 받아 다른 개발자에게 방해받거나 다른 개발자에게 아무런 영향을 미치지 않고 나름의 편집이나 작업을 수행할 수 있는 공간입니다. 작업 중 삭제 및 변경하는 것이 원본 저장소에 아무런 영향을 주지 않고 스스로 작업한 내용과 저장소의 내용을 쉽게 비교하여 얼마나 어떻게 작업했는지를 쉽게 확인할 수도 있습니다.

보통 많은 오픈소스 프로젝트들이 웹 인터페이스를 통해 저장소를 오픈하고 있기 때문에 세계적으로 많은 작업 복사본이 만들어집니다. 하지만 수정한 작업복사를 저장소에 저장하기 위해서는 저장소를 변경할 수 있는 권한이 있어야 하지만 많은 오픈소스 프로젝트는 저장소에 대한 읽기 권한은 주어지지만 변경 권한은 대부분 일부 팽이로 제한하는 것이 현실입니다.

어쨌든 작업을 완료한 후에는 저장소에 대한 변경 권한이 있으면 수정 내용을 원본에 반영할 수도 있고, 작업 중에 다른 사람이 작업한 내용을 현재 작업 중인 내용에 손상이 없도록 반영할 수도 있습니다.

■ 저장소 생성 및 저장소 URL

서브버전 저장소 생성은 CLI에서는 “svnadmincreate –fs-typefsfs 폴더명”으로 수행할 수 있습니다.토터스 SVN에서는 위 그림과 같이 빈 디렉토리에서 윈도우 탐색기의 컨텍스트 메뉴 > Createrepositoryhere를 통해 스토리지를 생성할 수 있습니다. 주의사항은 저장소 생성은 반드시 빈 디렉토리에 수행해야 합니다.

저장소 생성을 실행하면 저장소 생성 결과 화면이 위 그림에 나타나는데, 이때 [Createfolderstructure] 버튼을 클릭하면 서브버전의 기본 디렉토리인 trunk, branches, tags를 생성할 수도 있습니다. 대부분의 형상 관리는 trunk 폴더로부터 시작됩니다.

위 그림을 보면 “file: // D: /tmp/testsvn” 이라고 표시하는데 이를 저장소 URL이라고 합니다. 각 저장소 고유의 주소이며 주소 형태는 다음과 같습니다.파일: // 시스템 내부 저장소 svn: // 서브 버전 전용 프로토콜로 접근할 수 있는 시스템 내부 및 외부 저장소 http:// 또는 http:// 웹 프로토콜로 액세스할 수 있는 시스템 내부 및 외부 저장소 상에서 생성한 “file: // D: /tmp/testsvn”은 로컬 컴퓨터에서만 액세스할 수 있는 저장소 URL입니다.서브버전 서버 프로그램을 설치하면 TCP3690 포트를 통해 원격에서도 svn://192.168.0.111/testsvn과 같은 URL로 접속할 수 있습니다.또한 WebDAV(Web Distributed Authoring and Versioning) 모듈과 함께 웹 서버(아파치)를 설치하면 웹 인터페이스를 통해서도 스토리지에 액세스할 수 있습니다. 이때는 http://192.168.0.111/testsvn이나 http://192.168.0.111/testsvn 같은 URL로 저장소에 접속할 수 있습니다. 저장소 URL 끝에 @리비전 번호를 붙이면 특정 리비전을 지정할 수도 있습니다.

출처 : https://yaraba.tistory.com/1197

설치방법 및 용어설명참고 http://wiki.gurubee.net/pages/viewpage.action?pageId=26739556

출처 : http://passionha.tistory.com/242 저장소 등록 후 – Check Out : 저장소 소스 다운 저장소 오른쪽 클릭 – Check Out에서 소스 다운 – 소스 파일 임의 편집 – 프로젝트 오른쪽 클릭 – Team – Commit – Commit – Commit : 다운로드 받은 소스에서 파.. passionha.tistory.com

error: Content is protected !!