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

12

Enviei alguns patches para o núcleo do WordPress em Trac (um dos quais foi usado), mas toda vez que penso em fazê-lo eu me encolho porque minha configuração para isso é incrivelmente tediosa.

Alguém pode, por favor, detalhar as etapas necessárias para enviar um patch para o core e, em seguida, a melhor maneira de otimizar o processo para que ele não seja tão entediante? Eu trabalho Mac OS X e PhpStorm atualmente, mas eu estou pensando em um script de shell pode ser mais fácil? Ou talvez um script PHP 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 trabalhei com o SVN e o patch está realmente fora do meu conjunto de habilidades atuais e quero mudar isso. Esperando que especialistas em patching do WordPress possam vir em meu socorro. Agradecemos antecipadamente.

UPDATE:

Após a resposta de @ hakre, acho que devo acrescentar mais à pergunta:

  • Posso criar patches a partir da versão mais antiga ou devo usar o tronco?
  • 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 fazer o download e configurar uma nova e imaculada cópia do trunk e, recentemente, modificações lá?
  • Posso fazer com scripts de shell para que eu possa codificar o login no script e apenas executar o script para recriar tudo o que preciso e / ou criar o patch?
  • E quais são as armadilhas?

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

    
por MikeSchinkel 28.08.2010 / 19:39

3 respostas

8

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

enlace

  

Posso criar patches de mais antigos   versão ou devo usar o tronco?

Você deve criar o patch contra a mesma versão em que você quer que ele seja aplicado.

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

  

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

Você não precisa configurar uma nova instalação para cada novo patch. Você pode usar o svn revert para 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.

    
por scribu 06.10.2010 / 11:21
5

Eclipse PDT + Subclipse + X

Estou usando o Eclipse que possui integração com SVN . Eu acho que o 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.

Depois, edito os arquivos que preciso editar. Eclipse mostra quais são modificados, clico com o botão direito do mouse em um diretório, seleciono Team->Create Patch e recebo todos os arquivos alterados que eu posso 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 uma integração do MyLyn Trac , que é ainda mais confortável, mas você precisa do XML-RPC direito 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 eu faço os ingressos dos ingressos.

Então, realmente, confira o 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 fã do PHP Storm, mas, bem, eu realmente gosto do meu Eclipse e ele vem com muitas extensões que realmente fazem rock. Mesmo para o PHP :). Mas o PHP Storm deve basicamente fazer o material de checkout / patch também.

WordPress Eclipse 1x1

  • Excluir do PHP Buildpath: wp-admin / load-scripts.php; wp-admin / load-styles.php.
  • O Subversion (Trunk) é: enlace , outros de acordo.
  • Repositório de tarefas: use o conector Trac com o enlace .

Ah e eu tenho uma ferramenta no meu sistema operacional que salva todos os diretórios que eu usei. Então, 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 Code Sniffer, Eclipse e WordPress

    
por hakre 28.08.2010 / 21:33
2

Eu uso estes, eu mesmo:

enlace

Embora seja mais óbvio no departamento de patches aplicável. ; -)

    
por Denis de Bernardy 11.10.2010 / 15:11

Tags