2009-09-04 8 views
1

버전 V1.0, V1.1 및 V1.2의 여러 버전이있는 응용 프로그램을 상상해보십시오.버전 제어 버전 별 파일

사용자 설명서, 기능 테스트 제품군 또는 일부 기술 문서와 같이 버전 관련 파일이 하나 이상 있다고 상상해보십시오. 이상적으로 이러한 파일은 애플리케이션 자체와 함께 버전으로 체크인되므로 특정 버전과 관련된 모든 파일 (예 : 지속적인 빌드의 일부로 기능 테스트 실행)을 쉽게 보거나 체크 아웃 할 수 있습니다.

문제는 코드가 아닌 경우에도 이러한 파일을 업데이트해야 할 수도 있다는 것입니다. 예를 들어, 해당 버전을 계속 사용중인 고객을 위해 수정하려는 V1.0 사용자 설명서의 오류를 발견 할 수 있습니다. 또는 고객이 수행하기 전에 해당 버전의 버그를 발견하기 위해 V1.2의 기능 테스트 범위를 개선하고자 할 수 있습니다. 그에 따라 파일을 변경 한 후에는 버전 관리를 위해 어떻게 커밋해야합니까? 우리는 소프트웨어의 새 버전을 발표하지 않고 있으며, 새 버전의 파일도 함께 제공합니다.

FWIW, 우리는 SVN을 사용하고 있습니다.

+0

우리는 3 차원 버전 제어 시스템이 필요합니다. 각 코드 개정 (즉, 개발 트리의 노드)은 위에서 언급 한 것과 같은 코드가 아닌 파일을위한 브랜치를 가질 수 있습니다. –

+0

소스 제어 시스템 현재 사용하고 계십니까? –

+0

@ Andrew : CLearcase는 "3d"버전 제어가 가능합니다. 그것은 비싼 야수입니다. – skaffman

답변

1

정말 문제가 없습니다.

원하는만큼 자주 커밋합니다. 당신이 말하는 것은 주어진 문서의 다른 개정을 가져올 수 있고 그것들을 하나의 "릴리스"로 압축하는 것입니다. 어떻게 구축하는지에 따라이 작업을 수행 할 수 있습니다. 특정 버전을 특정 버전으로 업데이트 할 수 있습니다 (적어도 SVN에서는 가능합니다. 다른 시스템 [예 : 시각적 소스 안전 (신의 도움)])을 말할 수는 없습니다.

사용중인 SVN 인 경우 '태그 지정'기능에 관심이있을 수 있습니다.

+2

태그는 읽기 전용으로되어 있지만 V1.0을 업데이트하려고하지만 트렁크는 V1.1이면 분기가 필요합니다. V1.0을 업데이트해야합니다. 그렇지 않으면 V1.1을 V1.0으로 가져올 위험이 있습니다. – si618

6

새 버전을 릴리스 할 때 프로젝트와 관련된 모든 사항 (문서, 기능 테스트)이 복사 (분기)되면 분기에서 필요한 것을 업데이트하면됩니다.

일반적으로이 작업은 트렁크에서 병합하여 수행되지만 변경 내용이 해당 버전에만 해당되는 경우에는 그렇지 않을 수도 있습니다.

+0

이것이 실제로 접근하는 가장 좋은 방법입니다. 브랜치는 버그 수정을 추가하는 데 사용될 수 있으며 트렁크는 개발을 계속 진행하는 데 사용됩니다. –

+0

일반적으로 릴리스 분기에서 버그 수정을 수행하여 트렁크로 다시 전파합니다. 이것은 트렁크에서 합병하고 체리 - 변화가 필요한 것을 선택하는 것보다 훨씬 쉽습니다. 나는 이것이 버전 관리 유형 사람들에 의해 제시된 최선의 방법이라고 생각한다. – Chance