http://www.shakthimaan.com/downloads/glv/quilt-tutorial/quilt-doc.pdf
https://www.red-bean.com/doc/quilt/quilt.pdf
ну и man
Изучив её, я так и не понял, зачем нужна команда quilt remove. Посудите сами. Создадим файл foo, потом два патча patch1.diff и patch2.diff, применим их к нему один за одним в порядке создания. А потом смоделируем ситуацию, типа мы решили отыграть назад на один патч (командой quilt pop). И посмотрим ко всему прочему, какой патч будет на верхушке стека, а именно patch1.diff. Всё верно и предсказуемо.
Shell
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$ ls -a
. ..
user@debian:~/Desktop/temp_1$ echo строка_0 > foo
user@debian:~/Desktop/temp_1$ quilt new patch1.diff
Патч patch1.diff теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch1.diff
user@debian:~/Desktop/temp_1$ echo строка_1 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch1.diff обновлён
user@debian:~/Desktop/temp_1$ quilt new patch2.diff
Патч patch2.diff теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch2.diff
user@debian:~/Desktop/temp_1$ echo строка_2 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch2.diff обновлён
user@debian:~/Desktop/temp_1$ quilt pop
Удаление патча patch2.diff
Restoring foo
Текущий патч: patch1.diff
user@debian:~/Desktop/temp_1$ cat foo
строка_1
user@debian:~/Desktop/temp_1$ quilt top
patch1.diff
user@debian:~/Desktop/temp_1$
Теперь проделаем абcолютно всё то же самое, только вместо команды quilt pop будем использовать команду quilt remove foo.
Shell
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$ echo строка_0 > foo
user@debian:~/Desktop/temp_1$ quilt new patch1.diff
Патч patch1.diff теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch1.diff
user@debian:~/Desktop/temp_1$ echo строка_1 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch1.diff обновлён
user@debian:~/Desktop/temp_1$ quilt new patch2.diff
Патч patch2.diff теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch2.diff
user@debian:~/Desktop/temp_1$ echo строка_2 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch2.diff обновлён
user@debian:~/Desktop/temp_1$ quilt remove foo
Файл foo удалён из патча patch2.diff
user@debian:~/Desktop/temp_1$ cat foo
строка_1
user@debian:~/Desktop/temp_1$ quilt top
patch2.diff
user@debian:~/Desktop/temp_1$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Возможность указать имя патча подсказывает нам, что, вероятно, можно удалять произвольный патч? Как бы не так. Ниже код. К файлу foo применено один за другим три патча patch1.diff, patch2.diff и patch3.diff. Теперь на верхушке стека патч patch3.diff. Потом мы меняем верхушку стека командой quilt push. Получается, на верхушке стека у нас патч patch2.diff, а patch1.diff и patch3.diff по разные стороны от верхушки стека и ни к одному из них команда quilt remove НЕПРИМЕНИМА! Я же говорю, то же самое, что и quilt pop, только хуже.
Shell
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$ ls -a
. ..
user@debian:~/Desktop/temp_1$ echo строка_0 > foo
user@debian:~/Desktop/temp_1$ quilt new patch1
Патч patch1 теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch1
user@debian:~/Desktop/temp_1$ echo строка_1 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch1 обновлён
user@debian:~/Desktop/temp_1$ quilt new patch2
Патч patch2 теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch2
user@debian:~/Desktop/temp_1$ echo строка_2 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch2 обновлён
user@debian:~/Desktop/temp_1$ quilt new patch3
Патч patch3 теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch3
user@debian:~/Desktop/temp_1$ echo строка_3 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch3 обновлён
user@debian:~/Desktop/temp_1$ quilt pop
Удаление патча patch3
Restoring foo
Текущий патч: patch2
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$ quilt remove -P patch1 foo
Файл foo изменён патчем patch2
user@debian:~/Desktop/temp_1$ quilt remove -P patch3 foo
Патч patch3 не применён
user@debian:~/Desktop/temp_1$ cat foo
строка_2
user@debian:~/Desktop/temp_1$ quilt top
patch2
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$
Remove named files from the named patch
Shell
user@debian:~/Desktop/temp_1$
user@debian:~/Desktop/temp_1$ ls -a
. ..
user@debian:~/Desktop/temp_1$ echo строка0 > foo
user@debian:~/Desktop/temp_1$ quilt new patch1
Патч patch1 теперь наверху
user@debian:~/Desktop/temp_1$ quilt add foo
Файл foo добавлен к патчу patch1
user@debian:~/Desktop/temp_1$ echo строка1 > foo
user@debian:~/Desktop/temp_1$ quilt refresh
Патч patch1 обновлён
user@debian:~/Desktop/temp_1$ quilt remove foo
Файл foo удалён из патча patch1
user@debian:~/Desktop/temp_1$ cat patches/patch1
Index: temp_1/foo
===================================================================
--- temp_1.orig/foo 2019-05-27 19:13:40.085105301 +0500
+++ temp_1/foo 2019-05-27 19:14:16.173875122 +0500
@@ -1 +1 @@
-строка0
+строка1
user@debian:~/Desktop/temp_1$