3

개정 제어를 위해 SVN을 사용합니다. 주요 개발은 트렁크에서 이루어지며 각 사용자에게 해당 분기가 만들어집니다 (의도 한 변경이 복잡한 경우).태그가있는 버전 (파괴)의 버그 수정

가끔씩 테스트 버전에 태그가 추가됩니다 (예 : /tags/v0.4).

그러나 심각한 버그가 트렁크 (다른 개발 중에)에서 언젠가 수정 될 수 있습니다.

는 지금은 태그 만 고정이 하나의 심각한 버그 (가능한 여러 심각한 버그 /tags/v0.4과 동일 /tags/v0.41 그러나 확실하지 모든 것을에서를 만들려면 트렁크).

TortoiseSVN을 어떻게 진행하나요?

I는 다음과 같이 제안 :

  1. /tags/v0.41/tags/v0.4에서 지점 (svn copy) 만들기를,
  2. 은 해당 변경 내용을 병합 트렁크 ~ /tags/v0.41에서 커밋

그러나 이것은 좋은 생각입니까?

어떻게 /tags/v0.41에 특정 트렁크 개정 (그리고 아무것도)에서 병합을해야합니까? 사실, 이것은 더 이상 태그가 아니며 어떻게 든 좋지 않은 가지가 될 것입니다 ...

답변

5

설명 된 절차는 올바른 것입니다.

특정 버그에 대한 수정 사항 만이 새 안정 버전 (트렁크)으로 커밋되고 개발에서 실수로 추가 기능이 포팅되지 않도록해야합니다. 번역.

  • 그것에서 패치를 만듭니다이 특별히 당신이 이 발견 된 버그를 해결 커밋에 대한 트렁크를 검색하고 /tags/v0.41 작업 복사본 에 적용 (또는 트렁크 개정판을 /tags/v0.41 작업 사본에만 병합하십시오.

참고 : 여러 커밋가 없거나 그냥 아무것도 건드리지 않고 버그가 해결되는 커밋이없는 경우, 당신은 손으로 새로운 태그 버전에 코드의 관련 라인을 복사해야합니다!

+0

안녕하세요, 감사합니다. 두 가지 질문이 남았습니다. 1.) 그래서 나는 가지를 필요로하지 않습니까? checkout /tags/v0.4, 패치를 적용하고 /tags/v0.41에 체크인합니까? 아니면 sth을 섞어 야합니까? 2.) 어떤 종류의 병합 이라기보다는 패치로 이것을하는 것이 정말로 맞습니까? 매뉴얼에서 파일/수정 사이의 연결이 끊어 지므로 패치를 피해야한다고 읽었습니다. 그러나 아마도 여기에는 관련이 없습니다 ... – divB

+0

@divB 예, 버그를 수정하는 한 개 이상의 개정판이 있으면 모든 병합이 더 정확합니다 (다른 경우에는 수동으로 파일을 편집하려면). 트렁크에서 /tags/v0.4를 체크 아웃하고 병합 (또는 패치 적용, 위 참조) 할 필요가있을뿐 아니라 작업 카피로부터 새로운 /tags/v0.4.1 브랜치를 생성 할 필요가 있습니다. (지점은 여러분이 배포 한 모든 버전의 코드를 분리해야하므로 1) 나중에 해당 버전의 코드를 다시 검색해야 할 경우 로그를 검색 할 필요가없고 2) 안정적인 알파 코드 혼합). –