MikeSchinkel
  • 0
Гуру

Самый простой способ создать патч для отправки в ядро ​​WordPress?

  • 0

Я представил несколько патчей для ядра WordPress на Trac (один из которых был использован), но каждый раз, когда я думаю об этом, я съеживаюсь, потому что мои настройки для этого невероятно утомительны.

Может ли кто-нибудь подробно описать шаги, необходимые для отправки исправления для ядра, а затем лучший способ упростить процесс, чтобы он не был таким утомительным? В настоящее время я работаю с Mac OS X и PhpStorm, но я думаю, что сценарий оболочки может быть проще? Или, может быть, PHP-скрипт, который выполняет всю механическую работу?

Одна из проблем заключается в том, что я не совсем понимаю, с чего мне нужно начинать. Начать с багажника? Нужно ли мне загружать новую копию и добавлять/редактировать эту копию с моим кодом каждый раз, когда я хочу создать патч?

Опять же, несмотря на то, что я работал с SVN, установка исправлений действительно выходит за рамки моего текущего набора навыков, и я хочу это изменить. Надеюсь, вы, эксперты по исправлению ошибок WordPress, сможете прийти мне на помощь. Заранее спасибо.

ОБНОВИТЬ:

После ответа @hakre я полагаю, что должен добавить больше к вопросу:

  • Могу ли я создавать патчи из более старой версии или я должен использовать магистраль?
  • Если я работаю над проектом, используя выпущенную версию (3.0.1), могу ли я изменить его и создать патч для ядра, или мне нужно загрузить и настроить чистую и новую копию ствола и заново внести туда свои модификации?
  • Могу ли я использовать сценарии оболочки, чтобы я мог закодировать логин в сценарий и просто запустить сценарий, чтобы воссоздать все, что мне нужно, и/или создать патч?
  • И какие есть подводные камни?

Все эти вопросы, кажется, предполагаются теми, кто знает, как работает SVN WordPress, и поэтому всегда игнорируются в любом обсуждении.

Share
  1. Самый простой способ создания патча описан здесь:

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

    Могу ли я создавать патчи из более старой версии или я должен использовать магистраль?

    Вы должны создать патч для той же версии, к которой вы хотите его применить.

    Другими словами, не ожидайте, что патч, созданный для WP 3.0.1, будет корректно применяться к WP 3.1-alpha.

    Если я работаю над проектом, используя выпущенную версию (3.0.1), могу ли я изменить его и создать патч для ядра, или мне нужно загрузить и настроить чистую и новую копию ствола и заново внести туда свои модификации?

    Вам не нужно устанавливать новую установку для каждого нового патча. Вы можете просто использовать svn revert, чтобы вернуться к исходной копии.

    Кроме того, базу данных не нужно каждый раз очищать. На самом деле, лучше, если у вас есть какие-то модификации, чтобы имитировать живую среду.

    • 0
    • Боже, чертовски легко создать патч после того, как у нас есть рабочая копия: svn diff > my-patch.patch, me gusta!

      • 0
    • Спасибо за ответы. Я пробовал Eclipse и ненавидел его. Слишком не отвечает, и мне просто не понравился интерфейс. Так что это хороший ответ для тех, для кого Eclipse подходит, но ваш ответ не отвечает моим потребностям. Я отдам его и проголосую за, но я бы предпочел решение, не привязанное к IDE, а также решение, которое лучше объясняет процесс.

      • 0
    • Кроме того, я хотел сказать, что PhpStorm имеет полную интеграцию с SVN (и Git), но эта интеграция действительно требует от пользователя полного понимания того, какой эффект будет иметь каждое меню, потому что он предлагает практически полное руководство по работе с ними (существует множество в файлах справки, но поскольку они не зависят от контекста, а поскольку SVN+Git является огромным дополнением к PhpStorm, легко полностью потеряться во всем этом.) Вот почему я хочу понять его суть и не переключаться на IDE. Я не люблю это делать.

      • 0
    • @MikeSchinkel — Если SVN слишком сложен для вас (независимо от того, какая разновидность SVN + Editor), вы не можете создавать патчи для проекта WordPress. В основном, если вам не нравится интерфейс вашего пользовательского интерфейса для SVN, изучите командную строку. Но учиться нужно в любом случае. Кстати, вы можете использовать SVN с любым редактором, который вам нравится. У меня есть один транк SVN, который копируется и настроен на веб-сервере, чтобы создавать патчи и тестировать их. После того, как я сделал один патч, я удаляю локальные изменения (откат) из своей локальной копии, а затем могу перейти к другим патчам. Это всегда работа. Что еще сказать?

      • 0
  2. Затмение PDT + Подзажим + X

    Я использую Eclipse с интеграцией SVN. Я думаю, что PHP Storm делает то же самое. Я захожу в один из своих магистральных проектов, которые в основном представляют собой проверку из репозитория WordPress svn.

    Затем я редактирую файлы, которые мне нужно отредактировать. Eclipse показывает, какие из них изменены, я щелкаю правой кнопкой мыши каталог, выбираю, Team->Create Patch и мне предлагаются все измененные файлы, которые я могу выбрать для сравнения. Затем я могу выбрать между копированием в буфер обмена или сохранением на диск. Я сохраняю все патчи, которые я создаю с номером билета, в директорию, которая есть на моем жестком диске.

    Затем я захожу в браузер и загружаю патч.

    Я также мог бы сделать это с интеграцией MyLyn Trac, что даже более удобно, но вам нужен XML-RPC прямо в trac, поэтому вам нужен администратор trac для связи. Это работает довольно хорошо, но я не настраиваю его в каждом проекте и использую его в основном, когда делаю рандауны билетов.

    Так что на самом деле, проверьте Eclipse, если хотите. Он огромный и медленный, поэтому вам нужен либо большой компьютер. На маленьких у меня был хороший опыт работы с Fedora Linux. Eclipse работает на нем хорошо. Я знаю, что вы являетесь поклонником PHP Storm, но мне очень нравится мой Eclipse, и он поставляется с множеством действительно крутых расширений. Даже для PHP :). Но PHP Storm должен в основном также выполнять проверку / исправление.

    Затмение WordPress 1×1

    Ах, и у меня есть инструмент в моей ОС, который сохраняет все каталоги, которые я использовал. Таким образом, я могу сохранять патчи и быстро загружать файлы, потому что они всегда находятся в том же каталоге, который у меня есть в списке последних.

    Пример интеграции: PHP Code Sniffer, Eclipse и WordPress

    • 0
  3. Я сам пользуюсь такими:

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

    Хотя, очевидно, это больше касается применения патчей. 😉

    • 0

Оставить ответ

You must login to add an answer.