Как добавить патчи в dwm

2463
Zachary Alfakir

Я не понимаю, как добавить патчи в dwm, я использую Ubuntu и у меня установлен git. Я просто должен скопировать / вставить файл .diff в новый файл в каталоге и сделать git apply pertag.diff? Пожалуйста, будьте очень откровенны, поскольку я безнадежно растерялся.

0

1 ответ на вопрос

0
John Bensin

Да, вот и все. Suckless.org предоставляет инструкции по применению патчей к DWM, и процедура довольно проста. Я добавлю еще несколько деталей, хотя. Я предполагаю, что вы собираете dwm из исходного кода, так как вам нужно сделать это для установки патчей.

  1. Сохраните патч где-нибудь в вашем исходном каталоге и запустите git apply pertag.diff.

  2. Если в патч добавлены какие-либо новые файлы, запустите, git add <name of new file>чтобы добавить их в хранилище. Если новые файлы не были добавлены, игнорируйте это. Как только вы добавите новые файлы, запустите, git commit -aчтобы зафиксировать изменения.

  3. Перестройте dwm. Если вы собираете dwm от имени пользователя root, запустите его make clean installиз верхней папки дерева исходных текстов dwm (например, если вы загрузили исходный код /build/dwm, запустите команду в этой папке). Это папка с make-файлом. Если вы собираете / устанавливаете dwm как пользователь без полномочий root, просто запустите его makeиз исходной папки.

  4. Если ваша система уже настроена на использование dwm, либо установив ее как root, либо собрав ее как обычного пользователя и указав копию своего пользователя, вам не нужно повторять какие-либо настройки. Просто перезапустите dwm и патч должен работать.


Еще несколько деталей. Технически, вам не нужно вносить какие-либо изменения в репозиторий git, но я всегда делаю это, потому что я сохраняю свою копию dwm в своем собственном репозитории, вставляю в нее патчи, изменения разработчиков и т. Д. И объединяю их, когда необходимо.

Несколько полезных советов:

  1. Если вы хотите увидеть, что патч делает перед его применением, скачайте его и запустите git apply --stat pertag.diff. Это покажет вам, какие файлы изменят патч.

  2. Если вы хотите протестировать патч, примените его, git applyкак я описал выше, но не фиксируйте изменения . Протестируйте изменения (перезапустите / пересоберите dwm, используйте новую функцию и т. Д.), Затем, если вы хотите откатить изменения, запустите git apply -R pertag.diff.

Я копирую и вставляю код [this] (http://dwm.suckless.org/patches/dwm-10e232f9ace7-pertag.diff) в файл с именем pertag.diff и выполняю `git apply`, но он выводит` fatal : поврежденный патч в строке 181` Я использую dwm-6.0 в Ubuntu 12.04 LTS. Есть ли какое-то решение для этого? Zachary Alfakir 10 лет назад 0
@ZacharyAlfakir Откуда вы скачали патч? Ошибка означает именно то, что она говорит; патч поврежден, поэтому в файле должна быть ошибка, либо потому, что он был с самого начала спроектирован неправильно, либо потому, что вы скачали поврежденную / испорченную версию файла. John Bensin 10 лет назад 0
Я скопировал / вставил из [этой ссылки] (http://dwm.suckless.org/patches/dwm-10e232f9ace7-pertag.diff) Zachary Alfakir 10 лет назад 0
@ZacharyAlfakir Почему бы просто не щелкнуть правой кнопкой мыши по ссылке и «Сохранить файл как ...» (или аналог в вашем веб-браузере)? Я предлагаю вам попробовать [список рассылки dwm] (http://suckless.org/community). John Bensin 10 лет назад 0
Я пробовал другие патчи, и кажется, что каждый патч, который я пробую, говорит, что самая последняя строка повреждена. Zachary Alfakir 10 лет назад 0
@ZacharyAlfakir Вы спрашивали в списке рассылки dwm, на который я ссылался? Если вы спросите там и предоставите именно то, что вы сделали для настройки вашей системы dwm, номер версии и т. Д., Они могут вам помочь. Я могу применять патчи к своей установке dwm совершенно нормально, поэтому я не могу воспроизвести вашу проблему. John Bensin 10 лет назад 0

Похожие вопросы