2008-10-02 4 views
38

표준 레이아웃 (예 : trunk/및 branches/(및 tags /))을 가진 Subversion 저장소가 있습니다. 보다 큰 변경 작업을 수행 할 때 기능 분기가 사용되며 정기적으로 트렁크와 동기화되며 나중에 나중에 트렁크로 다시 통합됩니다 (현재 1.5 사용). 꽤 표준적인 것들.Subversion : 이전 지형지 물 삭제 및 유지하기

필자가 궁금해하는 점은 이러한 기능 브랜치가 완료되고 병합되면이를 보관하거나 삭제해야하는지 여부입니다. Subversion의 책은 때때로 그것들을 지우는 것이 일반적이라고 제안하는 것처럼 보이지만, 나는 또한 가지를 지키는 많은 오픈 소스 프로젝트를 보았다.

브랜치를 삭제하면 어떤 브랜치가 존재했는지 추적하는 것이 더 어려워 질 수 있습니다. 특히 잠재적으로 중복 이름이 시나리오에 입력 될 때 (예 : 검색 리팩터링을 두 번 말한 경우), 커밋 히스토리가 저장소의 깊이 등등.

반면에, 분기는 상당히 많이 사용됩니다. 특히 1.5를 사용하면 많은 것들을 찾아 내고 싶지 않은 생각이 듭니다. 현재 작업 중입니다.

제가 누락 된 찬성 의견은 무엇입니까? 사람들은 무엇을하고 있습니까?

답변

28

실제로 삭제하는 것이 걱정되면 '잊어 버리지 않도록', '비활성'이라는 브랜치 아래에 폴더를 만들고 이전의 비활성 브랜치를 svn move으로 만듭니다. 이것은 당신을위한 두 세계의 최고일지도 모르다.

+2

여전히 중복 분기 이름과 경쟁하지 않겠습니까? 비활성으로 변경된 날짜로 이름을 바꿀 수도 있습니다. – farinspace

21

안전하게 삭제할 수 있습니다. 그것들을 삭제해도 저장소에서 제거되지는 않지만 할당 된 공간은 다시 회수되지 않지만 전체 프로젝트 트리가 더 깨끗하게 보일 것입니다.

11

나는 지저분한 점이 없어지기 때문에 지형지 물을 지워 버렸습니다. 다른 개발자들에게는 약간의 혼란이있었습니다 만, 버그 추적 시스템에 커밋의 개정 번호를 기록 했으므로 꽤 매끄 럽습니다. 누군가가 분기를 찾을 수 없다는 말을하면, -rrevision 플래그를 log/diff/checkout /에 사용하십시오. 일반적으로 필요한 모든 것이 있습니다.

8

저희 팀에서는 혼란을 피하기 위해 삭제합니다. 그것은 어쨌든 떠나는 것 같지 않습니다. 원하는 경우 검색 할 수 있습니다. 당신은 그들이 그것을 다시 찾는 것이 어려울지도 모릅니다. 당신은 파일이 보이기 위해 당신의 클라이언트에게 그 개정판을 보도록 지시 할 수 있도록 지점이 존재하는 개정 번호를 알아야합니다.

우리는 프로젝트 관리에 FogBugz를 사용합니다.이 프로젝트 관리는 개정 번호로 SVN 저장소에 커밋 된 시간을 추적합니다. 이것을 사용하여 파일을보기 위해 되돌릴 버전을 결정할 수 있습니다. FogBugz에서 기능 내역을 찾고 해당 지점이 어떤 개정판인지 확인한 다음 해당 정보를 사용하여 뒤로 이동합니다.