TortoiseSVN Logo

TortoiseSVN 1.7의 새로운 기능

광고

TortoiseSVN 1.7은 이전의 모든 TortoiseSVN 릴리스의 상위 집합이며, 현재 안정적이고 "최고의" 릴리스로 간주됩니다. 이전 버전의 모든 내용은 1.7에도 포함되어 있지만, 1.7에는 이전 릴리스에 없던 기능과 버그 수정이 포함되어 있습니다.

TortoiseSVN 1.7은 Windows 2000 지원을 중단했습니다. 작동하려면 최소한 서비스 팩 3이 설치된 Windows XP가 필요합니다. 여전히 Windows 2000 또는 서비스 팩 3이 없는 Windows XP를 사용 중이라면, OS를 업그레이드하거나 TortoiseSVN 1.6을 계속 사용해야 합니다.

이 페이지는 주요 변경 사항만 설명합니다. 전체 변경 사항 목록은 커밋 로그에서 확인할 수 있습니다.

작업 사본 메타데이터 저장소 개선

Subversion 1.7은 WC-NG라는 코드명으로 Subversion의 작업 사본 메타데이터 관리 시스템을 완전히 재작성한 기능을 제공합니다. 이 새로운 형식에 대한 자세한 내용은 Subversion 1.7 릴리스 노트에서 확인할 수 있습니다.

중앙 집중식 메타데이터 저장소

Subversion 1.7에서 도입된 변경 사항의 핵심 기능은 작업 사본 메타데이터 저장소를 단일 위치로 중앙 집중화하는 것입니다. 작업 사본의 모든 디렉터리에 .svn 디렉터리가 있는 대신, Subversion 1.7 작업 사본에는 작업 사본의 루트에 하나의 .svn 디렉터리만 있습니다. 이 디렉터리에는 (다른 것들 외에) 해당 작업 사본에 Subversion이 필요한 모든 메타데이터를 포함하는 SQLite 기반 데이터베이스가 포함되어 있습니다.

데이터가 구조화된 형식으로 저장되지만, 데이터 간의 관계는 복잡합니다. 외부 도구가 이 데이터베이스에 저장된 데이터를 수정하는 것을 강력히 권장하지 않습니다. 그러한 수정은 작업 사본 손상으로 이어질 가능성이 높습니다.

작업 사본 업그레이드

Subversion 1.7은 작업 사본 형식에 상당한 변경 사항을 도입합니다. 이전 릴리스에서는 쓰기 작업이 수행될 때 Subversion이 작업 사본을 새 형식으로 자동으로 업데이트했습니다. 그러나 Subversion 1.7은 이를 수동 단계로 만들 것입니다.

기존 작업 사본을 TortoiseSVN 1.7과 함께 사용하려면 먼저 형식을 업그레이드해야 합니다. 오래된 작업 사본을 마우스 오른쪽 버튼으로 클릭하면 TortoiseSVN은 컨텍스트 메뉴에 Upgrade working copy 명령만 표시합니다.

upgradewc

안전하게 사용하려면 1.7 이전 SVN 클라이언트를 사용하여 모든 작업 사본에서 cleanup을 실행해야 합니다. 작업 사본이 일관성 없는 상태에 있으면 업그레이드 프로세스가 실패할 수 있기 때문입니다. 새로운 버전의 TortoiseSVN을 설치하기 전에 정리(cleanup)를 실행하는 것이 가장 좋습니다.

정리 후에도 업그레이드 프로세스가 항상 원활하게 실행되는 것은 아니며, 다소 느릴 수 있습니다. 업그레이드하기 전에 모든 변경 사항을 작업 사본에 커밋(1.7 이전 클라이언트를 사용하여)하는 것이 좋습니다. 어떤 이유로든 업그레이드가 실패하면 새로 체크아웃하면 됩니다.

