2009-03-28 3 views
1

SVN을 사용하여 오픈 소스 프로젝트에 작동 패치 또는 버그 수정을 제출하는 가장 쉬운 방법은 무엇입니까?SVN을 사용하여 오픈 소스 프로젝트에 버그 수정을 제출하는 가장 쉬운 방법은 무엇입니까?

이상적으로, 나는 그것을 승인하면 직접 리포지토리에 쉽게 적용 할 수 있도록 리비전이나 패치를 제출하고 싶습니다.

중요한 경우 TortoiseSVN을 사용하고 있습니다.

+0

에 대해 가질 수있는 질문에 대한 메일 링리스트를 확인하여 고정하는 방법 어쩌면 (또는 당신이 그것을 감지하는 방법)과 버그가 재현 할 수있는 방법은 고정 된 버그를 설명 @ Simucal은 거북이에서 패치를 얻는 방법에 대한 질문입니까? 또는 다른 것? – eglasius

+0

@Freddy Rios, 예, 버그 수정을 프로젝트에 제출하고 SVN을 사용합니다. –

+0

@Simucal k의 단순한 파일 인 – eglasius

답변

3

이것은 당신이해야 할 일이다

  1. 이 버그가 이미 (트렁크 또는 분기)에 고정되어 있지 않은지 확인합니다. 릴리스에있는 버그는 개발 코드에서 이미 수정 된 경우가 많습니다.
  2. 이 당신의 작업 복사본에있는 버그를 수정 코드의 작업 복사, 컴파일하고 버그를 수정하면 그것을
  3. 을 테스트 같은 코딩 스타일을 사용하여 가져 오기 (예를 들어, 탭/공백, 들여 쓰기, 변수 명명, ...) 기존 코드로
  4. TortoiseSVN을 사용하고 있으므로 작업 사본을 마우스 오른쪽 버튼으로 클릭하고 TSVN 하위 메뉴 -> 패치 작성을 클릭하십시오. 패치 파일을 어딘가에 저장하십시오.
  5. 압축 파일을 압축하십시오 (대부분의 전자 메일 응용 프로그램은 첨부 된 텍스트 파일의 공백으로 혼란스럽고 패치 파일은 전혀 지장을주지 않아야합니다.)
  6. 프로젝트 메일 링리스트 또는 프로젝트 개발자), 당신은
  7. 는 개발자들이 여러분의 패치
+0

에 대한 답변이 추가되었습니다. 귀하의 의견에 Stefan에게 감사드립니다. TortoiseSVN에서 당신의 작품을 사랑하십시오! – mmcdole

2

비정상적으로 SVN 액세스는 코드를 알지 못하거나 리포지토리를 철거하려는 사람들이 만든 사고를 방지하기 위해 개발자에게만 제공됩니다. 패치는 bugtrackers를 통해 전송할 수 있습니다 - 체크 아웃 한 다음 작업 복사본을 수정하십시오. 변경 사항을 SVN으로 다시 보낼 수 없으므로 해결 된 문제에 따라 diff 파일 (패치)을 만들어 프로젝트 토론 게시판이나 버그 트래커에 게시하십시오. 사용자와 개발자가 그것을 좋아한다면 공식 저장소와 통합 할 것입니다. diff 파일을 사용하면 매우 쉽습니다.

때로는 프로젝트의 고유 한 분기를 얻을 수 있습니다. 예를 들어, 오픈 소스 게임 인 OpenTTD는 자체 패치 나 새로운 기능을 유지하고자하는 사람들을 위해 git 저장소를 제공합니다. 다른 프로젝트에서는 Launchpad를 사용할 수 있습니다.

1

소스 코드에 대한 최신 업데이트가 있는지 확인하고 변경 한 내용이 코드에 올바르게 병합되어 있는지 확인하고자 할 것입니다. 그 다음에는 원본 소스 코드와 작성한 새로운 소스 (svn diff)에 대해 diff를 작성해야합니다.

이 diff를 가져 와서 적절한 위치 (예 : 메일 링리스트, 일종의 버그 추적기 또는 한 사람이 프로젝트를 실행하는 경우 원래 작성자)로 보내십시오.

5

오른쪽 클릭 -> 거북이 svn-> 패치 파일에 작업 복사본의 변경 사항을 저장합니다

이 패치

을 만들 수 있습니다. 그렇게하면 변경 한 전체 목록을 볼 수 있습니다.

Ps. 패치 적용 방법에 주목하면 누구나 저장된 패치를 로컬 버전에 쉽게 적용 할 수 있습니다.

관련 문제