소스코드 버전관리 시스템으로 SVN을 사용하기 위해 SVN 서버 소프트트웨어를 서버에, 사용자 PC에 SVN 클라이언트 소프트웨어를 설치해야 합니다. 

 

이 글에서는 RAD Studio IDE에 내장된 SVN 클라이언트 플러그인을 이용해 SVN 서버 저장소에 파일을 등록(Import)하고 변경내역을 가져오고(Update), 작업내용을 저장(Commit)하는 내용을 설명합니다.

(RAD Studio에는 SVN, Git, Mercurial 3가지 버전관리 클라이언트 기능을 제공합니다.)

 

RAD Studio에 내장된 SVN 클라이언트 플러그인

SVN 저장소를 준비합니다.(만약, SVN 저장소가 없다면 다음 글을 참고해 SVN 서버 설치 후 저장소를 추가합니다. -http://tech.devgear.co.kr/delphi_news/420254)

 

SVN 저장소에 추가하기 - Add to Version Control(SVN: Import)

작성중인  소스코드를 SVN 서버의 중앙 저장소에 저장합니다. 이후 프로젝트 파일을 열고 소스코드를 변경 하구 중앙저장소에 반영(Commit)할 수 있습니다.

  1. 새로운 프로젝트를 추가(또는 작업 중인 프로젝트 열기) 합니다.
  2. 프로젝트 매니저에서 프로젝트를 우측 마우스 클릭 후 "Add to Version Control" 메뉴를 선택합니다.
  3. 버전관리 시스템 중 Subversion을 선택 합니다.
  4. Import 팬이 표시됩니다.
  5. URL of repository: 우측의 [...] 버튼을 누릅니다.
  6. SVN 저장소 주소를 입력 후 [Load] 버튼을 눌러 저장소와 연결합니다.
  7. 좌측 트리에서 저장할 디렉토리를 선택 후 [OK] 버튼을 누릅니다.
  8. [Import] 버튼을 눌러 서버 저장소에 저장합니다.

RAD Studio 10 시애틀에서 테스트 중 중앙저장소에 연결된 프로젝트에 프로젝트를 추가한 경우 [Import] 버튼이 비활성화 되는 현상이 발생했습니다.

이 경우 별도의 TortoiseSVN 등의 클라이언트 프로그램을 이용해 Import 작업을 진행하면 Commit / Upate 등의 작업을 IDE에서 이어서 진행할 수 있습니다.

 

SVN 저장소의 소스코드 가져오기 - Open From Version Control(SVN: Check out)

SVN 서버의 중앙저장소에 저장된  소스코드를 가져와 편집 후 작업내용을 중앙저장소에 저장할 수 있습니다.

  1. RAD Studio IDE에서 모든 파일을 닫습니다.
  2. File > Open From Version Control... 메뉴를 선택합니다.
  3. 버전관리 시스템 중 Subversion을 선택합니다.
  4. 저장소 경로(URL of Repository)와 저장할 로컬 경로(Destination)를 입력 후 [OK] 버튼을 클릭합니다.
  5. 다운로드 작업이 진행되며 완료 후 프로젝트를 선택해 열수 있습니다.

 

저장소에 작업내용 적용하기 / 중앙저장소 변경내역 가져오기 - Commit / Update

SVN 서버의 중앙저장소와 연결된 프로젝트는 작업내용(변경된 내용)을 중앙저장소에 적용하는 커밋(Commit)과 다른 사용자가 변경한 변경내역을 가져오는 Update 작업을 수행할 수 있습니다.

  1. SVN 서버의 저장소와 연결된 프로젝트를 엽니다.
  2. 프로젝트 매니저에서 우측 마우스 클릭 후 Subversion > Commit 메뉴를 선택합니다.
  3. Commit 팬이 표시됩니다.
  4. 중앙저장소에 저장할 파일을 선택(체크박스 선택)합니다.
  5. 변경한 작업에 대한 설명을 다른 사용자가 알아볼 수 있도록 작성합니다.
  6. [Commit] 버튼을 눌러 중앙저장소에 반영합니다.
  7. 프로젝트 매니저에서 우측 마우스 클릭 후 Subversion > Update 메뉴를 선택해 중앙저장소의 변경된 내역을 받아옵니다.

기타 더 많은 기능을 엠바카데로 기술문서를 참고해서 익힐 수 있습니다.

SVN 클라이언트 프로그램 이용

RAD Studio IDE에서 SVN을 제공하지 않는 버전을 사용한다면 별도로 SVN 클라이언트 프로그램을 설치해서 RAD Studio 소스코드를 버전관리 할 수 있습니다.

아래 링크를 참고해 원하는 플랫폼과 원하는 SVN 소프트웨어를 설치할 수 있습니다.

그 중 TortoiseSVN의 경우 윈도우의 기본 탐색기 팝업메뉴를 이용해 SVN 클라이언트 기능을 활용할 수 있습니다.

 

 

관련자료


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15441
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22055
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18923
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39255
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174699
1123 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 3장(실습).사원 정보 프로토타입 앱 관리자 2020.02.04 399
1122 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 2장. 첫번째 모바일 앱 만들기 관리자 2020.02.04 506
1121 n [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 1장. 델파이 개발환경 둘러보기 관리자 2020.02.04 543
1120 [도서/PDF] 한 번에 개발하는 안드로이드&iOS 앱 with 델파이 1편 - 3장. 파이어몽키 이해하기 [2] 관리자 2020.02.04 495
1119 [고객사례-유틸리티, 델파이] SyncBackPro - 데이터 백업/동기화 솔루션 관리자 2020.02.04 361
1118 델파이 개발자를 위한 이더리움(Ethereum)! 관리자 2020.02.04 403
1117 윈도우10에서 활용 가능한 델파이만의 5가지 기능들 관리자 2020.02.04 960
1116 [업데이트][패치][10.3.3] C++빌더 10.3.3 스레딩 및 TLS 패치 험프리 2020.02.03 264
1115 Delphi / C ++ Builder를 사용하여 Azure에서 MSSQL 데이터베이스 만들기 및 연결 험프리 2020.02.03 214
1114 이 달의 기술자료 - 2020년 02월 험프리 2020.01.31 260
1113 [고객사례-유틸리티, 델파이] ALLMediaServer - 미디어 컨텐츠 플레이 프로그램 관리자 2020.01.31 281
1112 [발표자료] 20200130 실제 사례로 살펴보는 소프트웨어 현대화 방안 file 관리자 2020.01.31 228
1111 [코드레이지2019] VCL 현대화: WinAPI, COM & Shell 인터페이스, WinRT 통합하기 김원경 2020.01.30 187
1110 TJumpList 컴포넌트 사용하기 file 김원경 2020.01.30 249
1109 데브기어 컴포넌트 컨버터 소개(마이그레이션 자동화 도구) 험프리 2020.01.29 519
1108 [코드레이지2019] 파이어몽키에서 사용자 정의 Message Box 디자인하기 김원경 2020.01.23 269
1107 파이어몽키에서 Message 대화상자 사용하기/Message 대화상자와 유사하게 폼 사용하기 file 김원경 2020.01.23 2290
1106 [업데이트][패치][10.3.3] RAD 스튜디오 10.3.3 아이폰 XS와 XR 디버깅 패치 험프리 2020.01.23 237
1105 [코드레이지 2019] 웹소켓(WebSocket)과 델파이 험프리 2020.01.22 1223
1104 프로젝트 경험을 통해 터득한 효과적인 마이그레이션 프로세스 file 험프리 2020.01.22 563