작업 사본을 업그레이드한 후에는 이전 SVN 클라이언트는 해당 작업 사본에 액세스할 수 없습니다. 따라서 모든 SVN 클라이언트(TortoiseSVN만 사용하지 않는 경우)를 업데이트했는지 확인하십시오.

편의를 위해 TortoiseSVN은 TortoiseSVN/bin 디렉터리에 1.7 SVN 명령줄 클라이언트 사본을 포함합니다.

x64 설치 프로그램

이전 릴리스에서는 x64 OS에 TortoiseSVN을 설치한 사용자도 32비트 애플리케이션에서도 기능을 사용하려면 TortoiseSVN의 32비트 버전을 별도로 설치해야 했습니다.

TortoiseSVN 1.7은 x64 설치 프로그램에 필요한 32비트 구성 요소를 포함합니다. x64 OS에 TortoiseSVN의 32비트 버전을 설치할 필요가 없습니다.

속성 대화 상자

SVN 속성 처리가 훨씬 쉬워졌습니다. 작업 사본에 설정하거나 설정해야 하는 대부분의 속성은 이제 정확한 형식을 알지 못해도 설정하고 수정할 수 있습니다. TortoiseSVN 1.7은 알려진 대부분의 속성에 대해 사용자 정의 대화 상자를 제공합니다.

propertydlgexternals propertydlgbugtraq

위 스크린샷은 svn:externals 및 모든 bugtraq: 속성에 대한 새로운 속성 대화 상자를 보여줍니다. TortoiseSVN 1.7에는 더 많은 사용자 정의 속성 대화 상자가 있습니다. 모든 대화 상자에 대해 알아보려면 문서를 참조하십시오.

Windows 7 라이브러리

Windows 7의 탐색기는 공통점을 가진 파일 및 폴더의 컨테이너인 라이브러리를 도입했습니다.

TortoiseSVN 1.7은 SVN 작업 사본을 위한 새로운 라이브러리 유형을 생성합니다.

win7svnlib

작업 사본의 루트 폴더를 새 라이브러리 폴더에 넣으면 탐색기 상단에 가장 많이 사용되는 명령(커밋, 업데이트, 수정 사항 확인, 로그 표시)을 실행하는 4개의 버튼이 나타납니다.

이렇게 하면 자주 사용되는 명령에 대해 마우스 오른쪽 클릭 컨텍스트 메뉴를 사용하지 않아도 되므로 마우스 클릭 횟수를 많이 줄일 수 있습니다.

로그 대화 상자

로그 대화 상자는 크게 달라 보이지 않습니다. 하지만 그 핵심에는 많은 변화가 있었습니다. 가장 눈에 띄는 것은 성능 향상일 수 있습니다. 수십만 개의 항목을 표시하고 필터링하는 작업이 이제 거의 즉시 수행됩니다.

필터링도 많이 개선되었습니다. 특히 구문은 이제 웹 검색 엔진에서 사용자들이 익숙한 것과 더 유사합니다. 예를 들어, Alice Bob -Eve로 필터링하면 Alice와 Bob을 모두 포함하지만 Eve는 포함하지 않는 문자열이 표시됩니다. 더 자세한 예시는 문서를 참조하십시오.

로그 대화 상자의 또 다른 기능은 필터 일치 항목을 빨간색으로 강조 표시한다는 것입니다. 이렇게 하면 로그 항목의 어떤 부분이 필터 문자열과 일치하는지 훨씬 쉽게 알 수 있습니다.

logfilter

로그 메시지에 리비전이 언급되면 로그 대화 상자는 이를 링크로 변환합니다. 해당 링크를 클릭하면 로그 대화 상자에서 언급된 리비전이 자동으로 선택됩니다.

loglinks

리비전 그래프

리비전 그래프도 많은 개선이 이루어졌습니다. 특히 시작 시간이 많이 단축되었으며, 이는 매우 큰 저장소에서 가장 두드러지게 나타날 것입니다.

