게임 개발자를 위한 SVN (4)

Tortoise SVN으로 파일/폴더 관리하기

기본적으로 SVN은 각 파일 및 폴더의 변경 사항에 대한 기록을 해당 폴더 내의 .svn 이란 별도 폴더를 생성하여 관리한다(이 폴더는 숨김 상태로 숨겨져 있기 때문에 숨김 파일 표시 옵션을 추가하지 않는 한 보이지 않는다).

각 파일 및 폴더에 대한 추가, 삭제, 이름 변경 등의 내역을 SVN에서도 확인이 되어야 해당 작업물이 정상적으로 저장소에 전송이 될 수 있기 때문에 파일/폴더 관리 작업은 Tortoise SVN으로 관리를 하는 것이 안전하다-윈도우에서 파일 관리 하듯이, 파일을 휴지통 혹은, Delete 키를 이용하여 지우거나, Ctrl-C/V 등을 이용하여 복사하는 방법을 이용 할 수 있지만, 이러한 방법들은 저장소와 작업 복사본에 존재하는 데이터를 엉키게 만들어 작업물을 날릴 수도 있으니 주의하기 바란다.

파일/폴더 추가 Add

기존 저장소에 저장되지 않은 새로운 파일이나 폴더를 만든 경우 추가 명령을 이용하여 해당 파일 및 폴더를 SVN이 관리 할 수 있도록 해야 한다. 추가 명령으로 파일/폴더를 등록하지 않으면 SVN이 해당 파일/폴더를 인식하지 못하고 저장소로 전송하지 않는다.

  • 추가를 시킬 파일이나 폴더를 선택하여 마우스 우클릭으로 메뉴를 불러온 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Add… 를 선택한다. 폴더를 선택할 경우 해당 폴더 내 추가 가능한 파일 리스트 팝업이 나타난다.
  • 추가 작업이 종료되면 해당 파일/폴더의 아이콘에 + 기호가 추가 된다.
    • 추가 작업을 한 파일을 다시 되돌리고 싶다면, 서브 메뉴의 Undo Add… 를 이용한다.
  • 해당 파일/폴더를 커밋하면 추가가 완료된다(반드시 커밋을 해야 해당 파일/폴더가 저장소로 전송된다).

파일/폴더 삭제 Delete

기존 저장소에 저장되어 있던 파일/폴더를 삭제해야 할 경우 삭제 명령을 이용한다.

  • 삭제를 시킬 파일/폴더를 선택하여 마우스 우클릭으로 메뉴를 호출 한 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Delete를 선택한다.
  • 삭제 작업이 완료 되면 해당 파일이 삭제 된다.
    • 삭제 작업을 한 파일을 다시 되돌리고 싶다면, 서브 메뉴의 Revert를 이용한다.
  • 해당 파일/폴더를 커밋하면 삭제가 완료된다.

파일/폴더 이름 바꾸기 Rename

기존 저장소에 있는 파일/폴더의 이름을 변경하고 싶을 경우 이름 바꾸기 명령을 이용한다.

  • 이름을 바꿀 파일/폴더를 선택하여 마우스 우클릭으로 메뉴를 호출 한 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Rename을 선택한다.
  • 바꿀 이름을 확장자까지 입력한 후 OK를 누른다.
  • 해당 파일/폴더를 커밋하면 이름 변경이 완료 된다.

Tortoise SVN 사용 시 요긴하게 쓰이는 기능들

다음에 설명 될 기능들은 SVN을 이용하면서 자주 이용하게 되는 기능은 아니지만, 이용 중 발생하는 문제의 원인을 확인하거나 조치하기 위해 사용되는 기능들이다. 여기에서는 몇가지 주요 기능들에 대해서 설명하도록 한다.

로그 보기 Show Log

변경 사항에 대한 기록을 확인하기 위해서 사용한다. 저장소에 저장된 작업물의 로그를 리비전 단위로 확인 할 수 있으며, 각 리비전 별로 커밋 시 입력한 메시지, 변경된 파일 목록을 확인 할 수 있다.

  • 작업 복사물이 있는 폴더에서 마우스 우클릭으로 메뉴를 호출한 후,Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Show Log를 선택한다.
    • From / to: 검색하고자 하는 로그의 기간을 입력 할 수 있다.
    • Messages, authors and paths 입력 폼: 검색하고자 하는 키워드를 이곳에 입력하여 검색한다.
    • Revision List: 리비전 별로 분류되어 있는 검색 결과 항목이 리스트로 표시 된다. 해당 항목을 클릭하면, 하단에 메시지와 변경 내역이 출력 된다.

저장소 브라우저 Repo-browser

저장소 브라우저는 현재 저장소에 저장된 작업물의 구조를 확인 할 수 있게 해준다. 저장소 브라우저를 통해 저장소에 저장되어 있는 폴더의 구조, 파일의 위치 등을 확인 할 수 있다.

  • 작업 복사물이 있는 폴더에서 마우스 우클릭으로 메뉴를 호출한 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Repo-browser를 선택한다
    • URL: 현재 보고 있는 저장소의 주소이다. 주소를 직접 변경하여 다른 저장소를 확인 할 수 있다.
    • Revision: 각 리비전에 따른 저장소 구조를 확인 할 수 있다. Head는 최신 리비전을 나타내며, 특정한 리비전 번호를 입력하면 해당 리비전의 폴더 및 파일 구조를 확인 할 수 있다.

위치 재지정 Relocate

작업 복사물에서 신나게 작업하고 있는 동안 갑자기 저장소가 들어있는 서버의 IP가 바뀐다던가, 도메인 이름이 바뀌거나 하는 경우 해당 작업 복사물에서 가지고 있는 저장소의 위치를 변경해야 할 경우가 발생한다. 이럴 경우 위치 재지정 명령을 이용한다.

  • 작업 복사물이 있는 폴더에서 마우스 우클릭으로 메뉴를 호출한 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • 서브 메뉴 중 Relocate를 선택한다.
    • 입력 폼에 변경된 URL을 입력한 후 OK 버튼을 누르면 위치 재지정이 완료된다.

변경사항 비교 Diff

Tortoise SVN을 이용하여 이전 버전과 현재 버전의 변경 사항을 비교 할 수 있다. 변경사항 비교는 파일 형식에 따라서 비교가 불가능 할 수 있으며(바이러니 파일은 불가능 하다), 기본적으로 Text 파일 형식, 그래픽 파일 포맷(JPG, GIF, PNG 등), MS 오피스 제품군의 저장 파일들(DOC, XLS 등)의 경우 해당 기능을 이용 할 수 있다.

  • 변경사항을 비교하고자 하는 파일을 선택하고 마우스 우클릭으로 메뉴를 호출한 후, Tortoise SVN을 선택하여 서브 메뉴를 불러온다.
  • Diff with previous version 을 선택하면 해당 파일의 바로 이전 버전과 현재 작업 복사물에 있는 버전을 동시에 열어준다-별도의 비교용 프로그램을 이용하여 두 파일을 동시에 열게 된다.
    • 참고: 리비전 로그 혹은, 커밋 등의 진행 팝업에서 파일 명을 더블 클릭 하면 해당 파일의 변경 사항을 바로 확인 할 수 있다.