it-swarm-pt.tech

Maneira mais fácil de criar um patch para envio ao WordPress Core?

Eu enviei alguns patches para o WordPress core on Trac (um dos quais foi usado), mas toda vez que penso em fazê-lo eu me encolho porque a minha configuração para fazer isso é incrivelmente tediosa.

Alguém pode por favor detalhar os passos necessários para enviar um patch para o núcleo e, em seguida, a melhor maneira de agilizar o processo para que não seja tão entediante? Eu trabalho Mac OS X e PhpStorm atualmente, mas eu estou pensando em um script Shell pode ser mais fácil? Ou talvez um PHP Script que faz todo o trabalho de rotina?

Um dos problemas é que não entendo completamente o que preciso começar. Eu começo com o tronco? Preciso fazer o download de uma nova cópia e adicioná-la/editá-la com meu código toda vez que quiser criar um patch?

Mais uma vez, enquanto eu trabalhei com o SVN e o patch está realmente fora do meu conjunto de habilidades e eu quero mudar isso. Esperando que os especialistas em patch da WordPress possam vir em meu socorro. Desde já, obrigado.

ATUALIZAR:

Depois da resposta do @ hakre, acho que devo acrescentar mais à pergunta:

  • Posso criar patches a partir da versão mais antiga ou devo usar o trunk?
  • Se estou trabalhando em um projeto usando a versão lançada (3.0.1), posso modificá-lo e criar um patch para o core ou preciso baixar e configurar uma nova e nova cópia do trunk e, recentemente, fazer minhas modificações lá?
  • Posso fazer com scripts Shell para que eu possa codificar o login no script e apenas executar o script para recriar tudo o que preciso e/ou para criar o patch?
  • E quais são as armadilhas?

Todas estas questões parecem ser assumidas por aqueles que sabem como funciona o SVN do WordPress e, como tal, são sempre encobertos em qualquer discussão.

12
MikeSchinkel

A maneira mais fácil de criar um patch é descrita aqui:

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

Posso criar patches a partir da versão mais antiga ou devo usar o trunk?

Você deve criar o patch contra a mesma versão que você deseja aplicar contra.

Em outras palavras, não espere que um patch criado contra WP 3.0.1 seja aplicado corretamente em WP 3.1-alpha.

Se estou trabalhando em um projeto usando a versão lançada (3.0.1), posso modificá-lo e criar um patch para o core ou preciso baixar e configurar uma nova e nova cópia do trunk e, recentemente, fazer minhas modificações lá?

Você não precisa configurar uma nova instalação para cada novo patch. Você pode simplesmente usarsvn revertpara voltar a uma cópia original.

Além disso, o banco de dados não precisa estar limpo a cada vez. Na verdade, é melhor se você tiver algumas modificações para simular um ambiente ao vivo.

8
scribu

Eclipse PDT + Subclipse + X

Eu estou usando Eclipse que tem integração SVN . Eu acho que PHP Strom faz isso também. Eu entro em um dos meus projetos de tronco que são basicamente um checkout do repositório svn do WordPress.

Então eu edito os arquivos que preciso editar. Eclipse mostra quais são modificados, clico com o botão direito do mouse em um diretório, selecione Team->Create Patch e recebo todos os arquivos que eu possa selecionar para o diff. Então eu posso escolher entre copiar para a área de transferência ou salvar em disco. Salvei todos os patches que criei com o número do ticket em um diretório que eu tenho no meu disco rígido.

Então eu vou para o navegador e carrego o patch.

Eu também poderia fazer isso com um MyLyn Trac integration, que é ainda mais confortável, mas você precisa do XML-RPC no trac, então você precisa de um administrador do trac para entrar em contato. Ele funciona muito bem, mas eu não o tenho configurado em todos os projetos e uso isso principalmente quando faço as anotações dos ingressos.

Então, realmente, checkout Eclipse, se quiser. É enorme e lento, então você precisa de um grande computador. Nos pequenos, fiz boas experiências com o Fedora Linux. O Eclipse é executado corretamente. Eu sei que você é um PHP fã do Storm, mas, bem, eu realmente gosto do meu Eclipse e ele vem com muitas extensões que realmente fazem rock. Mesmo para PHP :). Mas o PHP Storm deve basicamente fazer o material de checkout/patch também.

WordPress Eclipse 1x1

Ah e eu tenho uma ferramenta no meu sistema operacional que salva todos os diretórios que eu usei. Então eu posso salvar os patches e fazer o upload dos arquivos rapidamente, porque eles são sempre do mesmo diretório que eu tenho na lista recente.

Exemplo de integração: PHP Sniffer de código, Eclipse e WordPress

5
hakre

Eu uso estes, eu mesmo:

https://core.trac.wordpress.org/ticket/9724

Embora seja obviamente mais no departamento de patches de aplicação. ;-)

2
Denis de Bernardy