리비전 그래프는 매우 커질 수 있으므로 비트맵 이미지로 저장하면 매우 큰 이미지가 될 수 있습니다. 그래프를 wmf 파일로 저장할 수는 있었지만, 해당 형식은 Windows에서만 사용할 수 있습니다. 물론 웹 브라우저에서는 표시할 수 없습니다.

버전 1.7의 리비전 그래프는 그래프를 SVG 형식으로 저장할 수 있습니다. 대부분의 웹 브라우저는 해당 형식을 기본적으로 표시할 수 있으며, 최신 버전의 Internet Explorer조차도 해당 파일을 직접 표시할 수 있습니다.

브라우저가 이 형식을 지원하는 경우, 이 링크를 따라 TortoiseSVN 리비전 그래프를 확인할 수 있습니다.

브랜치/태그 대화 상자

브랜치 또는 태그를 생성할 때 svn:externals 속성은 일반적으로 다른 저장소의 HEAD 리비전 또는 심지어 동일한 저장소의 다른 경로를 가리키면서 그대로 브랜치/태그됩니다.

svn:externals가 함께 태그되지 않으면, 생성된 태그에서 나중에 체크아웃할 때 외부의 HEAD 리비전을 가져오게 되는데, 이는 외부가 추가 커밋을 받은 경우 일관성 없는 빌드를 초래할 수 있습니다.

이제 브랜치/태그 대화 상자에서 외부도 태그할 수 있습니다.

branchtagexternals

브랜치 또는 태그를 생성할 때 외부가 명시적 리비전으로 설정되면, TortoiseSVN은 svn:externals 속성을 자동으로 변경합니다. 저장소의 HEAD 또는 특정 리비전에서 브랜치/태그가 생성되면, TortoiseSVN은 먼저 브랜치/태그를 생성한 다음 속성을 조정합니다. 이 작업은 각 속성에 대해 추가 커밋을 생성합니다. 작업 사본에서 브랜치/태그가 생성되면, 속성이 먼저 수정된 다음 브랜치/태그가 생성되고 속성이 원래 값으로 다시 변경됩니다.

커밋 대화 상자

커밋 대화 상자도 몇 가지 UI 변경 사항이 있었습니다. 가장 먼저 눈에 띄는 것은 커밋할 항목 목록 바로 위에 있는 새로운 링크 레이블입니다. 이 링크는 특정 항목을 선택하거나 선택 해제하는 데 사용됩니다. 이 링크 레이블을 사용하면 이전 버전에서 사용되었던 체크박스보다 이 작업을 훨씬 쉽게 수행할 수 있습니다.

commitdlg

이제 커밋 대화 상자는 TortoiseSVN에 대한 업데이트가 있는 경우, 즉 최신 버전이 설치되지 않은 경우 알림도 표시합니다. 이는 많은 사용자가 팝업 대화 상자에 짜증을 느꼈기 때문에 이전 버전에 나타나던 별도의 대화 상자를 대체합니다.

upgradecheck

저장소 브라우저

저장소 브라우저는 svn:externals 속성으로 포함된 폴더를 표시합니다. 다른 저장소에 있더라도 해당 폴더로 이동할 수 있습니다. 외부 폴더는 저장소의 일반 폴더와 구별하기 위해 빨간색 화살표로 표시됩니다.

repobrowserexternals

이제 저장소 브라우저에서 파일을 직접 편집할 수도 있습니다. 이렇게 하면 전체 작업 사본을 체크아웃할 필요 없이 파일에 빠르게 변경 사항을 적용할 수 있습니다.

저장소 브라우저를 시작하고 자체적으로 탐색하는 것도 1.7에서 광범위한 캐싱 및 백그라운드 정보 사전 가져오기 덕분에 훨씬 빨라졌습니다.

스파스 체크아웃

