작업 사본 버전 해제
많은 사람들이 메일링 리스트에서 "작업 사본을 버전 해제하는 방법", "저장소에서 작업 사본을 분리/연결 해제하는 방법", "버전 관리에서 파일을 제거하는 방법" 등에 대해 물었습니다. 이 모든 질문은 사용자들이 모든 Subversion 작업 사본 내부에 있는 숨겨진 .svn 폴더를 제거하고 싶어 한다는 것을 보여줍니다.
일반적으로, 압축이나 아카이빙 등을 위해 버전 관리된 파일의 "깨끗한 사본"이 필요합니다.
Subversion에서 이를 수행하는 명령은 "Export"입니다. 작업 사본이나 저장소 URL을 내보내면 모든 파일의 사본이 생성되지만, .svn 폴더는 포함되지 않습니다. 하지만 export 명령은 사본을 생성하는 것이지, 기존 작업 사본에서 .svn 폴더를 제거하지는 않습니다. 이는 대부분의 사용자가 원하는 것입니다.
그러나 일부 사용자들은 실제로 작업 사본을 버전 관리되지 않은 상태로 만들고 싶어 합니다. 웹을 검색하면 경로를 재귀적으로 스캔하여 .svn 폴더를 모두 삭제하는 스크립트를 게시하는 많은 사용자를 찾을 수 있습니다. 하지만 TortoiseSVN이 설치되어 있다면 그럴 필요가 없습니다.
TortoiseSVN에는 정확히 그 기능을 수행할 수 있는 잘 알려지지 않은 기능이 내장되어 있습니다: 모든 .svn 폴더를 자동으로 제거합니다. 그렇다면 이 기능은 어디에서 찾을 수 있을까요?
"Export" 명령을 사용하세요! 하지만 잠시만요, 제가 방금 export 명령이 작업 사본의 파일 사본을 만들고 원본 작업 사본을 변경하지 않는다고 말씀드리지 않았나요? 그렇다면 export 명령이 기존 작업 사본에서 .svn 폴더를 어떻게 제거할 수 있을까요?
간단합니다: 작업 사본을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 "Export..."를 선택하면, 작업 사본을 내보낼 폴더를 선택할 수 있는 폴더 찾아보기 대화 상자가 나타납니다. 이제 작업 사본이 있는 바로 그 경로를 대상으로 선택하면(즉, 작업 사본을 자기 자신에게 내보내는 경우), TortoiseSVN은 해당 작업 사본의 모든 .svn 폴더를 제거합니다.
이것을 수행하는 또 다른 방법은 작업 사본을 자기 자신에게 마우스 오른쪽 버튼으로 드래그하는 것입니다. 탐색기는 같은 창에서 항목을 자기 자신에게 드래그하는 것을 허용하지 않으므로, 두 번째 탐색기 창을 사용하거나 아래 애니메이션에 표시된 것처럼 트리 뷰로 드래그해야 합니다.