WordPress Core에 제출하기위한 패치를 만드는 가장 쉬운 방법은 무엇입니까?


13

Trac 에서 WordPress 코어대한 몇 가지 패치를 제출 했지만 (그중 하나가 사용되었습니다), 그렇게 할 때마다 설정을하는 것이 매우 지루하기 때문에 울부 짖습니다.

핵심 패치를 제출하는 데 필요한 단계를 자세히 설명하고 프로세스를 간소화하는 가장 좋은 방법은 지루하지 않습니까? 현재 Mac OS X 및 PhpStorm을 사용하고 있지만 쉘 스크립트가 가장 쉽다고 생각합니까? 아니면 모든 rote가 작동하는 PHP 스크립트입니까?

문제 중 하나는 내가 무엇을 시작해야하는지 완전히 이해하지 못한다는 것입니다. 트렁크로 시작합니까? 패치를 만들 때마다 새 사본을 다운로드하고 코드로 사본을 추가 / 편집해야합니까?

다시 SVN을 사용하여 작업을 수행했지만 패치는 실제로 현재 스킬 셋 외부에 있으며 변경하고 싶습니다. WordPress 패치 전문가가 제 구조에 도움이되기를 바랍니다. 미리 감사드립니다.

최신 정보:

@ hakre의 답변 후에 나는 질문에 더 많은 것을 추가해야한다고 생각합니다.

  • 이전 버전에서 패치를 만들거나 트렁크를 사용해야합니까?
  • 릴리스 된 버전 (3.0.1)을 사용하는 프로젝트에서 작업중인 경우이를 수정하여 코어에 대한 패치를 작성할 수 있습니까? 아니면 깨끗하고 새로운 트렁크 사본을 다운로드하여 설정하고 새로 수정해야합니까?
  • 쉘 스크립트를 사용하여 로그인을 스크립트로 인코딩하고 스크립트를 실행하여 필요한 모든 것을 다시 만들고 패치를 만들 수 있습니까?
  • 그리고 함정은 무엇입니까?

이러한 모든 질문은 WordPress의 SVN이 어떻게 작동하는지 알고있는 사람들에 의해 추측되는 것 같습니다.

답변:


8

패치를 만드는 가장 쉬운 방법은 다음과 같습니다.

http://wordpress.org/download/svn/

이전 버전에서 패치를 만들거나 트렁크를 사용해야합니까?

적용하려는 버전과 동일한 버전으로 패치를 작성해야합니다.

다시 말해서, WP 3.0.1에 대해 작성된 패치가 WP 3.1-alpha에 깨끗하게 적용될 것으로 기대하지 마십시오.

릴리스 된 버전 (3.0.1)을 사용하는 프로젝트에서 작업중인 경우이를 수정하여 코어에 대한 패치를 작성할 수 있습니까? 아니면 깨끗하고 새로운 트렁크 사본을 다운로드하여 설정하고 새로 수정해야합니까?

각각의 새 패치에 대해 새 설치를 설정할 필요가 없습니다. svn revert 를 사용 하여 원래 사본으로 돌아갈 수 있습니다 .

또한 데이터베이스를 매번 정리할 필요는 없습니다. 실제로 실제 환경을 시뮬레이트하기 위해 약간의 수정이있는 것이 좋습니다.


1
Gee, 작업 사본을 얻은 후에 패치를 만드는 것은 피의 일이 쉽습니다 svn diff > my-patch.patch.
brasofilo

5

이클립스 PDT + 서브 클립 스 + X

SVN Integration이있는 Eclipse를 사용 하고 있습니다 . PHP Strom도 그렇게 생각합니다. 기본적으로 WordPress svn 저장소에서 체크 아웃하는 트렁크 프로젝트 중 하나에 들어갑니다.

그런 다음 편집해야 할 파일을 편집합니다. Eclipse는 수정 된 것을 보여줍니다. 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 Team->Create Patch선택하면 diff에 대해 선택할 수있는 모든 변경된 파일이 제공됩니다. 그런 다음 클립 보드로 복사 또는 디스크에 저장 중에서 선택할 수 있습니다. 티켓 번호로 만든 모든 패치를 하드 디스크에있는 디렉토리에 저장합니다.

그런 다음 브라우저로 이동하여 패치를 업로드하십시오.

MyLyn Trac 통합 으로이 작업을 수행 할 수도 있습니다. 훨씬 편안하지만 trac에서 XML-RPC가 필요하므로 trac 관리자가 필요합니다. 그것은 잘 작동하지만 모든 프로젝트에서 구성하지 않았으며 주로 티켓 런 다운을 할 때 사용합니다.

실제로 원하는 경우 Eclipse를 확인하십시오. 거대하고 느리기 때문에 큰 컴퓨터가 필요합니다. 작은 것에서는 Fedora Linux에 대해 좋은 경험을했습니다. Eclipse는 잘 작동합니다. 나는 당신이 PHP Storm 팬이라는 것을 알고 있지만 글쎄, 나는 이클립스를 정말로 좋아하고 정말 많은 확장 기능을 제공합니다. PHP의 경우에도 :). 그러나 PHP Storm은 기본적으로 체크 아웃 / 패치 작업을 수행해야합니다.

워드 프레스 이클립스 1x1

아 그리고 나는 내가 사용한 모든 디렉토리를 저장하는 도구를 OS에 가지고있다. 패치를 저장하고 파일을 항상 빠르게 업로드 할 수 있습니다. 파일은 항상 최근 목록에있는 것과 같은 디렉토리에 있기 때문입니다.

통합 예 : PHP 코드 스니퍼, 이클립스 및 워드 프레스


대답 해줘서 고마워. 나는 이클립스를 시험 해보고 싫어했다. 너무 반응이없고 인터페이스가 마음에 들지 않았습니다. 따라서 Eclipse가 옵션이지만 귀하의 답변이 내 요구를 충족시키지 못하는 다른 사람들에게는 좋은 답변입니다. 나는 그것을 포기하고 투표하지만 IDE에 묶여 있지 않은 솔루션을 선호하며 프로세스를 더 잘 설명하는 솔루션을 선호합니다.
MikeSchinkel

또한 PhpStorm은 완전한 SVN (및 Git) 통합을 가지고 있지만 통합을 위해서는 각 메뉴가 어떤 영향을 미치는지 완전히 이해해야합니다. 메뉴 사용 방법에 대한 지침이 거의 없기 때문에 많은 메뉴가 있습니다. 도움말 파일에 있지만 상황에 따라 다르지 않으며 SVN + Git이 PhpStorm에 크게 추가 되었기 때문에 완전히 잊어 버릴 수 있습니다.) 이것이 핵심에서 이해하고 IDE로 전환 할 필요가없는 이유입니다. 나는 그것을 싫어합니다.
MikeSchinkel

@MikeSchinkel -SVN이 너무 복잡하다면 (SVN + Editor의 특징에 관계없이) 워드 프레스 프로젝트를위한 패치를 만들 수 없습니다. 기본적으로 SVN에 대한 UI 인터페이스가 마음에 들지 않으면 명령 줄을 배우십시오. 그러나 어쨌든 배워야합니다. btw를 좋아하는 편집기에서 SVN을 사용할 수 있습니다. 웹 서버에서 SVN 트렁크 카피를 실행하고 구성하여 패치를 작성하고 테스트 할 수 있습니다. 하나의 패치를 만든 후 로컬 복사본에서 로컬 변경 (복원)을 제거한 다음 다른 패치를 계속 사용할 수 있습니다. 항상 작동합니다. 또 뭐라고 할까?
hakre

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.