프로젝트의 몇몇 폴더만 있는 작업 사본이 필요한 경우, 이른바 스파스 체크아웃(sparse checkout)을 수행해야 합니다. 이전 버전에서는 먼저 부모 폴더를 깊이 없이 체크아웃한 다음, 필요한 깊이로 원하는 폴더를 하나씩 업데이트하는 여러 단계로 이루어졌습니다.

이제 훨씬 쉬워졌습니다. 체크아웃 대화 상자에 항목 선택... 버튼이 생겨 새로운 대화 상자가 열리고, 여기서 원하는 폴더와 파일을 쉽게 선택하고 필요 없는 폴더와 파일은 선택 해제할 수 있습니다.

sparsecheckout

모든 것이 선택되면 체크아웃이 나머지를 처리하여 원하는 스파스 작업 사본을 얻게 됩니다. 이 모든 것이 한 번의 쉬운 단계로 이루어집니다.

TortoiseMerge

TortoiseMerge는 자주 요청되던 몇 가지 기능을 추가했습니다.
변경되지 않은 섹션 숨기기
차이점이 없는 섹션은 숨겨서 변경 사항만 볼 수 있습니다. 이는 너무 많이 스크롤하지 않고도 변경 사항을 더 잘 파악하는 데 도움이 됩니다.
긴 줄 나누기
지나치게 긴 줄은 좌우 스크롤을 많이 해야 하므로 보기 어렵습니다. 새로운 옵션을 사용하면 해당 줄을 볼 때 여러 줄로 나눌 수 있어 더 이상 옆으로 스크롤할 필요가 없습니다.
단어 표시
단어/변수/문장 등을 두 번 클릭하면 문서 전체에서 해당 단어가 표시됩니다. 그리고 왼쪽에 있는 보기 바는 문서에서 동일한 단어/변수/문장을 찾을 수 있는 위치를 나타냅니다. 이를 통해 변경 사항을 훨씬 쉽게 검토할 수 있습니다.

호환성 문제

로컬 클라이언트 호환성

Subversion 작업 사본은 때때로 TortoiseSVN, AnkhSVN 및 SVN 명령줄 클라이언트와 같은 여러 다른 클라이언트를 사용하여 액세스됩니다. 이 릴리스에서 작업 사본 형식이 변경되었으므로, 1.7 클라이언트는 이전 작업 사본을 먼저 업그레이드하지 않고는 액세스할 수 없습니다. 1.7 이전 클라이언트는 1.7 작업 사본에 전혀 액세스할 수 없으며 다운그레이드 옵션은 없습니다.

1.7 작업 사본으로의 마이그레이션은 일방향 작업으로 간주되어야 합니다. 동일한 작업 사본에서 여러 클라이언트를 사용해야 하는 경우 작업 사본을 업그레이드하기 전에 모든 클라이언트를 업데이트할 수 있는지 확인하십시오.

클라이언트 서버 호환성

이전 클라이언트와 서버는 1.7 서버 및 클라이언트와 투명하게 상호 운용됩니다. 즉, 1.7 클라이언트를 이전 서버와 함께 사용할 수 있으며, 1.7 서버를 이전 클라이언트와 함께 사용할 수 있습니다. 그러나 클라이언트와 서버가 모두 최신 버전이 아닌 경우 일부 새로운 1.7 기능은 사용하지 못할 수 있습니다. 또한 새로운 기능이 작동하지만 클라이언트가 새롭고 서버가 오래된 경우 효율성이 떨어지는 경우도 있습니다.

새 기능 호환성 표

새 기능최소 클라이언트1최소 서버최소 저장소참고
HTTPv21.71.7모든이전 클라이언트/서버 조합의 조합은 1.7 이전 기능 수준에서 계속 작동합니다.
WC-NG1.7모든모든1.6 작업 사본은 1.7과 함께 사용할 수 없으며 새 1.7 형식으로 자동으로 업그레이드되지 않습니다.
1참고: file:// 저장소 접근 방식을 사용할 때 Subversion 프로그램은 클라이언트 이자 서버입니다.
한국어 中文