2009-03-30 5 views
0

최근에 저는 약 2 년 전에 마지막으로 작업 한 오래된 프로젝트를 다시 방문했습니다. 분명히,이 시간 동안 나는 프로그램하는 것이 가장 좋은 방법에 대한 새로운 습관을 배웠고, 테스트를 유지하고, 구현을 폐기하고, 전체 프로젝트를 다시 구현하는 것이 가벼운 것입니다. 그것은 큰 프로젝트가 아니며, 나는 그것을 다시 작성함으로써 많은 것을 잃지 않을 것이라고 믿습니다.새로 작성한 프로젝트의 이전 트렁크를 "폐기"해야합니까?

그러나 버전 기록에 대해 어떻게해야할지 모르겠습니다. 업데이트를 완료하면 새 버전은 코드의 3-4 % 만 이전 버전과 공유합니다. 더욱이, 변화는 너무나 광범위하여 깨끗한 체인지 세트를 유지하려고 시도하는 것이 좌절감과 무의미 함의 연습입니다. 이 점을 감안할 때 잠재적 인 개발자가 이전 버전과 무관 한 버전을 다운로드하도록 강요하는 것은 불필요한 것 같습니다.

내가 고려한 한 가지 옵션은 트렁크를 old-trunk/과 같은 지점으로 옮기고 빈 지점에서 개발을 시작하는 것입니다. 이것이 좋은 생각인지 나는 모른다. 나는 두 개의 트렁크를 가지고 있으면 혼란을 겪을 수 있다고 우려하고있다. 어떤 질문에 나를 데려 오니 :

그게 뭐야? 트렁크를 "재설정"한 프로젝트가 발생하면 혼란 스럽습니까?

답변

4

"OldVersion"으로 트렁크에 레이블을 붙이거나 태그를 지정하지 않고 같은 위치에서 계속 개발해야하는 이유는 무엇입니까? 이 방법을 사용하면 이중 분기를 피할 수 있으며 이전 버전의 코드로 이동할 수 있습니다. 다른 제품을 개발하지 않는 한 동일한 트렁크를 유지하려고합니다.

+0

의 나머지 데일리 WTF 위에 사료를 올리기 시작,

는 HIPAA 준수 불안 그리고 모든 사람에게 그들은 당신이 다시 코드를 드리겠습니다 "오래된"트렁크와 "새로운"트렁크간에 공유되는 코드는 거의 없습니다. 그러나 이전 버전과 상관없는 버전은 여전히 ​​버전 목록, 프로젝트 요약 등에 나타납니다. –

+0

@ 존, IMHO, 유지 관리 기록은 좋은 것입니다. 번역하는 동안 임의의 코드 조각을 클릭하면 코드를 컨텍스트에 넣기 위해 기록이있는 것이 좋습니다.버전은 현재 버전의 코드로 이어지는 프로세스의 일부이므로 관련성이 없습니다. – JaredPar

+0

나는 단 하나의 트렁크 만 붙잡기로 결정했다. 이전 코드를 제거하고 커밋 한 다음 새 코드에서 작업을 시작하겠습니다. –

0

나는 $ trunk에 태그를 붙이므로 "복사본"이 있습니다. 릴리스 된 마지막 버전 또는 다시 시작하기 전의 날짜에 태그를 붙입니다. 실제로 출시 된 날짜에 태그를 지정하고 실제 태그 자체의 이름을 실제 날짜로 지정합니다. (시스템에서 지원하는 태그라면 Label inplace를 사용하십시오.)

태그가 지정되면 필요에 따라 삭제/이름 바꾸기/오버홀을 수행합니다. 버전 기록이 있습니다. 또한 보관 목적으로 레이블이 지정되었거나 태그가 붙은 전체 사본이 있습니다.

0

SVN을 사용한다고 가정 할 때 실제로 할 일이별로 없습니다. 리팩토링을 시작한 버전을 기억하고 트렁크 작업을 계속하십시오. 이전 코드에서 새로운 코드로의 변경 기록이 기록되므로 빈 분기로 이동하는 것보다 낫습니다.

그러나 처음부터 작성하고 오래된 코드를 복사하려는 경우 새로운 저장소에서 시작하는 것이 좋습니다.

+0

"rm -rf *"를 제외하고 이전 버전과 새 버전 사이에는 중요한 역사가 없습니다. 아마도 README와 makefile은 상대적으로 손상되지 않지만 나머지는 거의 남아 있지 않을 것입니다. –

+0

그러면 새로운 저장소가 최선의 선택 일 것입니다. 결국 완전히 새로운 프로젝트입니다. –

0

이전 버전을 버릴 필요가 없습니다. 모든 변경을하고 체크인하십시오. 새 개발자는 이전 코드를 다운로드 할 필요가 없으며 항상 새 버전을 체크 아웃합니다.

0

아니요, 프로젝트 문서에 내가 들어선 전에 그것을 보여주기 때문에 혼동하지 않을 것입니다. 우리 모두는 다시해야 할 필요가 있고 솔직히 말해야합니다. , O) 을 그리고 언급 한 바와 같이 다음 우리 80))

+0

이것은 개인 프로젝트이므로 허가 요청에 대해 걱정할 필요가 없습니다. 나는 코드가 DWTF에 적합 할 것이라는 것을 의심한다. 특히 나쁜 코드는 아니며, 코드를 작성하는 데있어서 YAGNI에 대해 들어 본 적이 없다. –

+0

코드가 다르다면 전혀 새로운 프로젝트가 아닌가? – Keng

+0

나는 그 이름이 영리하다고 생각한다. :) –

관련 문제