Это команда git-dpm, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
git-dpm - пакеты Debian в диспетчере git
СИНТАКСИС
git-дпм --Помогите
git-дпм [ кредита ] команду [ параметры для каждой команды и -аргументы ]
ОПИСАНИЕ
Git-dpm - это инструмент для обработки исходного пакета Debian в репозитории git.
Каждый проект содержит три ветки, ветку Debian (мастер/любой), патченная ветка
(заплата/пропатчен-любой) и восходящая ветвь (вверх по течению/вверх по течениюлюбой) и расширение git-дпм
помогает вам хранить информацию там, чтобы ваши изменения можно было экспортировать как лоскутное одеяло
серии.
Git-dpm угадывает две другие ветки на основе увиденной ветки. (Большинство команд действуют
на основе текущей HEAD, то есть какой ветки вы в настоящее время проверяли, хотя некоторые из них
или статус вместо этого разрешает необязательный аргумент). Так, например, если вы находитесь в ветке
мастер, git-dpm предполагает, что соответствующая ветвь восходящего потока называется вверх по течению. Если вы
в филиале вверх по течению-что-то, предполагается, что ветка Debian называется удалось.
Обратите внимание, что большинство команд могут автоматически переключаться на другую ветку, отчасти потому, что это
проще реализовать таким образом и, надеюсь, не нужно переключать ветки
вручную так часто.
SHORT ОБЪЯСНЕНИЕ OF ФИЛИАЛЫ
ветвь восходящего потока (вверх по течению|вверх по течениюлюбой)
Эта ветвь содержит исходные коды апстрима. Его содержимое должно быть достаточно, чтобы
содержимое вашего архива основной ветки разработки.
патченная ветка (заплата|пропатчен-любой)
Эта ветка содержит ваши патчи к исходному коду апстрима. Каждый коммит будет
хранится как один патч в итоговом пакете.
Большую часть времени он не будет существовать как ветвь, известная мерзавец, но только как некоторая точка
в истории ветки Debian и, возможно, как тег для опубликованных версий.
Git-дпм создаст его при необходимости и удалит ветку, когда она больше не нужна.
Чтобы помочь git сгенерировать линейную серию патчей, в идеале это должна быть линейная цепочка
коммиты, описание которых полезно для других.
Поскольку эта ветка регулярно обновляется, вам не следует ее публиковать.
ветка Debian (мастер|любой)
Это основная ветка.
Эта ветка содержит debian / каталог и слита исправленная ветка.
Каждое изменение не в debian /, .git* или удаление файлов должно производиться в пропатченном
филиал.
ПРИМЕРЫ
Начнем с нескольких примеров:
Проверка проекта
Сначала получите основную ветку:
мерзавец клонировать URL
Затем создайте ветку восходящего потока и посмотрите, готов ли .orig.tar:
git-дпм готовить
Создайте исправленную ветку и проверьте ее:
git-дпм исправлен на кассе
Внесите некоторые изменения, примените некоторые патчи, зафиксируйте их ..
...
мерзавец совершать
Если ваша модификация исправляет предыдущее изменение (и это не последняя фиксация,
в противном случае вы могли бы использовать --amend), вы можете раздавить эти два коммита
в один, поэтому используйте:
мерзавец перебазировать -i вверх по течению
Затем вы хотите внести эти изменения в ветку Debian и новые файлы патчей.
создано (что вы можете сделать, используя git-дпм обновления-патчи), но вы, скорее всего, захотите
чтобы также задокументировать то, что вы сделали, в журнале изменений, так что все за один шаг:
git-дпм DCH -- -i
Возможно, измените что-нибудь в пакете Debian:
...
мерзавец совершать -a
Затем отодвиньте все назад:
мерзавец протолкнуть.
Переход на новую версию апстрима
Получите новый файл .orig.tar. Либо обновите свою восходящую ветку до содержимого
этот файл и позвонить git-дпм рекорд-новый-апстрим ../Новый вещи.orig.tar.gz или сказать
git-dpm для импорта и записи:
git-дпм импорт-новый-апстрим --rebase ../Новый вещи.orig.tar.gz
Это переустановит исправленную ветку на новую ветку восходящего потока, возможно, вы
необходимо разрешить некоторые конфликты:
напор ...
мерзавец решен файлов
мерзавец перебазировать --Продолжить
После запуска rebase (если повезет даже с первой попытки):
git-дпм DCH -- -v новый восходящий поток-1 "новый вверх по течению версия"
Вы также могли бы сделать последний шаг из трех:
git-дпм обновления-патчи
DCH -- -v новый восходящий поток-1 "новый вверх по течению версия"
мерзавец совершать --исправлять -a
Сделайте другие debian / changes:
...
мерзавец совершать -a
Затем отодвиньте все назад:
мерзавец протолкнуть.
Создание нового проекта
Создать вверх по течению (или вверх по течениюлюбой) ветка, содержащая содержимое вашего
файл orig.tar:
деготь -xvf пример_0.orig.tar.gz
cd пример-0
мерзавец инициализации
мерзавец .
мерзавец совершать -m "Импортировать пример_0.orig.tar.gz "
мерзавец контроль -b нестабильный в восходящем направлении
Возможно, вы захотите использовать нетронутый tar для хранения вашего tar:
нетронутая смола совершать ../пример_0.orig.tar.gz нестабильный в восходящем направлении
Затем дайте git-dpm знать, к какому архиву принадлежит ваша восходящая ветка:
git-дпм инициализации ../пример_0.orig.tar.gz
Обратите внимание, что, поскольку вы были в нестабильный в восходящем направлении в этом примере, в последнем примере
git-дпм Предполагается, что вы хотите, чтобы ваша ветка Debian называлась неустойчивый и не мастер, так
после возврата команды вы находитесь во вновь созданном неустойчивый филиал.
Остальную упаковку сделаем:
напор debian / control debian / rules
DCH --Создайте --упаковка пример -v 0-1
мерзавец debian / control debian / rules debian / журнал изменений
мерзавец совершать -m "исходный упаковка »
Затем добавьте патчи:
git-дпм исправлен на кассе
напор ...
мерзавец совершать -a
git-дпм DCH "фиксировать ... (Закрывается: число)"
Команда git-дпм исправлен на кассе создал временную ветку патч-нестабильный (как ты
были в ветке под названием неустойчивый. Если бы вы вызвали его с HEAD, являющимся ветвью
мастер, это было бы заплата), к которому вы добавили коммиты. Тогда git-дпм
обновления-патчи подразумевается git-дпм DCH объединил эти изменения в неустойчивый, удалено
временную ветку и создал новую дебиан / патчи / файлы.
Затем соберите свой пакет:
git-дпм статус &&
dpkg-buildpackage -rfakeroot -нас -uc -I ".git *"
Теперь посмотрите, что произошло, возможно, вы хотите добавить файлы в .gitignore (в
неустойчивый ветку) или удалите некоторые файлы из неустойчивый филиал, потому что ваш
чистое правило удаляет их.
Продолжайте последние несколько шагов, пока пакет не будет готов. Затем отправьте свой пакет:
git-дпм день
мерзавец протолкнуть. - теги цель нестабильный: нестабильный нетронутый деготь: нетронутый деготь
Удаление существующих патчей
Сначала получите основную ветку:
мерзавец клонировать URL
Создайте исправленную ветку и проверьте ее:
git-дпм исправлен на кассе
Получите список коммитов с момента последнего выпуска апстрима: мерзавец перебазировать -i
нестабильный в восходящем направлении
Это откроет ваш редактор по умолчанию со списком коммитов. Отредактируйте список, чтобы удалить
нежелательные коммиты.
...
мерзавец совершать
Затем вы хотите внести эти изменения в ветку Debian и старые файлы исправлений.
удалено (что можно сделать с помощью git-дпм обновления-патчи), но вы, скорее всего, захотите
чтобы также задокументировать то, что вы сделали, в журнале изменений, так что все за один шаг:
git-дпм DCH -- -i
Возможно, измените что-нибудь в пакете Debian:
...
мерзавец совершать -a
Затем отодвиньте все назад:
мерзавец протолкнуть.
GLOBAL ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--отлаживать
Подробно выводите, что делает git-dpm. В основном полезно только для отладки или
при составлении отчета об ошибке.
--debug-git-вызовы
Вывести вызовы git в stderr. (Для более сложных случаев отладки).
--allow-changes-in-debian-branch
Игнорируйте восходящие изменения в вашей ветке Debian. Это либо отбросит их, если
merge-patched вызывается командой come или игнорируется в другом месте.
КОМАНДЫ
инициализации [кредита] файл обработан [восходящая фиксация [предварительно примененная фиксация [исправленная фиксация]]]
Создать новый проект.
Первый аргумент - это архивный архив основной ветки разработки.
Вам также необходимо иметь содержимое этого файла и файлы, указанные с помощью
--компонент распакован как некоторая ветка или коммит в вашем репозитории git (или аналогичном
достаточно так dpkg-источник не буду знать разницы). Это будет сохранено в
ветвь восходящего потока (называемая вверх по течению or вверх по течениюлюбой). Если второй аргумент
несуществующий или пустой, эта ветка должна уже существовать, иначе эта ветка будет
инициализироваться каким то вторым аргументом. (Вы обязаны
содержимое совпадает. git-dpm не знает, что делает ваше чистое правило, поэтому не может проверить
(и даже не пытается пока предупредить)).
У вас уже может быть ветка Debian (называемая мастер or любой). Если это не так
существует, он будет существовать впоследствии. В противном случае он может содержать дебиан / патчи / серии
файл, который будет импортировать git-dpm.
Третий аргумент может быть потомком вашей восходящей ветки, которая содержит
изменения вашей ветки Debian до применения каких-либо исправлений (большинство людей предпочитают
у вас их нет и lintian предупреждает, но если у вас есть, зафиксируйте / выберите их в новом
branch / detached head поверх вашей восходящей ветки и назовите их здесь). Без
--patches-apply, ваша ветка Debian может не иметь никаких изменений в восходящей ветке по сравнению с
этот коммит (или, если он не указан, восходящая ветвь).
Если нет четвертого аргумента, git-dpm применит возможные патчи в вашем Debian.
ветвь поверх третьего аргумента или восходящего потока. Вы также можете сделать это самостоятельно и
дайте это как четвертый аргумент.
Содержимое этого коммита / ветки, данное в четвертом коммите или созданное
применение патчей поверх третьей / вашей восходящей ветки затем объединяется с вашим
Ветвь Debian и запатентованная ветка.
Опции:
--составная часть имя файла
Запишите .ориг-компонент.tar файл для распаковки в ветке апстрима.
- нанесенные патчи
Обозначьте, что в ветке Debian уже применены исправления.
Без этого git-dpm проверит отсутствие изменений в ветке Debian.
внешнее управление исправлениями перед применением исправлений; с этим, это будет
вместо этого проверьте, нет ли различий после применения патчей.
--create-no-patch
Не создавать / отменять debian / патчи каталог. Вам нужно будет позвонить
обновления-патчи сам. Полезно, если вы импортируете исторические данные и
сохраните оригинальные патчи в ветке Debian.
- запись-патч-категория
Добавить Категория патча: поле для каждого импортированного патча, находящегося в подкаталоге
of debian / патчи, Это вызывает обновления-патчи хранить в том же
подкаталог.
--record-имя-патча
Добавить Название патча: к каждому импортированному патчу с его именем. Это вызывает
обновления-патчи чтобы сохранить его под исходным именем.
готовить
Убедитесь, что ветвь восходящего потока и исходный код orig.tar ball есть и обновлены.
(Лучше всего называть после клона или вытягивания).
статус [филиал]
Проверить статус текущего проекта (или проекта, принадлежащего
аргумент филиал если это дано). Возврат с ненулевым кодом выхода, если что-то
делать обнаружено.
исправлен на кассе
Оформить заказ на исправленную ветку (заплата|пропатчен-любой), убедившись, что он существует
и записан в дебиан / .git-dpm .
Если исправленная ветвь ссылается на старое состояние (то есть на то, которое уже является предком
текущая ветка Debian), она изменяется на записанную текущую.
В противном случае вы можете сбросить его до последнего записанного состояния с помощью --сила опцию.
обновления-патчи [кредита] [филиал]
После звонка слито-исправлено-в-debian при необходимости обновите содержимое
debian / патчи к текущему состоянию заплата филиал.
Также запишите в debian / .git-dpm, в каком состоянии исправленной ветки установлены исправления.
каталог принадлежит.
Если филиал дано, что ветвь обрабатывается. В противном случае имя является производным
из текущей проверенной ветки, как обычно.
Опции:
--редо Сделайте что-нибудь, даже если кажется, что делать нечего.
- разрешить-вернуться, --игнорировать-удаления, --dot-git-files =*
перешел в debian
--исправлять
Не создавайте новую фиксацию, а измените последнюю в ветке Debian.
(Т.е. вызовите merge-patched-into-debian с помощью --amend и измените обновления
исправляет последний коммит, даже если он не был создан
слияние-исправлено-в-дебиан).
-m сообщение
Используйте сообщение как сообщение фиксации. (Если используется вместе с --amend, не используйте повторно
старое сообщение фиксации, дата автора или автора, но замените старую фиксацию на
новый коммит с этим сообщением).
--собственник
не удаляйте существующую исправленную ветку (обычно она удаляется и может быть
воссоздан с исправлен на кассе чтобы не скрываться устаревшие копии.
- допустимо-нелинейный
перешел на merge-patched.
DCH [кредита] -- dch-опции
После вызова update-patches, если необходимо, запустите команду devscripts 'dch с указанным
варианты, а затем выполните мерзавец совершать с сообщением фиксации, содержащим изменения в
debian / журнал изменений .
Опции:
--исправлять
Замените коммит, который в настоящее время является главой ветки Debian
(мастер|удалось) вместо того, чтобы создавать новый поверх. Сообщение фиксации
также будут внесены изменения, внесенные в debian / журнал изменений в предыдущем коммите
(если не отменено новым редактированием).
--игнорировать-патчи
Не вызывайте обновления, а просто игнорируйте текущее состояние
патченная ветка (заплата|пропатчен-удалось).
--собственник, - разрешить-вернуться, - допустимо-нелинейный, --игнорировать-удаления,
--dot-git-files =*
Переносится в обновления-патчи, если вызывается.
- только последнее|--последний|-l
Включать только изменения между текущим рабочим каталогом перед вызовом
dch и после его вызова (а не с момента последнего коммита или последнего коммита
не заменен).
-e | -v | -a | --все | -s | -n | --no-проверить | -u | --untracked-файлы | -q |
--тихий | --cleanup =... | --author =...
передано в git commit.
слито-исправлено-в-debian [кредита] [филиал]
Как правило обновления-патчи запускает это для вас, если сочтет это необходимым.
Эта команда является ядром git-дпм, но обычно вы не вызываете его напрямую. Это
называется обновления-патчи и вещи звонящие обновления-патчи " У аборигенов DCH когда
необходимо.
Он заменяет все файлы (за исключением описанных ниже) в текущем
Ветка Debian (мастер|любой) с найденными в патченой ветке
(заплата|пропатчен-любой).
Только Debian каталог и файлы в корневом каталоге, начинающиеся с ".git", являются
хранится в ветке Debian (поэтому .gitignore, .gitатрибуты, ... останется). А также
все файлы, которые были найдены в последней записанной исправленной ветке и удалены в
текущая ветка Debian также будет удалена в новой.
Кроме того, дебиан / .git-dpm файл будет обновлен, поэтому текущая исправленная ветка
записывается и помечается как принадлежащая последней записанной восходящей ветви.
Если надписи филиал задается в командной строке базовое имя веток
для работы вычисляется из текущей проверенной ветви, как обычно. Иначе
этот аргумент используется.
Опции:
- разрешить-вернуться
Обычно возврат к старому состоянию исправленной ветки не допускается, чтобы
избегать ошибок (например, вытащили только ветку Debian и забыли запустить
исправлен на кассе). Эта опция меняет это, поэтому вы можете, например, отказаться от
последний патч в вашем стеке.
--не-игнорировать-удаления (По умолчанию)
Файлы, удаленные в данный момент в ветке Debian относительно записанных
исправленная ветка будет по-прежнему удаляться в новой ветке Debian и не приниматься
из новой патченной ветки. Это значение по умолчанию, если не другое значение по умолчанию.
был установлен с
мерзавец конфиг д/мин.ФИЛИАЛ.dpmIgnoreDeletions правда.
--игнорировать-удаления
Отключите поведение, описанное в --не-игнорировать-удаления.
--dot-git-files =метод
Укажите, как файлы, начинающиеся с .git внешнюю debian / обрабатываются. Это
обрабатывает специально как .gitатрибуты и .gitignore может быть иначе в
Ветка Debian, не являющаяся частью какого-либо патча. (Целый debian / каталог
всегда берется из ветки Debian, поэтому файлы там не затрагиваются).
Возможные методы:
автоматически (По умолчанию)
Любые .git* файлы, которые добавляются, изменяются или удаляются в текущем
Ветка Debian по сравнению со старой веткой восходящего потока установлена на это
состояние, все остальное считается найденным в новой исправленной ветке.
Debian Все .git* файлы взяты из ветки Debian. Файлы с именем
такие из патченной ветки игнорируются.
вверх по течению
Файлы, начинающиеся с .git не подвергаются особому обращению. Они есть
взяты из исправленной ветки, если они не удалены в Debian
ветка и значение по умолчанию --не-игнорировать-удаления активен. (т.е. просто
как и любой другой файл за пределами debian /).
--собственник
не удаляйте существующую исправленную ветку (обычно она удаляется и может быть
воссоздан с исправлен на кассе чтобы не скрываться устаревшие копии).
--исправлять
Замените последний коммит в вашей ветке Debian (как git commit --amend
делать). За исключением того, что каждый родитель, являющийся предком или равный
к новой исправленной ветке или записанная исправленная ветка опускается. (Что
то есть вы теряете не только фиксацию в ветке Debian, но и предыдущую
состояние исправленной ветки, если ваша последняя фиксация также объединила исправленный
филиал).
-m сообщение
Сообщение о фиксации, которое будет использоваться для созданной новой фиксации. (При использовании вместе с
--amend, это запрещает повторное использование старого автора и даты).
- допустимо-нелинейный
не прерывать работу с ошибкой, если исправленная ветвь не является линейной серией
совершает поверх ветки восходящего потока. Не рекомендуется использовать эту опцию.
так как он легко скрывает проблемы с исправленной или вышестоящей веткой и может
ввести сломанный debian / patches / series, так как format-patch не
сериализация.
импорт-новый-апстрим [кредита] .orig.tar
Импортируйте содержимое указанного tar-файла (как с импортная смола) и запишите это
ветвь (как с рекорд-новый-апстрим).
Это примерно эквивалентно:
git-дпм импортная смола -p вверх по течению имя файла
мерзавец контроль -b вверх по течению
git-дпм рекорд-новый-апстрим имя файла
- отделенный
Не делайте новую восходящую ветвь предком старой восходящей ветки.
(если вы повторно не добавите это с помощью -p).
-p идентификатор фиксации|- родитель идентификатор фиксации
Дайте импортная смола дополнительные родители нового коммит для создания.
Например, если вы отслеживаете репозиторий git апстрима в какой-либо ветке, вы можете
назовите его здесь, чтобы он стал частью истории вашей ветки Debian.
- не разрешать родителей
Если для dpm.importWithoutParent через git config установлено значение false, git-dpm не будет
разрешить запуск import-new-upstream без этой опции или хотя бы с -p
опцию.
--rebase-исправлено
После записи новой восходящей ветки переустановите исправленную ветку на
новый восходящий филиал.
--no-rebase-исправлено
Не вызывайте rebase-patched после записи новой восходящей ветки. (Этот
в настоящее время используется по умолчанию, но это может измениться в будущем).
-m сообщение
Сообщение о фиксации, которое будет использоваться для новой фиксации в ветке Debian с записью
новый файл и ветвь восходящего потока.
--составная часть версия_пакета.ориг-компонент.tar.gz
Распаковать указанное имя файла в папку компонент каталог и запишите его так
который готовить и статус знать, чтобы проверить это.
--в этом
Ни одной из веток пока нет, создайте их.
Поскольку ветки для работы являются производными от ГОЛОВА если нет --ветвь опция
учитывая, вам либо нужно ГОЛОВА указать на еще не существующую ветку (например,
сразу после мерзавец инициализации) или вам нужно указать имя с помощью --ветвь.
В противном случае одна из веток уже существует, и вы получите только ошибку
сообщение.
--ветвь Debianbranch
Не извлекайте имя ветки Debian из текущего ГОЛОВА но используйте Debianbranch
вместо. (И имя восходящей ветки и имя исправленной ветки, производное от
что как обычно).
--pristine-tar-коммит | --ptc
Позвонить нетронутая смола совершать для всех импортированных архивов, еще не найденных в
ветка нетронутого дегтя.
--no-нетронутый-tar-commit
Не звони нетронутая смола совершать для всех импортированных архивов, даже если они настроены
сделать это
мерзавец конфиг dpm.pristineTarCommit правда или путем
мерзавец конфиг филиал.Debianbranch.dpmPristineTarCommit правда.
--игнорировать-удаления, --dot-git-files =
Передается для слияния с исправлениями, если вызывается (выполняется только в том случае, если не было исправлений
ранее).
--upstream-автор автор
Используется как - автор аргумент git-дпм импортная смола.
--upstream-дата даты
Используется как --свидание аргумент git-дпм импортная смола (особенно автоматический is
поддерживается извлечение даты из файла tar).
--исключать описания
Данный шаблон передается tar как исключающий шаблон при распаковке. Жестяная банка
давать несколько раз.
импортная смола [кредита] .tar-файл
Создайте новую фиксацию, содержащую содержимое данного файла. Коммит не будет
есть родители, если вы не дадите -p настройки.
-p идентификатор фиксации|- родитель идентификатор фиксации
Добавьте данную фиксацию как родительскую. (Можно указать несколько раз).
--ветвь название ветви
Создать новую ветку название ветви если он еще не существует или заменить
название ветви с фиксацией, созданной из архива с текущим
название ветви голова как родитель.
-m сообщение
Не запускайте редактор для сообщения фиксации, а используйте вместо этого аргумент.
--свидание даты
Дата создания коммита.
Если значение автоматический затем самая новая дата любого файла или каталога в
tarball используется.
- автор автор
Автор создаваемого коммита. Он должен быть в обычном формате git
автор <e-mail>.
--исключать описания
Данный шаблон передается tar как исключающий шаблон при распаковке. Жестяная банка
давать несколько раз.
рекорд-новый-апстрим [кредита] .orig.tar [совершать]
Если вы изменили ветку восходящего потока (вверх по течению|вверх по течениюлюбой), git-dpm необходимо
знать, какому архиву сейчас соответствует эта ветка, и вам нужно перебазировать свой
патченная ветка (заплата|пропатчен-любой) в новую ветку восходящего потока.
Если есть второй аргумент, эта команда сначала заменяет вашу восходящую ветку
с указанной фиксацией.
Затем новая восходящая ветвь записывается в вашей ветке Debian. дебиан / .git-dpm
.
Если вы указали --rebase-исправлено (или коротко --rebase), git-дпм исправленный предусматривает
вызывается для переустановки вашей исправленной ветки поверх новой восходящей ветки.
После этого (и если ветка будет выглядеть так, как вы хотите), вам все равно нужно
призывают git-дпм слито-исправлено-в-debian (или напрямую git-дпм обновления-патчи).
ПРЕДУПРЕЖДЕНИЕ чтобы избежать недоразумений: вы должны изменить ветку восходящего потока
перед использованием этой команды. Вы несете ответственность за содержание
tarball совпадают с таковыми из вышестоящей ветки.
--rebase-исправлено
Автоматически звонить git-дпм исправленный.
--new-tarball-только
Не отказывайтесь от операции, если тарбол изменился, а ветвь вышестоящей ветки изменилась.
нет. (Это имеет смысл только в том случае, если архив был изменен без изменения его
содержание, см. предупреждение выше).
-m сообщение
Сообщение о фиксации, которое будет использоваться для новой фиксации в ветке Debian с записью
новый файл и ветвь восходящего потока.
--исправлять
Замените последнюю фиксацию вместо того, чтобы создавать новую поверх.
--составная часть имя файла
Запись имя файла по мере необходимости исходный файл компонента (т. е.
имя_источника_вышестоящая версия.ориг-компонент.tar.(сила) файл). Это ваш
несет ответственность за то, чтобы содержимое этого файла уже было частью вашего восходящего потока
филиал (в компонент подкаталог).
(Записанные файлы будут искать статус и готовить, Список
записанные исходные файлы компонентов удаляются при создании новой восходящей ветки или
вверх по течению .ориг исходный файл записывается).
--игнорировать-удаления, --ot-git-files =
Передается в исправление слияния, если вызывается (что выполняется только в том случае, если не было
исправления ранее, поэтому новая ветвь восходящего потока объединяется напрямую).
исправленный
Попробуйте переустановить текущую исправленную ветку (заплата|пропатчен-любой) на ваш
текущая текущая ветвь добычи (вверх по течению|вверх по течениюлюбой).
Если эти ветки еще не существуют как ветки git, они (повторно) создаются из
информация, записанная в дебиан / .git-dpm первый.
Это всего лишь удобная оболочка для git rebase, которая сначала пытается определить
что именно нужно перебазировать. Если возникнут конфликты, git rebase попросит вас
разрешите их и скажите rebase продолжить.
После того, как это будет завершено (и если ветка будет выглядеть так, как вы хотите), вы все равно
слито-исправлено-в-debian (или напрямую обновления-патчи).
день [ кредита ] [ версия ]
Добавьте теги в ветки апстрима, исправления и Debian. Если версия не указана, она
взято из debian / changelog.
Опции:
- обновить
Замените теги, если они уже есть и отличаются (кроме восходящего потока).
--refresh-вверх по течению
Перезаписать восходящий поток, если он есть и отличается.
--allow-устаревшие-патчи
Не выводите ошибку, если патчи не обновлены. Это полезно, только если вы
импортируют исторические данные и хотят пометить их.
- по имени
Используйте имя пакета как часть имен сгенерированных тегов. (использовать мерзавец
конфиг dpm.tagsNamed правда чтобы сделать это по умолчанию)
--с именем имя
Подобно - по имени но дайте имя для использования.
--debian-тег название тэга
--patched-тег название тэга
--upstream-тег название тэга
Укажите имена генерируемых тегов.
%p заменяется названием пакета,
%v с версией (без эпохи) с замененными двоеточиями (:) и тильдой (~)
подчеркиванием (_),
%u с исходной версией (без эпохи или ревизии Debian) с двоеточиями
(:) и тильда (~) заменены подчеркиванием (_),
%e с эпохой,
%f с эпохой, за которой следует подчеркивание (_), если есть эпоха, и
с пустой строкой, если эпохи нет,
%V с версией (без эпохи) с замененными двоеточиями (:) и тильдой (~)
точками (.),
%U с исходной версией (без эпохи или ревизии Debian) с двоеточиями
(:) и тильда (~) заменены точками (.),
%E с эпохой, за которой следует точка, если эпоха, и с пустым
строка, если эпохи нет,
%% с одним %.
Если один из них не установлен с помощью параметра командной строки, мерзавец конфиг спрашивают о
Значение dpm.debianТэг, dpm.patchedTag or dpm.upstreamTag. Если это тоже не установлено
или особая ценность AUTO, затем debian / .git-dpm просматривает строку вида
debianTag = "ценностное ",
patchedTag = "ценностное " or
upstreamTag = "ценностное ".
(Примечание: всегда добавляйте их в конец файла, первые восемь строк исправлены
номера строк)
Если это по-прежнему не приводит к использованию шаблона, значения по умолчанию
'% p-debian% e-% v''% p-исправлено% e-% v'И'% p-upstream% e-% u' с участием - по имени и
'дебиан% e-% v''исправлен% e-% v'И'вверх по течению% e-% u' без.
Если имя тега имеет специальное значение NONE, тег не создается.
реф-тег [ кредита ] совершать [ версия ]
Подобно день, но создайте теги для совершатьт.е. совершать получит тег Debian и
другие теги размещаются там, где дебиан / .git-dpm файл этого коммита указывает на.
Таким образом, это в основном эквивалентно:
мерзавец контроль -b температура совершать
git-дпм день [кредита] [версия]
мерзавец контроль предыдущая глава
мерзавец филиал -D температура
Варианты как день.
применить патч [ параметры... ] [ имя файла ]
Переключитесь на исправленную ветку (при условии, что она обновлена, сначала используйте checkout-patched
чтобы убедиться или получить предупреждение), и примените патч, указанный в качестве аргумента или из
стандартный ввод.
- автор автор
Переопределить автора для записи.
- автор по умолчанию автор
Если из коммита не удалось определить автора, используйте это.
--свидание даты
Дата записи этого патча, если он не найден.
--dpatch
Разбирать патч как патч dpatch (работает только для патчей dpatch, фактически являющихся
патч, может молча потерпеть неудачу для других).
--cdbs Разобрать патч как патч cdbs simple-patchsys.mk (работает только для патчей dpatch
на самом деле являясь патчем, для других может тихо провалиться).
--редактировать Запустите редактор, прежде чем делать коммит (на случай, если вам лень вносить поправки).
- имя-записи
Добавить Название патча: поле, чтобы сказать обновления-патчи экспортировать с тем же
имя еще раз.
--имя имя
Добавить Название патча: поле, чтобы сказать обновления-патчи использовать имя как имя файла для
сохранить этот патч в (относительно debian / патчи).
- категория имя
Добавить Категория патча: поле, чтобы сказать обновления-патчи всегда экспортировать это
патч в подкаталог имя of debian / патчи.
вишневый выбор [ параметры... ] совершать
Воссоздайте исправленную ветку и выделите данную фиксацию. Затем слейте это обратно
в ветку Debian и обновите каталог debian / patches (т.е. в основном
эквивалентно checkout-patched, git cherry-pick и update-patches).
- только слияние
Только объедините исправленную ветку обратно в ветку Debian, но не обновляйте
каталог патчей (вам нужно будет запустить update-patches позже, чтобы получить это
сделано).
-e | --редактировать
Передано в git cherry-pick: отредактируйте выбранное сообщение фиксации.
-s | --выйти
Передано в git cherry-pick: добавить заголовок Signed-off-by
-x Передано в git cherry-pick: добавить строку, описывающую, что было выбрано
-m Num | - основная линия Num
Передано в git cherry-pick: разрешить выбор слияния, указав родителя
смотреть на.
--repick
Не прерывать, если указанная фиксация уже содержится.
- допустимо-нелинейный, --игнорировать-удаления, --dot-git-files =
Переносится в обновления-патчи, если вызывается.
перешли в патчи слияния-в-дебиан и обновления-патчи.
--собственник
не удаляйте исправленную ветку, когда она больше не нужна.
--исправлять
передано в merge-patched-into-debian: изменить последний коммит в Debian
филиал.
импорт-dsc
Импортируйте исходный пакет Debian из файла .dsc. Это можно использовать для создания нового
проект или импортировать исходный пакет в существующий проект.
В то время как возможное старое состояние проекта записывается как родительский коммит, состояние
старая ветка Debian не принимается во внимание. Особенно все удаления файлов и
Файлы .gitignore и т.п. необходимо повторно применить / повторно добавить впоследствии.
(Предполагается, что новые версии пакета с исходным кодом извне могут
значительно, поэтому старая информация может быть устаревшей. И повторно применяя это
легче, чем отменить такие изменения.)
Первый шаг - импорт .orig.tar файл и возможно .ориг-компонент.tar файлы.
Вы можете указать используемую ветку. Иначе импорт-dsc будет смотреть, если
в предыдущем состоянии этого проекта уже есть необходимый файл, поэтому старый апстрим
ветку можно использовать повторно. Если нет, файл будет импортирован как новый коммит,
по умолчанию с возможной предыдущей ветвью восходящего потока в качестве родительской.
Затем импорт-dsc попытается импортировать исходный пакет в состоянии как dpkg-источник
-x создал бы это. (Это применение .diff и создание debian / rules выполнимый
для пакетов формата 1.0 и заменив Debian каталог с содержимым
.debian.tar и применение возможно дебиан / патчи / серии для пакетов формата 3.0).
Позже это называется дословным импортом.
Если это пакет исходного формата 1.0, импорт-dsc затем ищет набор поддерживаемых
системы исправлений и пытается применить эти исправления. Затем они объединяются с
дословно записать в новую ветку Debian.
Тогда дебиан / .git-dpm создается файл и возможное старое состояние проекта
добавлен как родитель.
Обратите внимание, что dpkg-источник не используется для извлечения пакетов, но они извлекаются
вручную. Особенно git-применить используется вместо заплата. Хотя это обычно
работает (и git-дпм есть некоторая магия, чтобы обойти некоторые из git-применитьнедостатки),
нечистые пятна могут иногда нуждаться в -С0 вариант, а затем в тех же случаях применяться
на разных позициях, чем где заплата применил бы их.
Общие настройки:
-b | --ветвь филиал
Не смотрите на текущий HEAD, а импортируйте пакет в git-dpm
Проект название ветви или создайте новый проект (если эта ветка еще не
существовать).
--дословно филиал
После импорт-dsc успешно завершено, филиал будет содержать
дословный импорт файла .dsc. Если ветка с таким именем уже существует,
новая дословная фиксация также будет иметь старую как родительскую. (Это также вызывает
дословная фиксация не дополняется другими изменениями, что может привести к
в большем количестве коммитов).
--использовать журнал изменений
Разберите debian / changelog импортированного пакета. Используйте описание как
сообщения фиксации, а также автор и время по умолчанию для исправлений и импорта
совершает без этой информации. (Предупреждение: может все еще содержать некоторые грубые
края).
Варианты создания восходящей ветки:
- upstream-to-use совершать
Не импортируйте .orig.tar и не пытайтесь повторно использовать старый импорт, всегда используйте
совершать указано.
Вы несете ответственность за то, чтобы эта ветка была достаточно похожа на
.orig.tar плюс возможные .orig-component.tar в соответствующих
каталоги. (Как обычно, достаточно похожее означает: не пропускает файлы, которые
ваши патчи касаются или ваш процесс сборки требует (или воссоздает, если
debian / rules чистым удаляет их снова). Каждый файл отличается от
.orig.tar или не существует там, вы должны удалить в полученном Debian
ветвь. Никакой патч не может касаться этих файлов.)
Используйте с осторожностью. Ничто не предупредит вас, даже если вы воспользуетесь содержимым
совершенно неправильная версия апстрима.
--detached-вверх по течению
Если импортируете .orig.tar как новую фиксацию, не делайте возможной фиксации для
родительская версия старой исходной версии.
--upstream-родитель совершать
Добавить совершать в качестве (дополнительного) родителя при импорте новой исходной версии.
(Это можно, например, использовать для того, чтобы сделать историю git upstream частью вашего
пакет и, таким образом, помогите git при сборе вишенки).
- не разрешать родителей
Если для dpm.importWithoutParent через git config установлено значение false, git-dpm не будет
разрешить запуск import-dsc без этой опции или хотя бы на
Параметр --upstream-parent.
--pristine-tar-коммит |--ptc
Позвонить нетронутая смола совершать для всех архивов, импортированных после остальных
Команда import-dsc выполнена успешно.
--no-нетронутый-tar-commit
Не звони нетронутая смола совершать для всех импортированных архивов, даже если они настроены
сделать это
мерзавец конфиг dpm.pristineTarCommit правда или путем
мерзавец конфиг филиал.Debianbranch.dpmPristineTarCommit правда.
--upstream-автор автор
Используется как - автор аргумент git-дпм импортная смола.
--upstream-дата даты
Используется как --свидание аргумент git-дпм импортная смола (особенно автоматический is
поддерживается извлечение даты из файла tar).
--tar-исключить описания
Данный шаблон передается tar как исключающий шаблон при распаковке
tar-файлы. Можно давать несколько раз.
Варианты применения патчей:
-f | --force-commit-reuse
Смотрите только на родителя и дерево, а не на описание, когда пытаетесь
reuse фиксирует импорт исправлений из предыдущих версий пакета.
-CNum | --patch-контекст Num
Прошло как -CNum в git-применить. Задает количество контекстных строк, которые
должны совпадать.
--dpatch-разрешить-пустой
Не выводите ошибку, если файл dpatch ничего не меняет при обработке как
патч.
Поскольку файлы dpatch могут быть произвольными скриптами, git-дпм есть некоторые проблемы
определение того, действительно ли они являются заплатами. (Справляется только с патчами). Если
сценарий, который не является патчем, рассматривается как патч, который обычно приводит к
patch ничего не изменяет, поэтому без этой опции это запрещено.
- патч-система Режим
Укажите, какая система исправлений используется для пакетов формата исходного кода 1.0.
автоматический (это по умолчанию)
Попробуйте определить, какая система исправлений используется, посмотрев на debian / rules
(И debian / control).
нет Это не те патчи, которые вам нужны.
история
Не пытайтесь найти какие-либо патчи в .diff (например, нет). Если если
проект уже существует, а архив исходной версии такой же, создайте
исправленное состояние нового с помощью исправлений старого
и добавляем нашивку сверху, приводя ее в новое состояние.
Если вы импортируете несколько ревизий какого-либо пакета, где каждая новая
ревизия добавила не более одного изменения в апстрим, эта опция
позволяет почти автоматически создавать правильный набор патчей
(в идеале только без описания).
Если есть такие же изменения и отмены, они будут видны в
патчи созданы, так что этот режим в таком случае не очень полезен.
стеганое одеяло Извлеките и примените дебиан / патчи / серии лоскутное одеяло, как серия поверх
возможные восходящие изменения, обнаруженные в файле .diff.
лоскутное одеяло
Как стеганое одеяло режим, но применить исправления к немодифицированному восходящему потоку
сначала, а затем выберите изменения, найденные в файле .diff.
Поскольку это не тот порядок, в котором исправления применяются в обычном
цикл распаковки / сборки, это не удастся, если эти изменения не различимы
достаточно (например, когда исправления зависят от изменений, внесенных в
.дифф).
Но если .diff содержит только несвязанные изменения, которые зависят от
каждой версии, это дает гораздо более приятную историю, поскольку коммиты для
патчи легче использовать повторно.
стеганый
Как лоскутное одеяло режим, но предположим, что патчи уже применены
в .diff, поэтому примените их поверх немодифицированного апстрима, а затем
добавить коммит, приводящий его к состоянию в .diff. (Или нет, если это
патч будет пустым).
патч | dpatch-first | с применением dpatch
Как и стеганое одеяло соответственно лоскутное одеяло соответственно стеганый режимы, но
вместо этого ищите патчи в стиле dpatch в debian / patches / 00list.
Обратите внимание, что поддерживаются только патчи, а не dpatch, запускающий другие
команды.
декриминализовано | простой первый | простой в применении
Как и стеганое одеяло соответственно лоскутное одеяло соответственно стеганый режимы, но
вместо этого предположить дебиан / патчи / содержит патчи, подходящие для CDB
простой-patchsys.mk.
- автор патча "имя <e-mail>"
Задайте автора для всех коммитов git, импортирующих патчи.
--patch-default-автор "имя <e-mail>"
Установите автора для всех патчей, не содержащих информацию об авторе (или где
git-дпм не может определить это).
--редактировать патчи
Для каждого импортированного патча запустите редактор сообщения о фиксации.
- запись-патч-категория
Добавить Категория патча: поле для каждого импортированного патча, находящегося в подкаталоге
of debian / патчи, Это вызывает обновления-патчи хранить в том же
подкаталог.
--record-имя-патча
Добавить Название патча: к каждому импортированному патчу с его именем. Это вызывает
обновления-патчи чтобы сохранить его под исходным именем.
запись-dsc [кредита] совершать .dsc-файл
Сохраните оригинальный файл .dsc в ДСК ветвь после сохранения файлов, которые она содержит
используя нетронутый деготь.
Первый аргумент - это тег или фиксация, в которых хранится git-дпм проект в штате
принадлежность к .dsc файл, а второй аргумент - это .dsc сам файл. В
файлы, на которые он ссылается, ожидаются в том же каталоге, что и сам файл (если они
необходимы).
Выполняются некоторые проверки, чтобы убедиться, что файл и его содержимое названы правильно и
совпадают с рассматриваемой фиксацией, но только бегло, чтобы избежать очевидных ошибок (для
пример проверяется только версия, но .debian.tar не распаковывается для проверки
файлы действительно такие же, например).
Опции:
--создать-ветвь
Создать новый ДСК филиал.
--allow-беззнаковый
Разрешить запись неподписанного .dsc файл. Обычно это лишает смысла
хранить их вообще.
дебиан / .git-dpm файл
Вам не нужно знать о содержимом этого файла, за исключением отладки git-dpm.
Файл содержит 8 строк, но в будущих версиях их может быть больше.
Первая строка - намек, о чем этот файл, и игнорируется.
Затем есть 4 идентификатора фиксации git для записанных состояний:
Сначала состояние исправленной ветки, когда исправления в debian / патчи были последними
обновляется.
Затем состояние исправленной ветки при последнем слиянии с Debian
филиал.
Затем состояние восходящей ветки при последнем слиянии исправленной ветки.
Наконец, восходящая ветвь.
Следующие 3 строки - это имя файла, контрольная сумма sha1 и размер исходного шара.
принадлежащий зарегистрированной восходящей ветке.
SHORTCUTS
У большинства команд также есть более короткие псевдонимы, чтобы не набирать:
обновления-патчи: вверх, вверх, ci
подготовить: приготовить
checkout-patchched: co, cp
исправлено: rp
применить патч: AP
import-tar: это
импорт-новый-восходящий поток: ину, ину
Record-New-Upstream: рну, рну
слияния-исправления-в-debian: слияния-исправления
record-new-upstream также доступна под старым названием new-upstream, хотя, вероятно,
быть удаленным в будущих версиях (во избежание путаницы).
ФИЛИАЛЫ
ветвь восходящего потока (вверх по течению|вверх по течениюлюбой)
Эта ветвь содержит исходные коды апстрима. Его содержимое должно быть достаточно равным
содержимое вашего архива основной ветки разработки.
Достаточно равный означает, что dpkg-source не должен видеть разницы между вашими исправленными
дерево и оригинальный tarball распакованы, пропатченный применен и debian / rules
чистым бег. Обычно проще всего сохранить дословное содержание оригинала.
tarball здесь. Тогда вы также можете использовать его для получения нетронутой смолы.
Эта ветка может содержать подкаталог debian /, который обычно просто игнорируется.
Вы можете опубликовать эту ветку или сделать ее видимой только неявно через
дебиан / .git-dpm файл в ветке Debian.
Хотя обычно имеет смысл, что новые восходящие ветки содержат более старые, это
не нужен. Вы должны иметь возможность переключаться с одного, созданного вами или другими
инструмент импорта foreign-vcs сгенерировал его в собственную ветку восходящего потока или наоборот
без проблем. Обратите внимание, что, поскольку ветка Debian имеет исправленную ветку как
предок и исправленная ветвь восходящая ветвь, ваши восходящие ветки
часть истории вашей ветки Debian. Это имеет то преимущество, что вы можете
воссоздайте точное состояние ваших веток напрямую из вашей истории (например, мерзавец
контроль -b старое государство Myoldtagorshaofdebianbranchcommit ; git-дпм готовить ; мерзавец
контроль нестабильное старое государство), но недостаток в том, что для удаления этих историй
из вашего репозитория вам придется проделать некоторую ручную работу.
патченная ветка (заплата|пропатчен-любой)
Эта ветка содержит ваши патчи к исходному коду апстрима. (что, конечно, означает
он основан на вашей восходящей ветке).
Каждая фиксация будет сохранена как отдельный патч в итоговом пакете.
Чтобы помочь git сгенерировать линейную серию патчей, в идеале это должна быть линейная цепочка
коммиты, описание которых полезно для других.
Поскольку эта ветка регулярно обновляется, вам не следует ее публиковать. Вместо этого вы можете
воссоздайте эту ветку, используя git-дпм исправлен на кассе используя информацию, хранящуюся в
дебиан / .git-dpm.
Вам не разрешено изменять содержание debian / подкаталог в этом
ветвь. Переименование файлов или удаление файлов обычно вызывает ненужные большие исправления.
ветка Debian (мастер|любой)
Это основная ветка.
Эта ветка содержит debian / каталог и слита исправленная ветка.
Каждое изменение не в debian /, .git* или удаление файлов должно производиться в пропатченном
филиал.
альтернативные названия веток
Вы можете указать альтернативные имена веток для восходящих и исправленных ветвей
конкретную ветку Debian, или сделать ветвь веткой Debian, которая обычно
считается, например, восходящей ветвью другой ветки, добавляя dpmUpstreamBranch
и dpmPatchedBranch настроить элементы для рассматриваемой ветки Debian (вам необходимо
оба, только один рассматривается как ошибка).
Следующий пример не подходит для всех практических целей:
мерзавец конфиг Branch.master.dpmUpstreamBranch вверх по течению
мерзавец конфиг Branch.master.dpmPatchedBranch заплата
АВТОРСКИЕ ПРАВА
Авторские права © 2009,2010, XNUMX Бернхард Р. Ссылка
Это бесплатное программное обеспечение; см. источник для условий копирования. Нет никаких гарантий; нет
даже для КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.
СОСТАВЛЕНИЕ ОТЧЕТОВ ОШИБКИ И ВОПРОСЫ
Вы можете сообщать об ошибках или предложениях по адресу [электронная почта защищена] или
меня. Пожалуйста, присылайте вопросы по адресу [электронная почта защищена] или мне в
[электронная почта защищена].
Используйте git-dpm онлайн с помощью сервисов onworks.net