2009-11-25 6 views
3

주요 코드베이스 재구성을 수행하려고하지만 이전에 수행 된 분기에 트렁크 수정 프로그램을 쉽게 적용 할 수있는 방법을 제공 할 수없는 한 계속 진행할 수 없습니다. 개편.폴더 구조가 변경되었을 때 파일을 병합하는 방법

내가 고려한 한 가지 접근 방법은 모든 지원 지점에 재구성을 적용하는 것이었지만 잠재적으로 불안정하게 만들었습니다.

선호되는 방법은 업데이트 된 파일 위치를 고려할 수있는 병합 도구를 제공하는 것입니다. 이 구현할 수있는 방법에 대한 제안?

답변

1

분기가 항상 유지 보수 관련이 아닌 핫픽스와 관련된 동일한 상황에 있습니다. 우리는 종종 여러개의 활성 안정화 브랜치를 유지해야하며 이들을 병합해야합니다. 우리는 트렁크에 지속적인 통합을 실천하기위한 범위를 혼합하는 사치가 없습니다.

보다 세부적인 수준에서 병합을 수행하는 것이 좋습니다. 폴더가 이동 된 경우 한 브랜치의 이전 위치에서 다른 브랜치의 새 위치로 직접 병합을 수행하십시오. 나는 또한 매우 "svn 이동"원래 구조 조정을 수행하는 것이 좋습니다, 그것은 조상을 이해 보장합니다.

어느 쪽이든, 그것은 즐겁고 매우 수동적이지 않습니다. 좋은 기록을 유지하십시오.

+0

정확히 svn 이동은 무엇입니까?! – Amir

+0

svn move를 사용하면 디렉토리 트리를 저장소와 함께 이동하여 저장소 트리의 다른 위치로 이동할 수 있습니다. 단순히 SVN 외부에서 파일을 이동하면 SVN은 파일을 삭제하고 새 파일을 추가하는 두 개의 별도 작업으로 등록합니다. 동일한 파일 인 경우에도 마찬가지입니다. – Dan

2

제 질문은 왜 재구성을 다시 분기로 병합 하시겠습니까? 브랜치 뒤에있는 개념은 (일반적으로) 유지 보수 모드 (예 : 트렁크가 버전 4이고 버전 3을 다시 고치고 버전 3 브랜치에서 수정해야 함)이거나 사람들이 일부 작업을 수행해야한다는 것입니다 반드시 트렁크에 갖고 싶지는 않습니다.

코드베이스의 전체 조직을 수행하고 있다면 코드에 대한 일부 종속성을 깨는 것이 좋습니다. 이 작업을 수행하지 않으면 실제로 수행 할 수있는 리팩토링을 제한 할 수 있습니다.