GoGPT Best VPN GoSearch

OnWorks favicon

git-dpm - ອອນລາຍໃນຄລາວ

ແລ່ນ git-dpm ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ git-dpm ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


git-dpm - ແພັກເກັດ Debian ໃນຜູ້ຈັດການ git

ສະຫຼຸບສັງລວມ


git-dpm - ຊ່ວຍ

git-dpm [ ທາງເລືອກໃນການ ] ຄໍາສັ່ງ [ per-command-options ແລະ - ການໂຕ້ຖຽງ ]

ລາຍລະອຽດ


Git-dpm ເປັນເຄື່ອງມືເພື່ອຈັດການແພັກເກັດແຫຼ່ງ Debian ໃນ git repository.

ແຕ່ລະໂຄງການປະກອບມີສາມສາຂາ, ສາຂາ Debian (ຕົ້ນສະບັບ/ໃດກໍ່ຕາມ), ສາຂາ patched
(patched/ເພີ້ມ-ໃດກໍ່ຕາມ) ແລະ​ສາ​ຂາ​ທາງ​ເທິງ (ສາຍນ້ ຳ/ນ້ໍາ-ໃດກໍ່ຕາມ) ແລະ git-dpm
ຊ່ວຍ​ໃຫ້​ທ່ານ​ເກັບ​ຮັກ​ສາ​ຂໍ້​ມູນ​ໃນ​ທີ່​ນັ້ນ​ເພື່ອ​ໃຫ້​ທ່ານ​ມີ​ການ​ປ່ຽນ​ແປງ​ຂອງ​ທ່ານ​ສາ​ມາດ​ສົ່ງ​ອອກ​ເປັນ quilt​
ຊຸດ.

Git-dpm ຈະຄາດເດົາອີກສອງສາຂາໂດຍອີງໃສ່ສາຂາທີ່ມັນເຫັນ. (ຄໍາສັ່ງສ່ວນໃຫຍ່ປະຕິບັດ
ອີງໃສ່ HEAD ໃນປັດຈຸບັນ, ie ສາຂາໃດທີ່ທ່ານໄດ້ເຊັກເອົາໃນປັດຈຸບັນ, ເຖິງແມ່ນວ່າບາງ
ຕົວຢ່າງ: ສະຖານະພາບ ອະນຸຍາດໃຫ້ມີການໂຕ້ຖຽງທາງເລືອກແທນ). ດັ່ງນັ້ນ, ສໍາລັບການຍົກຕົວຢ່າງ, ຖ້າຫາກວ່າທ່ານຢູ່ໃນສາຂາ
ຕົ້ນສະບັບ, git-dpm ສົມມຸດວ່າສາຂາຕົ້ນນ້ໍາທີ່ສອດຄ້ອງກັນເອີ້ນວ່າ ສາຍນ້ ຳ. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ
ໃນສາຂາ upstream-ບາງສິ່ງບາງຢ່າງ, ມັນສົມມຸດວ່າສາຂາ Debian ຖືກເອີ້ນ ບາງສິ່ງບາງຢ່າງ.

ໃຫ້ສັງເກດວ່າຄໍາສັ່ງສ່ວນໃຫຍ່ອາດຈະປ່ຽນເປັນສາຂາອື່ນໂດຍອັດຕະໂນມັດ, ສ່ວນຫນຶ່ງແມ່ນຍ້ອນວ່າມັນແມ່ນ
ງ່າຍກວ່າທີ່ຈະປະຕິບັດວິທີການນັ້ນແລະຫວັງວ່າ, ສະນັ້ນຫນຶ່ງບໍ່ຈໍາເປັນຕ້ອງປ່ຽນສາຂາ
ດ້ວຍຕົນເອງເລື້ອຍໆ.

SHORT ການ ສຳ ຫຼວດ OF ການ ຊາຍແດນ


ສາຂາຕົ້ນນໍ້າ (ສາຍນ້ ຳ|ນ້ໍາ-ໃດກໍ່ຕາມ)
ສາຂານີ້ປະກອບດ້ວຍແຫຼ່ງນ້ໍາ. ເນື້ອໃນຂອງມັນຈໍາເປັນຕ້ອງມີຄວາມເທົ່າທຽມກັບ
ເນື້ອໃນຢູ່ໃນ tarball upstream ຂອງທ່ານ.

ສາຂາ patched (patched|ເພີ້ມ-ໃດກໍ່ຕາມ)
ສາ​ຂາ​ນີ້​ປະ​ກອບ​ດ້ວຍ​ການ​ແກ້​ໄຂ​ຂອງ​ທ່ານ​ກັບ​ແຫຼ່ງ​ນ​້​ໍ​າ​. ທຸກໆຄໍາຫມັ້ນສັນຍາຈະເປັນ
ເກັບໄວ້ເປັນແຜ່ນດຽວໃນຊຸດຜົນໄດ້ຮັບ.

ສ່ວນໃຫຍ່ຂອງເວລາມັນຈະບໍ່ມີເປັນສາຂາທີ່ຮູ້ຈັກ ໄປ, ແຕ່ພຽງແຕ່ເປັນບາງຈຸດ
ໃນປະຫວັດສາດຂອງສາຂາ Debian ແລະອາດຈະເປັນແທັກສໍາລັບສະບັບທີ່ຈັດພີມມາ.
Git-dpm ຈະສ້າງມັນເມື່ອຕ້ອງການແລະເອົາສາຂາອອກເມື່ອບໍ່ຈໍາເປັນ.

ເພື່ອຊ່ວຍໃຫ້ git ສ້າງຊຸດ patch linear, ນີ້ເຫມາະສົມຄວນຈະເປັນລະບົບຕ່ອງໂສ້ linear ຂອງ
commits, ເຊິ່ງຄໍາອະທິບາຍແມ່ນເປັນປະໂຫຍດສໍາລັບຄົນອື່ນ.

ເນື່ອງຈາກສາຂານີ້ຖືກອ້າງອີງເປັນປົກກະຕິ, ທ່ານບໍ່ຄວນເຜີຍແຜ່ມັນ.

ສາ​ຂາ Debian (ຕົ້ນສະບັບ|ໃດກໍ່ຕາມ)
ນີ້ແມ່ນສາຂາຕົ້ນຕໍ.

ສາຂານີ້ປະກອບດ້ວຍ debian/ ໄດເລກະທໍລີແລະມີສາຂາ patched ລວມເຂົ້າ.

ທຸກໆການປ່ຽນແປງບໍ່ໄດ້ຢູ່ໃນ debian/, .git* ຫຼືການລຶບໄຟລ໌ຕ້ອງເຮັດໃນ patched
ສາຂາ.

ຕົວຢ່າງ


ໃຫ້ເລີ່ມຕົ້ນດ້ວຍບາງຕົວຢ່າງ:

ກຳລັງກວດສອບໂຄງການ
ທໍາອິດໄດ້ຮັບສາຂາຕົ້ນສະບັບ:
ໄປ clone URL

ຈາກນັ້ນສ້າງສາຂາຕົ້ນນ້ຳ ແລະເບິ່ງວ່າ .orig.tar ພ້ອມແລ້ວບໍ:
git-dpm ກຽມພ້ອມ

ສ້າງສາຂາ patched ແລະກວດເບິ່ງມັນອອກ:
git-dpm checkout-patched

ເຮັດການປ່ຽນແປງບາງຢ່າງ, ນໍາໃຊ້ບາງແຜ່ນ, ຫມັ້ນສັນຍາ..
...
ໄປ ຄໍາຫມັ້ນສັນຍາ

ຖ້າ​ຫາກ​ວ່າ​ການ​ດັດ​ແກ້​ຂອງ​ທ່ານ​ແກ້​ໄຂ​ການ​ປ່ຽນ​ແປງ​ທີ່​ຜ່ານ​ມາ (ແລະ​ນັ້ນ​ບໍ່​ແມ່ນ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ສຸດ​ທ້າຍ​,
ຖ້າບໍ່ດັ່ງນັ້ນເຈົ້າອາດຈະໃຊ້ --amend), ເຈົ້າອາດຈະຕ້ອງການທໍາລາຍສອງຄໍາຫມັ້ນສັນຍາເຫຼົ່ານັ້ນ
ເຂົ້າໄປໃນຫນຶ່ງ, ດັ່ງນັ້ນການນໍາໃຊ້:
ໄປ ປະຕິເສດ -i ສາຍນ້ ຳ

ຫຼັງຈາກນັ້ນ, ທ່ານຕ້ອງການທີ່ຈະໄດ້ຮັບການປ່ຽນແປງເຫຼົ່ານັ້ນເຂົ້າໄປໃນສາຂາ Debian ແລະໄຟລ໌ patch ໃຫມ່
ສ້າງ (ທີ່ທ່ານສາມາດເຮັດໄດ້ໂດຍໃຊ້ git-dpm ປັບປຸງແກ້ໄຂ), ແຕ່ທ່ານອາດຈະຕ້ອງການ
ເພື່ອບັນທຶກສິ່ງທີ່ທ່ານໄດ້ເຮັດໃນ changelog, ດັ່ງນັ້ນທັງໝົດໃນຂັ້ນຕອນດຽວ:
git-dpm dch -- -i

ບາງທີອາດມີການປ່ຽນແປງບາງຢ່າງຢູ່ໃນການຫຸ້ມຫໍ່ Debian:
...
ໄປ ຄໍາຫມັ້ນສັນຍາ -a

ຫຼັງຈາກນັ້ນ, ຍູ້ສິ່ງທັງຫມົດກັບຄືນໄປບ່ອນ:
ໄປ ການຊຸກຍູ້

ກຳລັງປ່ຽນໄປໃຊ້ເວີຊັນໃໝ່
ເອົາໄຟລ໌ .orig.tar ໃໝ່. ອັບເກຣດສາຂາຕົ້ນນ້ຳຂອງເຈົ້າໃຫ້ເປັນເນື້ອໃນຂອງ
ໄຟລ໌ນັ້ນແລະໂທຫາ git-dpm record-new-upstream ../ໃໝ່.orig.tar.gz ຫຼືບອກ
git-dpm ເພື່ອນໍາເຂົ້າແລະບັນທຶກມັນ:
git-dpm ນຳເຂົ້າ-ໃໝ່-ຕົ້ນນ້ຳ --rebase ../ໃໝ່.orig.tar.gz

ນີ້ຈະ rebase ສາຂາ patched ກັບສາຂາ upstream ໃຫມ່, ບາງທີເຈົ້າອາດຈະ
ຈໍາ​ເປັນ​ຕ້ອງ​ແກ້​ໄຂ​ຂໍ້​ຂັດ​ແຍ່ງ​ບາງ​ຢ່າງ​:
vim ...
ໄປ ເພີ່ມ ແກ້ໄຂ ໄຟ
ໄປ ປະຕິເສດ --ສືບຕໍ່

ຫຼັງ​ຈາກ rebase ຖືກ​ດໍາ​ເນີນ​ການ (ມີ​ໂຊກ​ບາງ​ເຖິງ​ແມ່ນ​ວ່າ​ໃນ​ການ​ພະ​ຍາ​ຍາມ​ຄັ້ງ​ທໍາ​ອິດ​)​:
git-dpm dch -- -v ກະແສໃໝ່-1 "ໃຫມ່ ສາຍນ້ ຳ ສະບັບ"

ນອກນັ້ນທ່ານຍັງສາມາດເຮັດຂັ້ນຕອນສຸດທ້າຍໃນສາມໂດຍ:
git-dpm ປັບປຸງແກ້ໄຂ
dch -- -v ກະແສໃໝ່-1 "ໃຫມ່ ສາຍນ້ ຳ ສະບັບ"
ໄປ ຄໍາຫມັ້ນສັນຍາ --ປັບປຸງ -a

ເຮັດ debian / ການປ່ຽນແປງອື່ນໆ:
...
ໄປ ຄໍາຫມັ້ນສັນຍາ -a

ຫຼັງຈາກນັ້ນ, ຍູ້ສິ່ງທັງຫມົດກັບຄືນໄປບ່ອນ:
ໄປ ການຊຸກຍູ້

ການສ້າງໂຄງການໃຫມ່
ສ້າງເປັນ ສາຍນ້ ຳ (ຫຼື ນ້ໍາ-ໃດກໍ່ຕາມ) ສາ​ຂາ​ທີ່​ມີ​ເນື້ອ​ໃນ​ຂອງ​ທ່ານ​
ໄຟລ໌ orig.tar:
tar -xvf ຕົວຢ່າງ_0.orig.tar.gz
cd ຍົກຕົວຢ່າງ-0
ໄປ ໃນ​ມັນ
ໄປ ເພີ່ມ .
ໄປ ຄໍາຫມັ້ນສັນຍາ -m "ນໍາເຂົ້າ ຕົວຢ່າງ_0.orig.tar.gz"
ໄປ ກວດ​ເບິ່ງ -b upstream-ບໍ່ຫມັ້ນຄົງ

ທ່ານອາດຈະຕ້ອງການໃຊ້ tar pristine ເພື່ອເກັບຮັກສາ tar ຂອງທ່ານ:
pristine-tar ຄໍາຫມັ້ນສັນຍາ ../ຕົວຢ່າງ_0.orig.tar.gz upstream-ບໍ່ຫມັ້ນຄົງ

ຈາກນັ້ນໃຫ້ git-dpm ຮູ້ວ່າ tarball ສາຂາຕົ້ນນ້ໍາຂອງເຈົ້າເປັນຂອງຫຍັງ:
git-dpm ໃນ​ມັນ ../ຕົວຢ່າງ_0.orig.tar.gz

ໃຫ້ສັງເກດວ່ານັບຕັ້ງແຕ່ທ່ານຢູ່ໃນ upstream-ບໍ່ຫມັ້ນຄົງ ໃນຕົວຢ່າງນີ້, ໃນຕົວຢ່າງສຸດທ້າຍ
git-dpm ສົມມຸດວ່າທ່ານຕ້ອງການສາຂາ Debian ຂອງທ່ານເອີ້ນວ່າ ບໍ່ຫມັ້ນຄົງ ແລະບໍ່ ຕົ້ນສະບັບ, ດັ່ງນັ້ນ
ຫຼັງ​ຈາກ​ຄໍາ​ສັ່ງ​ກັບ​ຄືນ​ມາ​ທ່ານ​ຢູ່​ໃນ​ການ​ສ້າງ​ໃຫມ່​ ບໍ່ຫມັ້ນຄົງ ສາຂາ.

ເຮັດສ່ວນທີ່ເຫຼືອຂອງການຫຸ້ມຫໍ່:
vim debian / ຄວບຄຸມ debian/ກົດລະບຽບ
dch --ສ້າງ --ຊຸດ ຍົກຕົວຢ່າງ -v 0-1
ໄປ ເພີ່ມ debian / ຄວບຄຸມ debian/ກົດລະບຽບ debian/changelog
ໄປ ຄໍາຫມັ້ນສັນຍາ -m "ເບື້ອງຕົ້ນ ການຫຸ້ມຫໍ່"

ຫຼັງຈາກນັ້ນ, ເພີ່ມບາງ patches:
git-dpm checkout-patched
vim ...
ໄປ ຄໍາຫມັ້ນສັນຍາ -a
git-dpm dch "ການແກ້ໄຂ ... (ປິດ: ຕົວເລກ)"

ໄດ້ git-dpm checkout-patched ສ້າງສາຂາຊົ່ວຄາວ patched-ບໍ່ຫມັ້ນຄົງ (ດັ່ງ​ທີ່​ທ່ານ
ຢູ່ໃນສາຂາທີ່ເອີ້ນວ່າ ບໍ່ຫມັ້ນຄົງ. ຖ້າທ່ານໄດ້ເອີ້ນມັນກັບ HEAD ເປັນສາຂາ
ຕົ້ນສະບັບ, ມັນຈະເປັນ patched) ທີ່ທ່ານໄດ້ເພີ່ມຄໍາຫມັ້ນສັນຍາ. ຫຼັງ​ຈາກ​ນັ້ນ​ git-dpm
ປັບປຸງແກ້ໄຂ ບົ່ງບອກໂດຍ git-dpm dch ລວມ​ການ​ປ່ຽນ​ແປງ​ເຫຼົ່າ​ນັ້ນ​ເຂົ້າ​ໄປ​ໃນ​ ບໍ່ຫມັ້ນຄົງ, ລຶບແລ້ວ
ສາຂາຊົ່ວຄາວ ແລະສ້າງໃໝ່ debian/patches/ ໄຟລ໌.

ຈາກນັ້ນສ້າງຊຸດຂອງທ່ານ:
git-dpm ສະຖານະພາບ &&
dpkg-buildpackage -rfakeroot -ພວກ​ເຮົາ -uc -I"git*"

ຕອນນີ້ລອງເບິ່ງສິ່ງທີ່ເກີດຂຶ້ນ, ບາງທີເຈົ້າຕ້ອງການເພີ່ມບາງໄຟລ໌ໃສ່ .gitignore (ໃນ
ໄດ້ ບໍ່ຫມັ້ນຄົງ ສາຂາ), ຫຼືເອົາບາງໄຟລ໌ອອກຈາກ ບໍ່ຫມັ້ນຄົງ ສາຂາເພາະວ່າຂອງທ່ານ
ກົດລະບຽບທີ່ສະອາດເອົາພວກມັນອອກ.

ສືບຕໍ່ສອງສາມຂັ້ນຕອນສຸດທ້າຍຈົນກວ່າຊຸດຈະສໍາເລັດ. ຈາກນັ້ນຍູ້ຊຸດຂອງທ່ານ:
git-dpm ໂຄດ​ຄໍາ​ສັ່ງ
ໄປ ການຊຸກຍູ້ --ແທັກ ເປົ້າ​ຫມາຍ unstable : ບໍ່ຫມັ້ນຄົງ pristine-tar:pristine-tar

ການ​ເອົາ​ການ​ແກ້​ໄຂ​ທີ່​ມີ​ຢູ່​ແລ້ວ​
ທໍາອິດໄດ້ຮັບສາຂາຕົ້ນສະບັບ:
ໄປ clone URL

ສ້າງສາຂາ patched ແລະກວດເບິ່ງມັນອອກ:
git-dpm checkout-patched

ໄດ້​ຮັບ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ນັບ​ຕັ້ງ​ແຕ່​ການ​ປ່ອຍ​ຕົວ​ຄັ້ງ​ສຸດ​ທ້າຍ​: ໄປ ປະຕິເສດ -i
upstream-ບໍ່ຫມັ້ນຄົງ

ນີ້ຈະເປີດບັນນາທິການເລີ່ມຕົ້ນຂອງທ່ານດ້ວຍບັນຊີລາຍຊື່ຂອງຄໍາຫມັ້ນສັນຍາ. ແກ້ໄຂລາຍຊື່ເພື່ອເອົາອອກ
ຄຳໝັ້ນສັນຍາທີ່ບໍ່ຕ້ອງການ.
...
ໄປ ຄໍາຫມັ້ນສັນຍາ

ຫຼັງຈາກນັ້ນ, ທ່ານຕ້ອງການທີ່ຈະໄດ້ຮັບການປ່ຽນແປງເຫຼົ່ານັ້ນເຂົ້າໄປໃນສາຂາ Debian ແລະໄຟລ໌ patch ເກົ່າ
ລຶບອອກ (ທີ່ທ່ານສາມາດເຮັດໄດ້ໂດຍໃຊ້ git-dpm ປັບປຸງແກ້ໄຂ), ແຕ່ທ່ານອາດຈະຕ້ອງການ
ເພື່ອບັນທຶກສິ່ງທີ່ທ່ານໄດ້ເຮັດໃນ changelog, ດັ່ງນັ້ນທັງໝົດໃນຂັ້ນຕອນດຽວ:
git-dpm dch -- -i

ບາງທີອາດມີການປ່ຽນແປງບາງຢ່າງຢູ່ໃນການຫຸ້ມຫໍ່ Debian:
...
ໄປ ຄໍາຫມັ້ນສັນຍາ -a

ຫຼັງຈາກນັ້ນ, ຍູ້ສິ່ງທັງຫມົດກັບຄືນໄປບ່ອນ:
ໄປ ການຊຸກຍູ້

GLOBAL OPTIONS


--debug
ໃຫ້ຜົນຜະລິດ verbose ສິ່ງທີ່ git-dpm ກໍາລັງເຮັດ. ສ່ວນໃຫຍ່ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ສໍາລັບການ debugging ຫຼື
ໃນເວລາກະກຽມບົດລາຍງານ bug.

--debug-git-calls
ສົ່ງຄໍາຮ້ອງຂໍ git ໄປ stderr. (ສໍາລັບກໍລະນີການດີບັກທີ່ສັບສົນຫຼາຍ).

--allow-changes-in-debian-branch
ບໍ່ສົນໃຈການປ່ຽນແປງຕົ້ນຕໍ່ໃນສາຂາ Debian ຂອງທ່ານ. ນີ້ອາດຈະຍົກເລີກພວກມັນຖ້າ
merge-patched ແມ່ນເອີ້ນວ່າຄໍາສັ່ງມາຫຼືພວກເຂົາຖືກລະເວັ້ນຢູ່ບ່ອນອື່ນ.

ສາມາດ


ໃນ​ມັນ [ທາງເລືອກໃນການ] tarfile [upstream-commit [preapplied-commit [patched-commit]]]
ສ້າງໂຄງການ ໃໝ່.

ການໂຕ້ຖຽງທໍາອິດແມ່ນ tarball upstream.

ທ່ານຍັງຈໍາເປັນຕ້ອງມີເນື້ອໃນຂອງໄຟລ໌ນັ້ນແລະໄຟລ໌ທີ່ມອບໃຫ້
--component unpacked as some branch or commit in your git repository (ຫຼືຄ້າຍຄືກັນ
ພຽງພໍແລ້ວ dpkg-ແຫຼ່ງ ຈະບໍ່ຮູ້ຄວາມແຕກຕ່າງ). ນີ້ຈະຖືກເກັບໄວ້ໃນ
ສາຂາຕົ້ນນ້ຳ (ເອີ້ນ ສາຍນ້ ຳ or ນ້ໍາ-ໃດກໍ່ຕາມ). ຖ້າການໂຕ້ຖຽງທີສອງແມ່ນ
ບໍ່ມີຢູ່ແລ້ວ ຫຼືຫວ່າງເປົ່າ, ສາຂານັ້ນຕ້ອງມີຢູ່ແລ້ວ, ຖ້າບໍ່ດັ່ງນັ້ນສາຂານັ້ນຈະ
ໄດ້ຮັບການເລີ່ມຕົ້ນດ້ວຍສິ່ງທີ່ການໂຕ້ຖຽງທີສອງນັ້ນ. (ມັນ​ເປັນ​ຄວາມ​ຮັບ​ຜິດ​ຊອບ​ຂອງ​ທ່ານ​ທີ່​
ເນື້ອໃນກົງກັນ. git-dpm ບໍ່ຮູ້ວ່າກົດລະບຽບທີ່ສະອາດຂອງເຈົ້າເຮັດຫຍັງ, ດັ່ງນັ້ນບໍ່ສາມາດກວດສອບໄດ້
(ແລະບໍ່ໄດ້ພະຍາຍາມເຕືອນເທື່ອ)).

ເຈົ້າສາມາດມີສາຂາ Debian ໄດ້ແລ້ວ (ເອີ້ນວ່າ ຕົ້ນສະບັບ or ໃດກໍ່ຕາມ). ຖ້າມັນບໍ່
ມີຢູ່, ມັນຈະມີຢູ່ຫຼັງຈາກນັ້ນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນສາມາດມີ a debian/patches/series
ໄຟລ໌, ເຊິ່ງ git-dpm ຈະນໍາເຂົ້າ.

ການໂຕ້ຖຽງທີສາມສາມາດເປັນລູກຫລານຂອງສາຂາຕົ້ນນ້ໍາຂອງເຈົ້າ, ເຊິ່ງປະກອບດ້ວຍ
ການ​ປ່ຽນ​ແປງ​ຂອງ​ສາ​ຂາ Debian ຂອງ​ທ່ານ​ກ່ອນ​ທີ່​ຈະ​ນໍາ​ໃຊ້ patches (ຄົນ​ສ່ວນ​ໃຫຍ່​ມັກ​ທີ່​ຈະ
ບໍ່ມີແລະ lintian ເຕືອນ, ແຕ່ຖ້າຫາກວ່າທ່ານມີບາງ, ຄໍາຫມັ້ນສັນຍາ / cherry ເລືອກໃຫ້ເຂົາເຈົ້າໃນໃຫມ່
ສາຂາ / ຫົວແຍກຢູ່ດ້ານເທິງຂອງສາຂາຕົ້ນນ້ໍາຂອງເຈົ້າແລະຕັ້ງຊື່ມັນຢູ່ທີ່ນີ້). ໂດຍບໍ່ມີການ
--patches-applied, ສາຂາ Debian ຂອງທ່ານອາດຈະບໍ່ມີການປ່ຽນແປງທາງນ້ໍາໃດໆເມື່ອທຽບກັບ
ຄໍາຫມັ້ນສັນຍານີ້ (ຫຼືຖ້າຫາກວ່າມັນບໍ່ໄດ້ຖືກມອບໃຫ້, ສາຂາຕົ້ນນ້ໍາ).

ຖ້າບໍ່ມີການໂຕ້ຖຽງທີ່ສີ່, git-dpm ຈະນໍາໃຊ້ patches ທີ່ເປັນໄປໄດ້ໃນ Debian ຂອງທ່ານ
ສາຂາຢູ່ເທິງສຸດຂອງການໂຕ້ຖຽງທີສາມຫຼືຕົ້ນນ້ໍາ. ນອກນັ້ນທ່ານຍັງສາມາດເຮັດແນວນັ້ນຕົວທ່ານເອງແລະ
ໃຫ້ມັນເປັນການໂຕ້ຖຽງທີສີ່.

ເນື້ອໃນຂອງຄໍາຫມັ້ນສັນຍາ / ສາຂານີ້ມອບໃຫ້ຢູ່ໃນຄໍາຫມັ້ນສັນຍາສີ່ຫຼືສ້າງໂດຍ
ການ​ນໍາ​ໃຊ້ patches ເທິງ​ຂອງ​ສາມ / ສາ​ຂາ​ຕົ້ນ​ສະ​ບັບ​ຂອງ​ທ່ານ​ແມ່ນ​ຫຼັງ​ຈາກ​ນັ້ນ​ລວມ​ເຂົ້າ​ໄປ​ໃນ​ຂອງ​ທ່ານ​
ສາຂາ Debian ແລະຈື່ເປັນສາຂາ patched.

ຕົວເລືອກ:

-- ອົງ​ປະ​ກອບ​ ຊື່​ເອ​ກະ​ສານ
ບັນທຶກກ .orig-ອົງ​ປະ​ກອບ.tar ໄຟລ​໌​ທີ່​ຈະ​ໄດ້​ຮັບ​ການ unpacked ໃນ​ສາ​ຂາ​ຕົ້ນ​ຕໍ​ຂອງ​ທ່ານ​.

--patches-applied
ໝາຍເຫດສາຂາ Debian ໄດ້ນຳໃຊ້ patches ແລ້ວ.

ຖ້າບໍ່ມີ git-dpm ນີ້ຈະກວດເບິ່ງວ່າບໍ່ມີການປ່ຽນແປງໃດໆໃນສາຂາ Debian
ການຈັດການ patch ພາຍນອກກ່ອນທີ່ຈະນໍາໃຊ້ patches; ດ້ວຍນີ້, ມັນຈະ
ແທນທີ່ຈະກວດເບິ່ງວ່າບໍ່ມີຄວາມແຕກຕ່າງໃດໆຫຼັງຈາກໃຊ້ patches.

--create-no-patches
ຢ່າສ້າງ/ລົບລ້າງ debian/patches ໄດເລກະທໍລີ. ເຈົ້າຈະຕ້ອງໂທຫາ
ປັບປຸງແກ້ໄຂ ຕົວ​ທ່ານ​ເອງ. ເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານກໍາລັງນໍາເຂົ້າຂໍ້ມູນປະຫວັດສາດແລະ
ຮັກສາ patches ຕົ້ນສະບັບຢູ່ໃນສາຂາ Debian.

--record-patch-category
ເພີ່ມ Patch-Category: ຊ່ອງຂໍ້ມູນໃສ່ແຕ່ລະ patch ທີ່ນໍາເຂົ້າຢູ່ໃນໄດເລກະທໍລີຍ່ອຍ
of debian/patches. ສາເຫດນີ້ ປັບປຸງແກ້ໄຂ ເພື່ອເກັບມັນໄວ້ໃນອັນດຽວກັນ
ໄດເຣັກທໍຣີຍ່ອຍ

--record-patch-name
ເພີ່ມ Patch-ຊື່: ຊ່ອງໃສ່ແຕ່ລະແຜ່ນທີ່ນໍາເຂົ້າດ້ວຍຊື່ຂອງມັນ. ສາເຫດນີ້
ປັບປຸງແກ້ໄຂ ເພື່ອເກັບຮັກສາມັນພາຍໃຕ້ຊື່ຕົ້ນສະບັບຂອງມັນ.

ກຽມພ້ອມ
ໃຫ້ແນ່ໃຈວ່າສາຂາຕົ້ນນ້ໍາແລະຕົ້ນນ້ໍາ orig.tar ຢູ່ທີ່ນັ້ນແລະເຖິງວັນທີ.
(ເອີ້ນວ່າດີທີ່ສຸດຫຼັງຈາກ clone ຫຼືດຶງ).

ສະຖານະພາບ [ສາຂາ]

ກວດເບິ່ງສະຖານະຂອງໂຄງການປະຈຸບັນ (ຫຼືຂອງໂຄງການທີ່ເປັນຂອງ
ການໂຕ້ຖຽງ ສາຂາ ຖ້າແມ່ນໃຫ້). ກັບຄືນດ້ວຍລະຫັດອອກທີ່ບໍ່ແມ່ນສູນຖ້າມີບາງສິ່ງບາງຢ່າງທີ່ຈະ
ເຮັດຖືກກວດພົບ.

checkout-patched

ກວດເບິ່ງສາຂາທີ່ຖືກປັບປຸງ (patched|ເພີ້ມ-ໃດກໍ່ຕາມ) ຫຼັງຈາກໃຫ້ແນ່ໃຈວ່າມັນມີຢູ່
ແລະ​ແມ່ນ​ຫນຶ່ງ​ທີ່​ບັນ​ທຶກ​ໄວ້​ໃນ​ debian/.git-dpm ຍື່ນ.

ຖ້າສາຂາ patched ອ້າງເຖິງສະຖານະເກົ່າ (ເຊັ່ນຫນຶ່ງທີ່ເປັນບັນພະບຸລຸດຂອງ
ສາຂາ Debian ໃນປັດຈຸບັນ), ມັນໄດ້ຖືກປ່ຽນເປັນປະຈຸບັນທີ່ບັນທຶກໄວ້.

ຖ້າ​ບໍ່​ດັ່ງ​ນັ້ນ​ທ່ານ​ສາ​ມາດ​ປັບ​ມັນ​ກັບ​ສະ​ຖາ​ນະ​ການ​ບັນ​ທຶກ​ຫຼ້າ​ສຸດ​ທີ່​ມີ​ --ກຳລັງ ທາງເລືອກ.

ປັບປຸງແກ້ໄຂ [ທາງເລືອກໃນການ] [ສາຂາ - ຊື່]

ຫຼັງຈາກໂທ merge-patched-into-debian ຖ້າຈໍາເປັນ, ປັບປຸງເນື້ອໃນຂອງ
debian/patches ກັບ​ສະ​ພາບ​ປະ​ຈຸ​ບັນ​ຂອງ​ patched ສາຂາ.

ນອກຈາກນີ້ຍັງບັນທຶກໃນ debian/.git-dpm ວ່າລັດຂອງສາຂາ patched the patches
ໄດເລກະທໍລີເປັນຂອງ.

ຖ້າຫາກວ່າເປັນ ສາຂາ - ຊື່ ແມ່ນໃຫ້, ສາຂານັ້ນຖືກປຸງແຕ່ງ. ຖ້າບໍ່ດັ່ງນັ້ນຊື່ແມ່ນມາຈາກ
ຈາກສາຂາທີ່ເຊັກເອົາໃນປັດຈຸບັນເປັນປົກກະຕິ.

ຕົວເລືອກ:

--ເຮັດຄືນ ເຮັດບາງສິ່ງບາງຢ່າງ, ເຖິງແມ່ນວ່າມັນເບິ່ງຄືວ່າບໍ່ມີຫຍັງເຮັດ.

--allow-revert, --ລະເລີຍ-ລຶບ, --dot-git-files=*
ຜ່ານໄປ merge-patched-into-debian

--ປັບປຸງ
ຢ່າສ້າງຄໍາຫມັ້ນສັນຍາໃຫມ່, ແຕ່ແກ້ໄຂອັນສຸດທ້າຍໃນສາຂາ Debian.
(ເຊັ່ນ: ໂທຫາ merge-patched-into-debian ດ້ວຍ --amend ແລະແກ້ໄຂການປັບປຸງ
patches ເຂົ້າໄປໃນຄໍາຫມັ້ນສັນຍາສຸດທ້າຍເຖິງແມ່ນວ່າມັນບໍ່ໄດ້ຖືກສ້າງຂື້ນໂດຍ
merge-patched-into-debian).

-m ຂໍ້ຄວາມ
ການນໍາໃຊ້ ຂໍ້ຄວາມ ເປັນ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​. (ຖ້າໃຊ້ຮ່ວມກັນກັບ --amend, ຢ່າໃຊ້ຊໍ້າຄືນ
ຂໍ້ຄວາມສັນຍາເກົ່າ, ວັນທີຜູ້ຂຽນຫຼືຜູ້ຂຽນແຕ່ແທນທີ່ຄໍາຫມັ້ນສັນຍາເກົ່າດ້ວຍ a
ຄໍາຫມັ້ນສັນຍາໃຫມ່ກັບຂໍ້ຄວາມນັ້ນ).

-- ສາຂາ
ບໍ່ເອົາສາຂາທີ່ມີ patched ທີ່ມີຢູ່ແລ້ວ (ປົກກະຕິແລ້ວມັນຖືກໂຍກຍ້າຍອອກແລະສາມາດເປັນ
recreated ກັບ checkout-patched ເພື່ອຫຼີກເວັ້ນການສໍາເນົາ stale lurking ປະມານ.

--allow-nonlinear
ຜ່ານໄປ merge-patched.

dch [ທາງເລືອກໃນການ] -- dch-ທາງເລືອກ
ຫຼັງຈາກໂທຫາ update-patches ຖ້າຈໍາເປັນ, ດໍາເນີນການ devscripts 'dch ກັບທີ່ກໍານົດໄວ້
ທາງເລືອກແລະຫຼັງຈາກນັ້ນເຮັດ a ໄປ ຄໍາຫມັ້ນສັນຍາ ກັບຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາທີ່ປະກອບດ້ວຍການປ່ຽນແປງ
debian/changelog ຍື່ນ.

ຕົວເລືອກ:

--ປັບປຸງ
ແທນທີ່ຄໍາຫມັ້ນສັນຍາໃນປັດຈຸບັນເປັນຫົວຫນ້າສາຂາ Debian
(ຕົ້ນສະບັບ|ບາງສິ່ງບາງຢ່າງ) ແທນທີ່ຈະສ້າງອັນໃຫມ່ຢູ່ເທິງສຸດ. ຂໍ້ຄວາມສັນຍາ
ຍັງຈະລວມເອົາການປ່ຽນແປງທີ່ເຮັດກັບ debian/changelog ໃນຄໍາຫມັ້ນສັນຍາທີ່ຜ່ານມາ
(ເວັ້ນເສຍແຕ່ຈະກັບຄືນໂດຍການດັດແກ້ໃຫມ່).

--ignore-patches
ຢ່າໂທຫາ update-patches ແຕ່ພຽງແຕ່ບໍ່ສົນໃຈສະຖານະປະຈຸບັນຂອງ
ສາຂາ patched (patched|ເພີ້ມ-ບາງສິ່ງບາງຢ່າງ).

-- ສາຂາ, --allow-revert, --allow-nonlinear, --ລະເລີຍ-ລຶບ,
--dot-git-files=*
ຜ່ານການອັບເດດ-patches, ຖ້າເອີ້ນວ່າ.

-- ລ້າສຸດເທົ່ານັ້ນ|--ລ່າ​ສຸດ|-l
ພຽງແຕ່ລວມເອົາການປ່ຽນແປງລະຫວ່າງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນກ່ອນທີ່ຈະໂທຫາ
dch ແລະຫຼັງຈາກໂທຫາມັນ (ແລະບໍ່ແມ່ນນັບຕັ້ງແຕ່ຄໍາຫມັ້ນສັນຍາຄັ້ງສຸດທ້າຍຫຼືຄໍາຫມັ້ນສັນຍາຄັ້ງສຸດທ້າຍ
ບໍ່​ໄດ້​ທົດ​ແທນ).

-e | -v | -a | --ທັງໝົດ | -s | -n | --no-verify | -u | --untracked-files | -q |
--ງຽບ | --ອະນາໄມ=... | --ຜູ້ຂຽນ=...
ຜ່ານໄປ git ຄໍາຫມັ້ນສັນຍາ.

merge-patched-into-debian [ທາງເລືອກໃນການ] [ສາຂາ - ຊື່]
ປົກກະຕິແລ້ວ ປັບປຸງແກ້ໄຂ ດໍາເນີນການນີ້ສໍາລັບທ່ານຖ້າເຫັນວ່າມີຄວາມຈໍາເປັນ.

ຄໍາສັ່ງນີ້ແມ່ນຫຼັກຂອງ git-dpm, ແຕ່ປົກກະຕິແລ້ວທ່ານບໍ່ໄດ້ໂທຫາມັນໂດຍກົງ. ມັນ
ຖືກເອີ້ນໂດຍ ປັບປຸງແກ້ໄຂ ແລະສິ່ງທີ່ໂທຫາ ປັບປຸງແກ້ໄຂ ຄື dch ໃນເວລາທີ່
ຈໍາເປັນ.

ມັນປ່ຽນແທນໄຟລ໌ທັງຫມົດ (ມີພຽງແຕ່ຂໍ້ຍົກເວັ້ນທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້) ໃນປະຈຸບັນ
ສາຂາ Debian (ຕົ້ນສະບັບ|ໃດກໍ່ຕາມ) ກັບຜູ້ທີ່ພົບເຫັນຢູ່ໃນສາຂາ patched
(patched|ເພີ້ມ-ໃດກໍ່ຕາມ).

ພຽງແຕ່ໄດ້ debian ໄດເລກະທໍລີແລະໄຟລ໌ຢູ່ໃນລະບົບຮາກທີ່ເລີ່ມຕົ້ນດ້ວຍ ".git" ແມ່ນ
ເກັບຮັກສາໄວ້ຈາກສາຂາ Debian (ດັ່ງນັ້ນ .gitignore, .gitattributes, ... ຈະຢູ່). ແລະ
ໄຟລ​໌​ທັງ​ຫມົດ​ທີ່​ໄດ້​ຮັບ​ການ​ພົບ​ເຫັນ​ໃນ​ສາ​ຂາ patched ທີ່​ບັນ​ທຶກ​ໄວ້​ສຸດ​ທ້າຍ​ແລະ​ຖືກ​ລົບ​ໃນ​
ສາຂາ Debian ໃນປັດຈຸບັນຈະຖືກລຶບຖິ້ມຢູ່ໃນອັນໃຫມ່.

ນອກ​ຈາກ​ນັ້ນ​ debian/.git-dpm ໄຟລ໌ຈະຖືກປັບປຸງເພື່ອໃຫ້ສາຂາທີ່ຖືກປັບປຸງໃນປັດຈຸບັນ
ຖືກບັນທຶກ ແລະຖືກໝາຍວ່າເປັນຂອງສາຂາຕົ້ນນ້ຳທີ່ບັນທຶກໄວ້ຫຼ້າສຸດ.

ຖ້າບໍ່ມີ ສາຂາ - ຊື່ ໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງຊື່ພື້ນຖານຂອງສາຂາ
ການດໍາເນີນການແມ່ນຄິດໄລ່ຈາກສາຂາທີ່ອອກໃນປັດຈຸບັນເປັນປົກກະຕິ. ຖ້າບໍ່ດັ່ງນັ້ນ
ການໂຕ້ຖຽງນີ້ຖືກນໍາໃຊ້.

ຕົວເລືອກ:

--allow-revert
ປົກກະຕິແລ້ວການກັບຄືນໄປສະຖານະເກົ່າຂອງສາຂາ patched ແມ່ນບໍ່ອະນຸຍາດໃຫ້, to
ຫຼີກເວັ້ນຄວາມຜິດພາດ (ຄືກັບພຽງແຕ່ດຶງສາຂາ Debian ແລະລືມແລ່ນ
checkout-patched). ຕົວ​ເລືອກ​ນີ້​ມີ​ການ​ປ່ຽນ​ແປງ​ດັ່ງ​ນັ້ນ​ທ່ານ​ສາ​ມາດ​ຍົກ​ຕົວ​ຢ່າງ​ການ​ຫຼຸດ​ລົງ​ໄດ້​
patch ສຸດທ້າຍໃນ stack ຂອງທ່ານ.

--no-ignore-deletions (ຄ່າເລີ່ມຕົ້ນ)
ໄຟລ໌ທີ່ຖືກລຶບໃນປັດຈຸບັນຢູ່ໃນສາຂາ Debian ທີ່ກ່ຽວຂ້ອງກັບບັນທຶກ
ສາຂາ patched ຈະຍັງຄົງຖືກລຶບຢູ່ໃນສາຂາ Debian ໃຫມ່ແລະບໍ່ຖືກປະຕິບັດ
ຈາກສາຂາ patched ໃຫມ່. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ ເວັ້ນເສຍແຕ່ເປັນຄ່າເລີ່ມຕົ້ນທີ່ແຕກຕ່າງກັນ
ຖືກຕັ້ງດ້ວຍ
ໄປ config dpm.ສາຂາ.dpmIgnoreDeletions ທີ່ແທ້ຈິງ.

--ລະເລີຍ-ລຶບ
ປິດການທໍາງານຂອງພຶດຕິກໍາທີ່ອະທິບາຍໄວ້ໃນ --no-ignore-deletions.

--dot-git-files=ວິທີການ
ລະບຸວ່າໄຟລ໌ເລີ່ມຕົ້ນດ້ວຍແນວໃດ .git ນອກ debian/ ຖືກຈັດການ. ເຫຼົ່ານັ້ນແມ່ນ
handles ພິເສດເປັນ .gitattributes ແລະ .gitignore ອາດຈະແຕກຕ່າງກັນໃນ
ສາຂາ Debian ໂດຍບໍ່ມີການເປັນສ່ວນຫນຶ່ງຂອງ patch ໃດ. (ທັງ​ຫມົດ debian/ ລະບົບ
ຖືກເອົາມາຈາກສາຂາ Debian ສະເຫມີ, ດັ່ງນັ້ນໄຟລ໌ທີ່ນັ້ນບໍ່ໄດ້ຮັບຜົນກະທົບ).

ວິທີການທີ່ເປັນໄປໄດ້ແມ່ນ:

ອັດຕະໂນມັດ (ຄ່າເລີ່ມຕົ້ນ)
ໃດ .git* ໄຟລ໌ທີ່ຖືກເພີ່ມ, ດັດແກ້ຫຼືເອົາອອກໃນປະຈຸບັນ
ສາຂາ Debian ທຽບກັບສາຂາຕົ້ນນ້ໍາເກົ່າແມ່ນຖືກກໍານົດເປັນນີ້
ລັດ, ທຸກສິ່ງທຸກຢ່າງອື່ນແມ່ນປະຕິບັດຕາມທີ່ພົບເຫັນຢູ່ໃນສາຂາໃຫມ່ patched.

debian ທັງຫມົດ .git* ໄຟລ໌ຖືກເອົາມາຈາກສາຂາ Debian. ໄຟລ໌ທີ່ມີຊື່
ເຊັ່ນວ່າຈາກສາຂາ patched ແມ່ນຖືກລະເລີຍ.

ສາຍນ້ ຳ
ໄຟລ໌ເລີ່ມຕົ້ນດ້ວຍ .git ບໍ່​ໄດ້​ຮັບ​ການ​ຈັດ​ການ​ພິ​ເສດ​. ພວກ​ເຂົາ​ແມ່ນ
ເອົາມາຈາກສາຂາ patched, ເວັ້ນເສຍແຕ່ວ່າພວກມັນຈະຖືກລຶບຖິ້ມໃນ Debian
ສາຂາ ແລະຄ່າເລີ່ມຕົ້ນ --no-ignore-deletions ມີການເຄື່ອນໄຫວ. (ເຊັ່ນ: ພຽງແຕ່
ຄືກັບໄຟລ໌ອື່ນນອກ debian/).

-- ສາຂາ
ບໍ່ເອົາສາຂາທີ່ມີ patched ທີ່ມີຢູ່ແລ້ວ (ປົກກະຕິແລ້ວມັນຖືກໂຍກຍ້າຍອອກແລະສາມາດເປັນ
recreated ກັບ checkout-patched ເພື່ອຫຼີກເວັ້ນການສໍາເນົາ stale lurking ປະມານ).

--ປັບປຸງ
ແທນທີ່ຄໍາຫມັ້ນສັນຍາສຸດທ້າຍໃນສາຂາ Debian ຂອງທ່ານ (ເປັນ git commit --amend ຈະ
ເຮັດ). ຍົກເວັ້ນພໍ່ແມ່ທີ່ເປັນບັນພະບຸລຸດຂອງແຕ່ລະຄົນຫຼືເທົ່າທຽມກັນ
ໄປຫາສາຂາ patched ໃຫມ່ຫຼືສາຂາ patched ທີ່ບັນທຶກໄວ້ຈະຖືກລະເວັ້ນ. (ນັ້ນ
ແມ່ນ, ທ່ານສູນເສຍບໍ່ພຽງແຕ່ຄໍາຫມັ້ນສັນຍາໃນສາຂາ Debian, ແຕ່ຍັງເປັນທີ່ຜ່ານມາ
ສະຖານະຂອງສາຂາ patched ຖ້າຄໍາຫມັ້ນສັນຍາສຸດທ້າຍຂອງທ່ານຍັງລວມ patched
ສາຂາ).

-m ຂໍ້ຄວາມ
ຄໍາຫມັ້ນສັນຍາທີ່ຈະໃຊ້ສໍາລັບຄໍາຫມັ້ນສັນຍາໃຫມ່ທີ່ສ້າງຂຶ້ນ. (ຖ້າໃຊ້ຮ່ວມກັບ
--amend, ນີ້ disables reusing ຜູ້ຂຽນເກົ່າແລະວັນທີ).

--allow-nonlinear
ຢ່າເອົາລູກອອກດ້ວຍຄວາມຜິດພາດຖ້າສາຂາທີ່ຖືກປັບປຸງບໍ່ແມ່ນຊຸດເສັ້ນຊື່
ຄໍາຫມັ້ນສັນຍາເທິງຂອງສາຂາຕົ້ນນ້ໍາ. ການນໍາໃຊ້ທາງເລືອກນີ້ແມ່ນບໍ່ແນະນໍາ
ຍ້ອນ​ວ່າ​ມັນ​ໄດ້​ຢ່າງ​ງ່າຍ​ດາຍ​ຊ່ອນ​ບັນ​ຫາ​ທີ່​ມີ patched ຫຼື​ສາ​ຂາ​ຕົ້ນ​ຕໍ​ແລະ​ອາດ​ຈະ​
ແນະນໍາ debian/patches/ series ທີ່ແຕກຫັກ, ຍ້ອນວ່າ format-patch ບໍ່
ການຈັດລໍາດັບ.

ນຳເຂົ້າ-ໃໝ່-ຕົ້ນນ້ຳ [ທາງເລືອກໃນການ] .orig.tar
ການ​ນໍາ​ເຂົ້າ​ເນື້ອ​ໃນ​ຂອງ tarfile ທີ່​ໄດ້​ຮັບ (ເຊັ່ນ​ດຽວ​ກັນ​ກັບ ນໍາເຂົ້າ-tar) ແລະ​ບັນ​ທຶກ​ນີ້​
ສາຂາ (ເຊັ່ນດຽວກັບ record-new-upstream).

ນີ້ແມ່ນປະມານເທົ່າກັບ:
git-dpm ນໍາເຂົ້າ-tar -p ສາຍນ້ ຳ ຊື່​ເອ​ກະ​ສານ
ໄປ ກວດ​ເບິ່ງ -b ສາຍນ້ ຳ
git-dpm record-new-upstream ຊື່​ເອ​ກະ​ສານ

-- ແຍກ
ຢ່າ​ເຮັດ​ໃຫ້​ສາຂາ​ຕົ້ນ​ນໍ້າ​ໃໝ່​ເປັນ​ບັນພະບຸລຸດ​ຂອງ​ສາຂາ​ຕົ້ນ​ນໍ້າ​ເດີມ
(ເວັ້ນເສຍແຕ່ວ່າທ່ານຕື່ມມັນກັບ -p).

-p commit-id|--ພໍ່ແມ່ commit-id
ໃຫ້ ນໍາເຂົ້າ-tar ພໍ່ແມ່ເພີ່ມເຕີມຂອງຄໍາຫມັ້ນສັນຍາໃຫມ່ທີ່ຈະສ້າງ.

ຕົວຢ່າງຖ້າທ່ານຕິດຕາມ git repository ຂອງ upstream ໃນບາງສາຂາ, ທ່ານສາມາດເຮັດໄດ້
ຕັ້ງຊື່ຢູ່ທີ່ນີ້ເພື່ອເຮັດໃຫ້ມັນເປັນສ່ວນ ໜຶ່ງ ຂອງປະຫວັດສາດຂອງສາຂາ Debian ຂອງທ່ານ.

--allow-no-parent
ຖ້າ dpm.importWithoutParent ຖືກຕັ້ງເປັນ false ຜ່ານ git config, git-dpm ຈະບໍ່
ອະນຸຍາດໃຫ້ນໍາເຂົ້າ-new-upstream ດໍາເນີນການໂດຍບໍ່ມີທາງເລືອກນີ້ຫຼືຢ່າງຫນ້ອຍສຸດ -p
ທາງເລືອກ.

--rebase-patched
ຫຼັງ​ຈາກ​ການ​ບັນ​ທຶກ​ການ​ສາ​ຂາ​ເທິງ​ນ​້​ໍ​າ​ໃຫມ່​, rebase ສາ​ຂາ patched ກັບ​
ສາຂາຕົ້ນນ້ຳໃໝ່.

--no-rebase-patched
ຢ່າໂທຫາ rebase-patched ຫຼັງຈາກການບັນທຶກສາຂາຕົ້ນນ້ໍາໃຫມ່. (ນີ້
ໃນປັດຈຸບັນແມ່ນຄ່າເລີ່ມຕົ້ນ, ແຕ່ວ່າອາດຈະມີການປ່ຽນແປງໃນອະນາຄົດ).

-m ຂໍ້ຄວາມ
ຄໍາຫມັ້ນສັນຍາຂໍ້ຄວາມທີ່ຈະນໍາໃຊ້ສໍາລັບຄໍາຫມັ້ນສັນຍາໃຫມ່ກັບສາຂາ Debian ການບັນທຶກ
ໄຟລ໌ໃຫມ່ແລະສາຂາຕົ້ນນ້ໍາ.

-- ອົງ​ປະ​ກອບ​ package_version.orig-ອົງ​ປະ​ກອບ.tar.gz
Unpack ຊື່ໄຟລ໌ທີ່ລະບຸໄວ້ໃນ ອົງ​ປະ​ກອບ ໄດເລກະທໍລີແລະບັນທຶກມັນ
ທີ່ ກຽມພ້ອມ ແລະ ສະຖານະພາບ ຮູ້ກວດຫາມັນ.

--ໃນ​ມັນ

ບໍ່ມີສາຂາໃດໆ, ຈົ່ງສ້າງພວກມັນ.

ເປັນສາຂາທີ່ຈະດໍາເນີນການແມ່ນມາຈາກ HEAD ຖ້າບໍ່ມີ --ສາຂາ ທາງເລືອກແມ່ນ
ໃຫ້, ເຈົ້າຕ້ອງການ HEAD ຊີ້ໄປຫາສາຂາທີ່ຍັງບໍ່ທັນມີຢູ່ (ເຊັ່ນ:
ໂດຍກົງຫຼັງຈາກ ໄປ ໃນ​ມັນ) ຫຼື​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ທ່ານ​ໃຫ້​ຊື່​ກັບ​ --ສາຂາ.
ຖ້າບໍ່ດັ່ງນັ້ນ, ຫນຶ່ງໃນສາຂາທີ່ມີຢູ່ແລ້ວແລະທ່ານພຽງແຕ່ໄດ້ຮັບຄວາມຜິດພາດ
ຂໍ້ຄວາມ.

--ສາຂາ ສາຂາ debian
ຢ່າເອົາຊື່ສາຂາ Debian ຈາກປະຈຸບັນ HEAD ແຕ່ໃຊ້ ສາຂາ debian
ແທນ. (ແລະ​ຊື່​ສາຂາ​ຕົ້ນ​ນ້ຳ​ແລະ​ຊື່​ສາຂາ​ທີ່​ຕິດ​ຄັດ​ມາ​ຈາກ
ເປັນປົກກະຕິ).

--pristine-tar-commit | --ptc
ໂທ pristine-tar ຄໍາຫມັ້ນສັນຍາ ສໍາລັບ tarball ທັງຫມົດທີ່ນໍາເຂົ້າຍັງບໍ່ທັນພົບເຫັນຢູ່ໃນ
ສາຂາ pristine-tar.

--no-pristine-tar-commit
ຢ່າໂທຫາ pristine-tar ຄໍາຫມັ້ນສັນຍາ ສໍາລັບ tarballs ນໍາເຂົ້າທັງຫມົດເຖິງແມ່ນວ່າຈະ configured
ເພື່ອເຮັດແນວນັ້ນໂດຍ
ໄປ config dpm.pristineTarCommit ທີ່ແທ້ຈິງ ຫຼືໂດຍ
ໄປ config ສາຂາ.ສາຂາ debian.dpmPristineTarCommit ທີ່ແທ້ຈິງ.

--ລະເລີຍ-ລຶບ, --dot-git-files=
ຜ່ານໄປ merge-patched, ຖ້າເອີ້ນວ່າ (ເຮັດໄດ້ພຽງແຕ່ຖ້າບໍ່ມີ patches
ກ່ອນຫນ້ານີ້).

--upstream-ຜູ້ຂຽນ ຜູ້​ປະ​ພັນ
ໃຊ້ເປັນ --ຜູ້ຂຽນ ການໂຕ້ຖຽງກັບ git-dpm ນໍາເຂົ້າ-tar.

-- upstream-date ວັນ
ໃຊ້ເປັນ - ວັນທີ ການໂຕ້ຖຽງກັບ git-dpm ນໍາເຂົ້າ-tar (ໂດຍສະເພາະ ອັດຕະໂນມັດ is
ສະ​ຫນັບ​ສະ​ຫນູນ​ເພື່ອ​ສະ​ກັດ​ວັນ​ທີ​ຈາກ​ໄຟລ​໌ tar​)​.

--ຍົກເວັ້ນ ຮູບແບບ
ຮູບແບບທີ່ໃຫ້ຖືກສົ່ງກັບ tar ເປັນຮູບແບບການຍົກເວັ້ນໃນເວລາທີ່ unpacking. ສາ​ມາດ
ໄດ້​ຮັບ​ຫຼາຍ​ຄັ້ງ​.

ນໍາເຂົ້າ-tar [ທາງເລືອກໃນການ] .tar-file
ສ້າງຄໍາຫມັ້ນສັນຍາໃຫມ່ທີ່ມີເນື້ອໃນຂອງໄຟລ໌ທີ່ໃຫ້. ຄໍາຫມັ້ນສັນຍາຈະບໍ່
ມີພໍ່ແມ່, ເວັ້ນເສຍແຕ່ວ່າທ່ານໃຫ້ -p ຕົວເລືອກ

-p commit-id|--ພໍ່ແມ່ commit-id
ເພີ່ມຄໍາຫມັ້ນສັນຍາທີ່ໃຫ້ໄວ້ເປັນພໍ່ແມ່. (ສາມາດລະບຸໄດ້ຫຼາຍຄັ້ງ).

--ສາຂາ ຊື່ສາຂາ
ສ້າງສາຂາໃຫມ່ ຊື່ສາຂາ ຖ້າມັນບໍ່ມີຢູ່ແລ້ວຫຼືປ່ຽນແທນ
ຊື່ສາຂາ ກັບຄໍາຫມັ້ນສັນຍາທີ່ສ້າງຂຶ້ນຈາກ tarball ກັບປະຈຸບັນ
ຊື່ສາຂາ ຫົວ​ຫນ້າ​ເປັນ​ພໍ່​ແມ່​.

-m ຂໍ້ຄວາມ
ຢ່າເລີ່ມບັນນາທິການສໍາລັບຂໍ້ຄວາມທີ່ສັນຍາ, ແຕ່ໃຊ້ການໂຕ້ຖຽງແທນ.

- ວັນທີ ວັນ
ວັນທີຂອງຄໍາຫມັ້ນສັນຍາທີ່ຈະສ້າງ.

ຖ້າຫາກວ່າມູນຄ່າແມ່ນ ອັດຕະໂນມັດ ຫຼັງ​ຈາກ​ນັ້ນ​ແມ່ນ​ວັນ​ທີ​ໃຫມ່​ທີ່​ສຸດ​ຂອງ​ໄຟລ​໌​ຫຼື​ບັນ​ຊີ​ລາຍ​ການ​ໃນ​
tarball ຖືກນໍາໃຊ້.

--ຜູ້ຂຽນ ຜູ້​ປະ​ພັນ
ຜູ້ຂຽນຄໍາຫມັ້ນສັນຍາທີ່ຈະສ້າງ. ມັນຕ້ອງຢູ່ໃນຮູບແບບ git ປົກກະຕິ
ຜູ້​ປະ​ພັນ <ອີ​ເມວ>.

--ຍົກເວັ້ນ ຮູບແບບ
ຮູບແບບທີ່ໃຫ້ຖືກສົ່ງກັບ tar ເປັນຮູບແບບການຍົກເວັ້ນໃນເວລາທີ່ unpacking. ສາ​ມາດ
ໄດ້​ຮັບ​ຫຼາຍ​ຄັ້ງ​.

record-new-upstream [ທາງເລືອກໃນການ] .orig.tar [ຄໍາຫມັ້ນສັນຍາ]

ຖ້າເຈົ້າປ່ຽນສາຂາຕົ້ນນໍ້າ (ສາຍນ້ ຳ|ນ້ໍາ-ໃດກໍ່ຕາມ), git-dpm ຕ້ອງການ
ຮູ້ ວ່າ tarball ສາ ຂາ ນີ້ ໃນ ປັດ ຈຸ ບັນ ສອດ ຄ່ອງ ກັບ ແລະ ທ່ານ ມີ rebase ຂອງ ທ່ານ
ສາຂາ patched (patched|ເພີ້ມ-ໃດກໍ່ຕາມ) ​ໄປ​ຍັງ​ສາຂາ​ຕົ້ນ​ນ້ຳ​ໃໝ່.

ຖ້າມີການໂຕ້ຖຽງທີສອງ, ຄໍາສັ່ງນີ້ທໍາອິດຈະປ່ຽນສາຂາທາງເທິງຂອງທ່ານ
ກັບຄໍາຫມັ້ນສັນຍາທີ່ກໍານົດໄວ້.

ຫຼັງຈາກນັ້ນ, ສາຂາຕົ້ນນ້ໍາໃຫມ່ຖືກບັນທຶກໄວ້ໃນສາຂາ Debian ຂອງທ່ານ debian/.git-dpm
ຍື່ນ.

ຖ້າທ່ານລະບຸ --rebase-patched (ຫຼືສັ້ນ --rebase), git-dpm rebase-patched ຈະ
ຈະຖືກເອີ້ນໃຫ້ຕັ້ງສາຂາທີ່ປັບປຸງໃໝ່ຂອງເຈົ້າຢູ່ເທິງສຸດຂອງສາຂາໃໝ່.

ຫຼັງຈາກນີ້ (ແລະຖ້າຫາກວ່າສາຂາຫຼັງຈາກນັ້ນເບິ່ງຄືວ່າທ່ານຕ້ອງການ), ທ່ານຍັງຈໍາເປັນຕ້ອງໄດ້
ໂທ git-dpm merge-patched-into-debian (ຫຼືໂດຍກົງ git-dpm ປັບປຸງແກ້ໄຂ).

ຄໍາເຕືອນ ເພື່ອຫຼີກເວັ້ນການເຂົ້າໃຈຜິດ: ເຈົ້າຕ້ອງປ່ຽນສາຂາຕົ້ນນໍ້າ
ກ່ອນທີ່ຈະໃຊ້ຄໍາສັ່ງນີ້. ມັນເປັນຄວາມຮັບຜິດຊອບຂອງເຈົ້າເພື່ອຮັບປະກັນເນື້ອໃນຂອງ
tarball ກົງກັບສາຂາຂອງຕົ້ນນ້ໍາ.

--rebase-patched
ໂທອັດຕະໂນມັດ git-dpm rebase-patched.

--new-tarball-ເທົ່ານັ້ນ
ຢ່າປະຕິເສດການດໍາເນີນງານຖ້າ tarball ປ່ຽນແປງແຕ່ສາຂາຕົ້ນນ້ໍາໄດ້ເຮັດ
ບໍ່. (ນີ້​ເປັນ​ພຽງ​ແຕ່​ສົມ​ເຫດ​ສົມ​ຜົນ​ຖ້າ​ຫາກ​ວ່າ tarball ໄດ້​ປ່ຽນ​ແປງ​ໂດຍ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​ຂອງ​ຕົນ​
ເນື້ອໃນ, ເບິ່ງຄໍາເຕືອນຂ້າງເທິງ).

-m ຂໍ້ຄວາມ
ຄໍາຫມັ້ນສັນຍາຂໍ້ຄວາມທີ່ຈະນໍາໃຊ້ສໍາລັບຄໍາຫມັ້ນສັນຍາໃຫມ່ກັບສາຂາ Debian ການບັນທຶກ
ໄຟລ໌ໃຫມ່ແລະສາຂາຕົ້ນນ້ໍາ.

--ປັບປຸງ
ແທນທີ່ຄໍາຫມັ້ນສັນຍາສຸດທ້າຍແທນທີ່ຈະສ້າງອັນໃຫມ່ຢູ່ເທິງສຸດ.

-- ອົງ​ປະ​ກອບ​ ຊື່​ເອ​ກະ​ສານ
ການບັນທຶກ ຊື່​ເອ​ກະ​ສານ ເປັນໄຟລ໌ແຫຼ່ງອົງປະກອບທີ່ຈໍາເປັນ (ເຊັ່ນ: a
sourcename_upstreamversion.orig-ອົງ​ປະ​ກອບ.tar.compression ໄຟລ໌). ມັນເປັນຂອງເຈົ້າ
ຮັບ​ຜິດ​ຊອບ​ທີ່​ຈະ​ມີ​ເນື້ອ​ໃນ​ຂອງ​ໄຟລ​໌​ນັ້ນ​ເປັນ​ສ່ວນ​ຫນຶ່ງ​ຂອງ​ຕົ້ນ​ສະ​ບັບ​ຂອງ​ທ່ານ​
ສາຂາ (ໃນ ກ ອົງ​ປະ​ກອບ subdirectory).

(ໄຟລ໌ທີ່ບັນທຶກໄວ້ຈະຖືກຊອກຫາໂດຍ ສະຖານະພາບ ແລະ ກຽມພ້ອມ. ບັນຊີລາຍຊື່ຂອງ
ໄຟລ​໌​ແຫຼ່ງ​ອົງ​ປະ​ກອບ​ທີ່​ບັນ​ທຶກ​ໄວ້​ໄດ້​ຮັບ​ການ​ໂຍກ​ຍ້າຍ​ອອກ​ໃນ​ເວ​ລາ​ທີ່​ສາ​ຂາ​ຕົ້ນ​ສະ​ບັບ​ໃຫມ່​ຫຼື​
ສາຍນ້ ຳ .orig ແຫຼ່ງໄຟລ໌ຖືກບັນທຶກ).

--ລະເລີຍ-ລຶບ, --ot-git-files=
ຜ່ານໄປ merge-patched, ຖ້າເອີ້ນວ່າ (ຊຶ່ງພຽງແຕ່ເຮັດໄດ້ຖ້າຫາກວ່າບໍ່ມີ
patches ກ່ອນຫນ້ານີ້, ດັ່ງນັ້ນສາຂາທາງເທິງໃຫມ່ໄດ້ຖືກລວມເຂົ້າໂດຍກົງ).

rebase-patched
ພະ​ຍາ​ຍາມ​ທີ່​ຈະ rebase ສາ​ຂາ patched ໃນ​ປະ​ຈຸ​ບັນ​ຂອງ​ທ່ານ (patched|ເພີ້ມ-ໃດກໍ່ຕາມ) ຕໍ່ທ່ານ
ສາຂາຕົ້ນນ້ໍາປະຈຸບັນ (ສາຍນ້ ຳ|ນ້ໍາ-ໃດກໍ່ຕາມ).

ຖ້າສາຂາເຫຼົ່ານັ້ນຍັງບໍ່ທັນມີເປັນສາຂາ git, ພວກມັນຖືກສ້າງຂື້ນຈາກ
ຂໍ້​ມູນ​ທີ່​ບັນ​ທຶກ​ໄວ້​ໃນ​ debian/.git-dpm ຄັ້ງທໍາອິດ.

ນີ້ແມ່ນພຽງແຕ່ການຫໍ່ຄວາມສະດວກສະບາຍປະມານ git rebase ທີ່ທໍາອິດພະຍາຍາມກໍານົດ
ສິ່ງທີ່ແນ່ນອນແມ່ນ rebase. ຖ້າມີຂໍ້ຂັດແຍ່ງໃດໆ, git rebase ຈະຮ້ອງຂໍໃຫ້ທ່ານ
ແກ້ໄຂໃຫ້ເຂົາເຈົ້າແລະບອກ rebase ເພື່ອສືບຕໍ່.

ຫຼັງ​ຈາກ​ນີ້​ແມ່ນ​ສໍາ​ເລັດ (ແລະ​ຖ້າ​ຫາກ​ວ່າ​ສາ​ຂາ​ຫຼັງ​ຈາກ​ນັ້ນ​ເບິ່ງ​ຄື​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​)​, ທ່ານ​ຍັງ​
ຕ້ອງການ merge-patched-into-debian (ຫຼືໂດຍກົງ ປັບປຸງແກ້ໄຂ).

ໂຄດ​ຄໍາ​ສັ່ງ [ ທາງເລືອກໃນການ ] [ ສະບັບພາສາ ]
ເພີ່ມ tags ກັບສາຂາຕົ້ນນ້ໍາ, patched ແລະ Debian. ຖ້າບໍ່ມີສະບັບຖືກໃຫ້, ມັນ
ຖືກເອົາມາຈາກ debian/changelog.

ຕົວເລືອກ:

-- ໂຫຼດຫນ້າຈໍຄືນ
ຂຽນທັບແທັກຖ້າພວກເຂົາຢູ່ແລ້ວແລະແຕກຕ່າງກັນ (ຍົກເວັ້ນຕົ້ນນ້ໍາ).

-- refresh-upstream
ຂຽນທັບຂ້າງເທິງຖ້າມີຢູ່ບ່ອນນັ້ນ ແລະແຕກຕ່າງກັນ.

--allow-stale-patches
ຢ່າຜິດພາດຖ້າ patches ບໍ່ທັນສະໄຫມ. ນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ຖ້າທ່ານ
ກໍາລັງນໍາເຂົ້າຂໍ້ມູນປະຫວັດສາດແລະຕ້ອງການແທັກມັນ.

--ຊື່
ໃຊ້ຊື່ແພັກເກັດເປັນສ່ວນໜຶ່ງຂອງຊື່ຂອງແທັກທີ່ສ້າງຂຶ້ນ. (ໃຊ້ ໄປ
config dpm.tagsName ທີ່ແທ້ຈິງ ເພື່ອເຮັດໃຫ້ມັນເປັນຄ່າເລີ່ມຕົ້ນ)

--ມີຊື່ ຊື່
ຄື --ຊື່ ແຕ່ໃຫ້ຊື່ທີ່ຈະໃຊ້.

--debian-tag tag-name

--patched-tag tag-name

--upstream-tag tag-name
ລະບຸຊື່ຂອງແທັກທີ່ຈະສ້າງ.

%p ຖືກແທນທີ່ດ້ວຍຊື່ຊຸດ,

%v ກັບສະບັບ (ບໍ່ມີ epoch) ມີຈໍ້າສອງເມັດ (:) ແລະ tilde (~) ແທນ
ໂດຍເຄື່ອງໝາຍຂີດກ້ອງ (_),

%u ກັບສະບັບ upstream (ໂດຍບໍ່ມີການ epoch ຫຼື Debian revision) ກັບຈໍ້າສອງເມັດ
(:) ແລະ tilde (~) ແທນທີ່ດ້ວຍຂີດກ້ອງ (_),

%e ກັບຍຸກ,

%f ກັບ epoch ຕິດຕາມດ້ວຍ underscore (_) ຖ້າມີ epoch, ແລະ
ດ້ວຍສາຍທີ່ຫວ່າງເປົ່າຖ້າບໍ່ມີຍຸກ,

%V ກັບສະບັບ (ບໍ່ມີ epoch) ມີຈໍ້າສອງເມັດ (:) ແລະ tilde (~) ແທນ
ໂດຍຈຸດ (.),

%U ກັບສະບັບ upstream (ໂດຍບໍ່ມີການ epoch ຫຼື Debian revision) ກັບຈໍ້າສອງເມັດ
(:) ແລະ tilde (~) ແທນທີ່ດ້ວຍຈຸດ (.),

%E ກັບ epoch ຕິດຕາມດ້ວຍຈຸດຖ້າມີ epoch, ແລະຫວ່າງເປົ່າ
string ຖ້າບໍ່ມີຍຸກ,

%% ກັບດຽວ %.

ຖ້າອັນໃດອັນໜຶ່ງບໍ່ໄດ້ຕັ້ງຜ່ານທາງເລືອກແຖວຄຳສັ່ງ, ໄປ config ຖືກຖາມກ່ຽວກັບ
ມູນຄ່າຂອງ dpm.debianTag, dpm.patchedTag or dpm.upstreamTag. ຖ້າ​ຫາກ​ວ່າ​ຍັງ​ບໍ່​ໄດ້​ກໍາ​ນົດ​
ຫຼືມູນຄ່າພິເສດ AUTO, ຫຼັງຈາກນັ້ນ debian/.git-dpm ຖືກສະແກນຫາແຖວຂອງແບບຟອມ
debianTag="ມູນຄ່າ",
patchedTag="ມູນຄ່າ" or
upstreamTag="ມູນຄ່າ".

(ຫມາຍ​ເຫດ​: ຕື່ມ​ຂໍ້​ມູນ​ໃສ່​ໃນ​ຕອນ​ທ້າຍ​ຂອງ​ໄຟລ​໌​ສະ​ເຫມີ​ໄປ​, ແປດ​ເສັ້ນ​ທໍາ​ອິດ​ໄດ້​ແກ້​ໄຂ​
ເລກແຖວ)

ຖ້າອັນນີ້ຍັງບໍ່ສົ່ງຜົນໃຫ້ໃຊ້ຮູບແບບ, ຄ່າເລີ່ມຕົ້ນແມ່ນ
'%p-debian%e-%v','%p-patched%e-%v'ແລະ'%p-upstream%e-%u' ກັບ --ຊື່ ແລະ
'debian%e-%v','ແກ້ໄຂ %e-%v'ແລະ'ເທິງນ້ໍາ%e-%u' ໂດຍບໍ່ມີການ.

ຖ້າຊື່ແທັກມີຄ່າພິເສດ NONE, ບໍ່ມີແທັກຖືກສ້າງ.

ແທັກອ້າງອີງ [ ທາງເລືອກໃນການ ] ຄໍາຫມັ້ນສັນຍາ [ ສະບັບພາສາ ]
ຄື ໂຄດ​ຄໍາ​ສັ່ງ, ແຕ່ສ້າງ tags ສໍາລັບ ຄໍາຫມັ້ນສັນຍາ, i ຄໍາຫມັ້ນສັນຍາ ຈະໄດ້ຮັບແທໍກ Debian ແລະ
tags ອື່ນໆຖືກຈັດໃສ່ບ່ອນທີ່ debian/.git-dpm ໄຟລ໌ຂອງຄໍາຫມັ້ນສັນຍາທີ່ຊີ້ໃຫ້ເຫັນເຖິງ.

ສະນັ້ນມັນເກືອບເທົ່າກັບ:
ໄປ ກວດ​ເບິ່ງ -b ວັດລົມ ຄໍາຫມັ້ນສັນຍາ
git-dpm ໂຄດ​ຄໍາ​ສັ່ງ [ທາງເລືອກໃນການ] [ສະບັບພາສາ]
ໄປ ກວດ​ເບິ່ງ ຫົວກ່ອນໜ້າ
ໄປ ສາຂາ -D ວັດລົມ

ຕົວເລືອກຕ່າງໆເຊັ່ນ ໂຄດ​ຄໍາ​ສັ່ງ.

ນຳໃຊ້-patch [ ທາງ​ເລືອກ... ] [ ຊື່​ເອ​ກະ​ສານ ]
ສະຫຼັບໄປຫາສາຂາທີ່ອັບເດດແລ້ວ (ສົມມຸດວ່າມັນອັບເດດແລ້ວ, ໃຫ້ໃຊ້ checkout-patched ກ່ອນ
ເພື່ອໃຫ້ແນ່ໃຈວ່າຫຼືໄດ້ຮັບການເຕືອນ), ແລະນໍາໃຊ້ patch ທີ່ໃຫ້ເປັນການໂຕ້ຖຽງຫຼືຈາກ
stdin.

--ຜູ້ຂຽນ ຜູ້​ປະ​ພັນ
ລົບລ້າງຜູ້ຂຽນທີ່ຈະຖືກບັນທຶກໄວ້.

-- ຜູ້ຂຽນເລີ່ມຕົ້ນ ຜູ້​ປະ​ພັນ
ຖ້າບໍ່ມີຜູ້ຂຽນສາມາດຖືກກໍານົດຈາກຄໍາຫມັ້ນສັນຍາ, ໃຊ້ນີ້.

- ວັນທີ ວັນ
ວັນທີທີ່ຈະບັນທຶກ patch ນີ້ໃນເບື້ອງຕົ້ນແມ່ນມາຈາກຖ້າຫາກວ່າບໍ່ພົບ.

--dpatch
Parse patch ເປັນ dpatch patch (ພຽງແຕ່ເຮັດວຽກສໍາລັບ dpatch patches ຕົວຈິງແລ້ວເປັນ
patch, silently ອາດຈະລົ້ມເຫລວສໍາລັບຄົນອື່ນ).

--cdbs Parse patch ເປັນ cdbs simple-patchsys.mk patch (ໃຊ້ໄດ້ສະເພາະກັບ dpatch patches ເທົ່ານັ້ນ
ຕົວຈິງແລ້ວການເປັນ patch, silently ອາດຈະລົ້ມເຫລວສໍາລັບຄົນອື່ນ).

--ດັດແກ້ ເລີ່ມບັນນາທິການກ່ອນທີ່ຈະເຮັດຄໍາຫມັ້ນສັນຍາ (ໃນກໍລະນີທີ່ເຈົ້າຂີ້ຄ້ານເກີນໄປທີ່ຈະແກ້ໄຂ).

--record-ຊື່
ເພີ່ມ Patch-ຊື່: ພາກສະຫນາມທີ່ຈະບອກ ປັບປຸງແກ້ໄຂ ເພື່ອສົ່ງອອກມັນຄືກັນ
ຊື່ອີກເທື່ອຫນຶ່ງ.

--ຊື່ ຊື່
ເພີ່ມ Patch-ຊື່: ພາກສະຫນາມທີ່ຈະບອກ ປັບປຸງແກ້ໄຂ ການນໍາໃຊ້ ຊື່ ເປັນຊື່ໄຟລ໌
ເກັບຮັກສາ patch ນີ້ເຂົ້າໄປໃນ (ກ່ຽວຂ້ອງກັບ debian/patches).

--ປະເພດ ຊື່
ເພີ່ມ Patch-Category: ພາກສະຫນາມທີ່ຈະບອກ ປັບປຸງແກ້ໄຂ ເພື່ອສົ່ງອອກນີ້ສະເຫມີ
patch ເຂົ້າໄປໃນ subdirectory ຊື່ of debian/patches.

cherry- ເອົາ [ ທາງ​ເລືອກ... ] ຄໍາຫມັ້ນສັນຍາ
Recreate ສາຂາ patched ແລະ cherry ເລືອກຄໍາຫມັ້ນສັນຍາທີ່ໃຫ້. ຫຼັງ​ຈາກ​ນັ້ນ​, ລວມ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​
ເຂົ້າໄປໃນສາຂາ Debian ແລະປັບປຸງໄດເຣັກທໍຣີ debian/patches (ie ສ່ວນໃຫຍ່
ເທົ່າກັບ checkout-patched, git's cherry-pick, ແລະ update-patches).

--merge ເທົ່ານັ້ນ
ພຽງແຕ່ຮວມສາຂາທີ່ຖືກປັບປຸງໃຫ້ເຂົ້າກັນກັບສາຂາ Debian ແຕ່ບໍ່ໄດ້ອັບເດດ
ໄດເລກະທໍລີ patches (ທ່ານຈະຕ້ອງດໍາເນີນການອັບເດດ-patches ຕໍ່ມາເພື່ອເອົາອັນນີ້
ສໍາເລັດ).

-e | --ດັດແກ້
ຜ່ານໄປຫາ git's cherry-pick: ແກ້ໄຂຂໍ້ຄວາມທີ່ເລືອກ.

-s | -- ເຊັນອອກ
ຜ່ານໄປຫາ git's cherry-pick: ເພີ່ມສ່ວນຫົວທີ່ຖືກເຊັນອອກ

-x ຜ່ານໄປຫາ git's cherry-pick: ເພີ່ມເສັ້ນທີ່ອະທິບາຍສິ່ງທີ່ເລືອກ

-m num | --ສາຍຫຼັກ num
ຜ່ານໄປຫາ git's cherry-pick: ອະນຸຍາດໃຫ້ເລືອກການຮວມໂດຍການລະບຸພໍ່ແມ່
ເພື່ອເບິ່ງ.

--repick
ຢ່າເອົາລູກອອກຖ້າຄໍາຫມັ້ນສັນຍາທີ່ລະບຸໄວ້ມີຢູ່ແລ້ວ.

--allow-nonlinear, --ລະເລີຍ-ລຶບ, --dot-git-files=
ຜ່ານການອັບເດດ-patches, ຖ້າເອີ້ນວ່າ.

ຜ່ານໄປ merge-patched-into-debian ແລະອັບເດດ-patches.

-- ສາຂາ
ຢ່າເອົາສາຂາທີ່ຖືກແກ້ໄຂເມື່ອມັນບໍ່ຈໍາເປັນ.

--ປັບປຸງ
ຜ່ານໄປ merge-patched-into-debian: ແກ້ໄຂຄໍາຫມັ້ນສັນຍາສຸດທ້າຍໃນ Debian
ສາຂາ.

ນຳເຂົ້າ-dsc
ນຳເຂົ້າແພັກເກັດແຫຼ່ງ Debian ຈາກໄຟລ໌ .dsc. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງໃຫມ່
ໂຄງການຫຼືການນໍາເຂົ້າຊຸດແຫຼ່ງເຂົ້າໄປໃນໂຄງການທີ່ມີຢູ່ແລ້ວ.

ໃນຂະນະທີ່ສະຖານະເກົ່າທີ່ເປັນໄປໄດ້ຂອງໂຄງການຖືກບັນທຶກເປັນຄໍາຫມັ້ນສັນຍາຂອງພໍ່ແມ່, ສະຖານະຂອງ
ສາຂາ Debian ເກົ່າບໍ່ໄດ້ຖືກພິຈາລະນາ. ໂດຍສະເພາະແມ່ນການລຶບໄຟລ໌ທັງຫມົດແລະ
ໄຟລ໌ .gitignore ແລະໄຟລ໌ທີ່ຄ້າຍກັນຈະຕ້ອງຖືກນຳໃຊ້ຄືນໃໝ່/ເພີ່ມໃໝ່ຫຼັງຈາກນັ້ນ.
(ສົມມຸດຕິຖານແມ່ນວ່າສະບັບແພັກເກັດແຫຼ່ງໃຫມ່ຈາກພາຍນອກອາດຈະປ່ຽນແປງສິ່ງຕ່າງໆ
ຢ່າງຫຼວງຫຼາຍ, ດັ່ງນັ້ນຂໍ້ມູນເກົ່າອາດຈະລ້າສະໄຫມຫຼາຍ. ແລະ​ນຳ​ໃຊ້​ມັນ​ຄືນ​ໃໝ່
ງ່າຍກວ່າການກັບຄືນການປ່ຽນແປງດັ່ງກ່າວ.)

ຂັ້ນຕອນທໍາອິດແມ່ນການນໍາເຂົ້າ .orig.tar ໄຟລ໌ແລະເປັນໄປໄດ້ .orig-ອົງ​ປະ​ກອບ.tar ໄຟລ໌.
ເຈົ້າສາມາດລະບຸສາຂາທີ່ຈະໃຊ້ໄດ້. ຖ້າບໍ່ດັ່ງນັ້ນ ນຳເຂົ້າ-dsc ຈະເບິ່ງຖ້າຫາກວ່າ
ສະຖານະທີ່ຜ່ານມາຂອງໂຄງການນີ້ມີໄຟລ໌ທີ່ຈໍາເປັນຢູ່ແລ້ວ, ດັ່ງນັ້ນການ upstream ເກົ່າ
ສາ​ຂາ​ສາ​ມາດ​ນໍາ​ໃຊ້​ຄືນ​. ຖ້າບໍ່ມີ, ໄຟລ໌ຈະຖືກນໍາເຂົ້າເປັນຄໍາຫມັ້ນສັນຍາໃຫມ່,
ໂດຍຄ່າເລີ່ມຕົ້ນທີ່ມີສາຂາຕົ້ນນ້ໍາທີ່ຜ່ານມາທີ່ເປັນໄປໄດ້ເປັນພໍ່ແມ່.

ຫຼັງຈາກນັ້ນ, ນຳເຂົ້າ-dsc ຈະພະຍາຍາມນໍາເຂົ້າຊຸດແຫຼ່ງໃນລັດເປັນ dpkg-ແຫຼ່ງ
-x ຈະສ້າງມັນ. (ນັ້ນ​ແມ່ນ​ການ​ນໍາ​ໃຊ້ .diff ແລະ​ການ​ເຮັດ​ໃຫ້​ debian/ກົດລະບຽບ ປະຕິບັດໄດ້
ສໍາລັບຊຸດຮູບແບບ 1.0 ແລະປ່ຽນແທນ debian ໄດເລກະທໍລີທີ່ມີເນື້ອໃນຂອງ a
.debian.tar ແລະນຳໃຊ້ເປັນໄປໄດ້ debian/patches/series ສໍາລັບການຫຸ້ມຫໍ່ຮູບແບບ 3.0).
ອັນນີ້ຕໍ່ມາເອີ້ນວ່າການນຳເຂົ້າຄຳເວົ້າ.

ຖ້າມັນເປັນຊຸດຮູບແບບແຫຼ່ງ 1.0, ນຳເຂົ້າ-dsc ຫຼັງຈາກນັ້ນຊອກຫາຊຸດສະຫນັບສະຫນູນ
ລະບົບ patch ແລະພະຍາຍາມນໍາໃຊ້ patches ເຫຼົ່ານັ້ນ. ຫຼັງຈາກນັ້ນ, ເຫຼົ່ານັ້ນຖືກລວມເຂົ້າກັບ
verbatim ລັດເຂົ້າໄປໃນສາຂາ Debian ໃຫມ່.

ຫຼັງຈາກນັ້ນ, ກ debian/.git-dpm ໄຟລ໌ຖືກສ້າງຂື້ນແລະສະຖານະເກົ່າທີ່ເປັນໄປໄດ້ຂອງໂຄງການ
ເພີ່ມເປັນພໍ່ແມ່.

ໃຫ້ສັງເກດວ່າ dpkg-ແຫຼ່ງ ບໍ່ໄດ້ໃຊ້ເພື່ອສະກັດແພັກເກັດ, ແຕ່ພວກມັນຖືກສະກັດອອກ
ດ້ວຍຕົນເອງ. ໂດຍສະເພາະ git-apply ຖືກນໍາໃຊ້ແທນ patch. ໃນຂະນະທີ່ນີ້ໂດຍທົ່ວໄປ
ເຮັດວຽກ (ແລະ git-dpm ມີ magic ທີ່ຈະເຮັດວຽກປະມານບາງສ່ວນຂອງ git-applyຂໍ້ບົກຜ່ອງຂອງ),
ແຜ່ນທີ່ບໍ່ສະອາດບາງຄັ້ງອາດຈະຕ້ອງການ a ຄ .0 ທາງເລືອກແລະຫຼັງຈາກນັ້ນໃນກໍລະນີດຽວກັນຖືກນໍາໃຊ້
ໃນ​ຕໍາ​ແຫນ່ງ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ກ​່​ວາ​ບ່ອນ​ທີ່​ patch ຈະນໍາໃຊ້ພວກມັນ.

ທາງເລືອກທົ່ວໄປ:

-b | --ສາຂາ ສາຂາ - ຊື່
ຢ່າເບິ່ງ HEAD ໃນປັດຈຸບັນ, ແຕ່ນໍາເຂົ້າຊຸດເຂົ້າໄປໃນ git-dpm
ໂຄງການ ຊື່ສາຂາ ຫຼືສ້າງໂຄງການໃຫມ່ (ຖ້າສາຂານັ້ນຍັງບໍ່ມີ
ມີ).

-- ຄຳເວົ້າ ສາຂາ - ຊື່
ຫຼັງຈາກ ນຳເຂົ້າ-dsc ໄດ້​ສໍາ​ເລັດ​ຢ່າງ​ສໍາ​ເລັດ​ຜົນ​, ສາຂາ - ຊື່ ຈະ​ປະ​ກອບ​ດ້ວຍ
ການນຳເຂົ້າໄຟລ໌ .dsc. ຖ້າສາຂາຂອງຊື່ນັ້ນມີຢູ່ແລ້ວ,
ຄໍາຫມັ້ນສັນຍາໃຫມ່ verbatim ຍັງຈະມີອາຍຸເປັນພໍ່ແມ່. (ນີ້​ຍັງ​ເຮັດ​ໃຫ້​ເກີດ
verbatim ຄໍາຫມັ້ນສັນຍາທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂກັບການປ່ຽນແປງອື່ນໆ, ຊຶ່ງສາມາດສົ່ງຜົນ
ໃນຄໍາຫມັ້ນສັນຍາຫຼາຍ).

--use-changelog
Parse debian/changelog ຂອງແພັກເກັດທີ່ນໍາເຂົ້າ. ໃຊ້ຄໍາອະທິບາຍເປັນ
commit ຂໍ້ຄວາມແລະຜູ້ຂຽນແລະເວລາເປັນຄ່າເລີ່ມຕົ້ນສໍາລັບການ patches ແລະນໍາເຂົ້າ
ຄໍາຫມັ້ນສັນຍາໂດຍບໍ່ມີຂໍ້ມູນນັ້ນ. (ຄໍາເຕືອນ: ອາດຈະຍັງມີບາງສ່ວນທີ່ຂີ້ຮ້າຍ
ແຄມ).

ທາງ​ເລືອກ​ກ່ຽວ​ກັບ​ການ​ສ້າງ​ສາ​ຂາ​ຕົ້ນ​ຕໍ​:

--upstream-to-ໃຊ້ ຄໍາຫມັ້ນສັນຍາ
ຢ່ານຳເຂົ້າ .orig.tar ຫຼືພະຍາຍາມນຳການນຳເຂົ້າເກົ່າຄືນໃໝ່, ແຕ່ໃຫ້ໃຊ້ສະເໝີ
ໄດ້ ຄໍາຫມັ້ນສັນຍາ ລະບຸ.

ມັນເປັນຄວາມຮັບຜິດຊອບຂອງເຈົ້າທີ່ສາຂານີ້ແມ່ນຄ້າຍຄືກັນກັບສາຂາ
ໄຟລ໌ .orig.tar ບວກກັບ .orig-component.tar ທີ່ເປັນໄປໄດ້ຕາມລໍາດັບ
ໄດເລກະທໍລີ. (ຕາມປົກກະຕິ, ຄ້າຍຄືກັນພຽງພໍຫມາຍຄວາມວ່າ: ບໍ່ພາດໄຟລ໌ໃດໆທີ່
patches ຂອງທ່ານສໍາຜັດຫຼືຂະບວນການສ້າງຂອງທ່ານຮຽກຮ້ອງໃຫ້ມີ (ຫຼື recreates ເວັ້ນເສຍແຕ່
debian/ກົດລະບຽບ ເຮັດຄວາມສະອາດ ເອົາພວກມັນອອກອີກ). ແຕ່ລະໄຟລ໌ທີ່ແຕກຕ່າງກັນກ່ວາໃນ
.orig.tar ຫຼືບໍ່ມີຢູ່ບ່ອນນັ້ນ, ທ່ານຕ້ອງລຶບໃນ Debian ຜົນໄດ້ຮັບ
ສາຂາ. ບໍ່ມີ patch ອາດຈະແຕະໄຟລ໌ເຫຼົ່ານັ້ນ.)

ໃຊ້ດ້ວຍຄວາມລະມັດລະວັງ. ບໍ່ມີຫຍັງຈະເຕືອນທ່ານເຖິງແມ່ນວ່າຖ້າຫາກວ່າທ່ານນໍາໃຊ້ເນື້ອໃນຂອງ a
ສະບັບຕົ້ນນ້ໍາຜິດທັງຫມົດ.

--detached-upstream
ຖ້າການນໍາເຂົ້າ .orig.tar ເປັນຄໍາຫມັ້ນສັນຍາໃຫມ່, ຢ່າເຮັດຄໍາຫມັ້ນສັນຍາທີ່ເປັນໄປໄດ້
ຕົ້ນສະບັບສະບັບຕົ້ນນ້ໍາເກົ່າ.

--upstream-ພໍ່ແມ່ ຄໍາຫມັ້ນສັນຍາ
ຕື່ມ ຄໍາຫມັ້ນສັນຍາ ເປັນພໍ່ແມ່ (ເພີ່ມເຕີມ) ຖ້າການນໍາເຂົ້າສະບັບຕົ້ນນ້ໍາໃຫມ່.

(ຕົວຢ່າງນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເຮັດໃຫ້ປະຫວັດສາດ git ຂອງຕົ້ນນ້ໍາເປັນສ່ວນຫນຶ່ງຂອງທ່ານ
ປະຫວັດຂອງຊຸດແລະດັ່ງນັ້ນຈຶ່ງຊ່ວຍ git ໃນເວລາທີ່ເກັບ cherry).

--allow-no-parent
ຖ້າ dpm.importWithoutParent ຖືກຕັ້ງເປັນ false ຜ່ານ git config, git-dpm ຈະບໍ່
ອະນຸຍາດໃຫ້ import-dsc ດໍາເນີນການໂດຍບໍ່ມີທາງເລືອກນີ້ຫຼືຢ່າງຫນ້ອຍສຸດ
--upstream-parent ທາງ​ເລືອກ​.

--pristine-tar-commit |--ptc
ໂທ pristine-tar ຄໍາຫມັ້ນສັນຍາ ສໍາລັບ tarballs ທັງຫມົດທີ່ນໍາເຂົ້າຫຼັງຈາກສ່ວນທີ່ເຫຼືອຂອງ
ຄຳສັ່ງ import-dsc ສຳເລັດແລ້ວ.

--no-pristine-tar-commit
ຢ່າໂທຫາ pristine-tar ຄໍາຫມັ້ນສັນຍາ ສໍາລັບ tarballs ນໍາເຂົ້າທັງຫມົດເຖິງແມ່ນວ່າຈະ configured
ເພື່ອເຮັດແນວນັ້ນໂດຍ
ໄປ config dpm.pristineTarCommit ທີ່ແທ້ຈິງ ຫຼືໂດຍ
ໄປ config ສາຂາ.ສາຂາ debian.dpmPristineTarCommit ທີ່ແທ້ຈິງ.

--upstream-ຜູ້ຂຽນ ຜູ້​ປະ​ພັນ
ໃຊ້ເປັນ --ຜູ້ຂຽນ ການໂຕ້ຖຽງກັບ git-dpm ນໍາເຂົ້າ-tar.

-- upstream-date ວັນ
ໃຊ້ເປັນ - ວັນທີ ການໂຕ້ຖຽງກັບ git-dpm ນໍາເຂົ້າ-tar (ໂດຍສະເພາະ ອັດຕະໂນມັດ is
ສະ​ຫນັບ​ສະ​ຫນູນ​ເພື່ອ​ສະ​ກັດ​ວັນ​ທີ​ຈາກ​ໄຟລ​໌ tar​)​.

--tar-ຍົກເວັ້ນ ຮູບແບບ
ຮູບແບບທີ່ໃຫ້ຖືກສົ່ງກັບ tar ເປັນຮູບແບບການຍົກເວັ້ນໃນເວລາທີ່ unpacking
tarfiles. ສາມາດໃຫ້ໄດ້ຫຼາຍຄັ້ງ.

ທາງ​ເລືອກ​ກ່ຽວ​ກັບ​ການ​ນໍາ​ໃຊ້ patches​:

-f | --force-commit-reuse
ເບິ່ງພຽງແຕ່ພໍ່ແມ່ແລະຕົ້ນໄມ້ແລະບໍ່ມີຕໍ່ໄປອີກແລ້ວຢູ່ໃນຄໍາອະທິບາຍໃນເວລາທີ່ພະຍາຍາມ
reuse ຫມັ້ນສັນຍາການນໍາເຂົ້າ patches ຈາກສະບັບທີ່ຜ່ານມາຂອງຊຸດ.

-Cnum | --patch-context num
ຜ່ານການເປັນ -Cnum to git-apply. ລະບຸຈໍານວນຂອງເສັ້ນບໍລິບົດທີ່
ຕ້ອງກົງກັນ.

--dpatch-allow-empty
ຢ່າຜິດພາດຖ້າໄຟລ໌ dpatch ບໍ່ປ່ຽນແປງຫຍັງເມື່ອຖືກປະຕິບັດເປັນ
ເພີ້ມ.

ເນື່ອງຈາກໄຟລ໌ dpatch ສາມາດເປັນ scripts arbitrary, git-dpm ມີບັນຫາບາງຢ່າງ
ກວດພົບວ່າພວກມັນເປັນ patches ແທ້ໆ. (ມັນພຽງແຕ່ສາມາດຮັບມືກັບການເພີ້ມ). ຖ້າ
script ທີ່ບໍ່ແມ່ນ patch ໄດ້ຖືກປະຕິບັດເປັນ patch ທີ່ປົກກະຕິແລ້ວຜົນໄດ້ຮັບ
patch ບໍ່ດັດແປງຫຍັງ, ດັ່ງນັ້ນສິ່ງເຫຼົ່ານັ້ນຖືກຫ້າມໂດຍບໍ່ມີທາງເລືອກນີ້.

--patch-ລະບົບ ຮູບແບບການ
ລະບຸວ່າລະບົບ patch ໃດຖືກໃຊ້ສຳລັບຊຸດຮູບແບບແຫຼ່ງ 1.0.

ອັດຕະໂນມັດ (ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ)
ພະຍາຍາມກໍານົດສິ່ງທີ່ລະບົບ patch ຖືກນໍາໃຊ້ໂດຍການເບິ່ງ debian/ກົດລະບຽບ
(ແລະ debian / ຄວບຄຸມ).

none ເຫຼົ່ານັ້ນບໍ່ແມ່ນແຜ່ນທີ່ເຈົ້າກໍາລັງຊອກຫາ.

ປະຫວັດສາດ
ຢ່າພະຍາຍາມຊອກຫາ patches ໃດໆໃນ .diff (ເຊັ່ນ: none). ຖ້າ ຫາກ ວ່າ
ໂຄງ​ການ​ທີ່​ມີ​ຢູ່​ແລ້ວ​ແລະ tarball ຕົ້ນ​ແມ່ນ​ຄື​ກັນ​, ສ້າງ​
ສະຖານະ patched ຂອງອັນໃຫມ່ໂດຍການນໍາໃຊ້ patches ຂອງອັນເກົ່າ
ແລະການເພີ່ມ patch ຂອງເທິງເຮັດໃຫ້ມັນກັບສະຖານະໃຫມ່.

ຖ້າ​ຫາກ​ທ່ານ​ນໍາ​ເຂົ້າ​ການ​ປັບ​ປຸງ​ຈໍາ​ນວນ​ຫຼາຍ​ຂອງ​ຊຸດ​ບາງ​, ບ່ອນ​ທີ່​ແຕ່​ລະ​ໃຫມ່​
ການແກ້ໄຂເພີ່ມຫຼາຍທີ່ສຸດການປ່ຽນແປງດຽວກັບຕົ້ນນ້ໍາ, ທາງເລືອກນີ້
ອະນຸຍາດໃຫ້ທ່ານສ້າງຊຸດແພັກເກັດທີ່ເຫມາະສົມເກືອບໂດຍອັດຕະໂນມັດ
(ໂດຍສະເພາະບໍ່ມີຄໍາອະທິບາຍເທົ່ານັ້ນ).

ຖ້າມີການປ່ຽນແປງດຽວກັນແລະ reverts ເຫຼົ່ານັ້ນຈະເຫັນໄດ້ໃນ
patches ຖືກສ້າງຂຶ້ນ, ດັ່ງນັ້ນຮູບແບບນີ້ບໍ່ມີປະໂຫຍດຫຼາຍໃນກໍລະນີນັ້ນ.

ຜ້າພົມ ສະກັດແລະນໍາໃຊ້ a debian/patches/series quilt ຄືຊຸດຢູ່ເທິງສຸດຂອງ
ການ​ປ່ຽນ​ແປງ​ຕົ້ນ​ສະ​ບັບ​ທີ່​ເປັນ​ໄປ​ໄດ້​ພົບ​ເຫັນ​ຢູ່​ໃນ​ໄຟລ​໌ .diff​.

quilt - ທໍາອິດ
ໃນຖານະເປັນ ຜ້າພົມ ຮູບແບບ, ແຕ່ນໍາໃຊ້ patches ກັບ upstream ທີ່ບໍ່ໄດ້ປັບປຸງ
ທໍາອິດແລະຫຼັງຈາກນັ້ນ cherry-ເລືອກເອົາການປ່ຽນແປງທີ່ພົບເຫັນຢູ່ໃນໄຟລ໌ .diff.

ເນື່ອງຈາກວ່ານີ້ບໍ່ແມ່ນຄໍາສັ່ງທີ່ patches ຖືກນໍາໃຊ້ໃນປົກກະຕິ
unpack/build cycle, ນີ້ຈະລົ້ມເຫລວຖ້າຫາກວ່າການປ່ຽນແປງເຫຼົ່ານັ້ນບໍ່ແຕກຕ່າງກັນ
ພຽງພໍ (ຕົວຢ່າງເມື່ອ patches ຂຶ້ນກັບການປ່ຽນແປງທີ່ເຮັດໃນ
.diff).

ແຕ່ຖ້າ .diff ພຽງແຕ່ປະກອບດ້ວຍການປ່ຽນແປງທີ່ບໍ່ກ່ຽວຂ້ອງເຊິ່ງແຕກຕ່າງກັນກັບ
ແຕ່​ລະ​ສະ​ບັບ​, ນີ້​ເຮັດ​ໃຫ້​ມີ​ປະ​ຫວັດ​ສາດ nicer ຫຼາຍ​, ເປັນ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ສໍາ​ລັບ​ການ​
ແຜ່ນແພສາມາດນໍາມາໃຊ້ຄືນໄດ້ງ່າຍຂຶ້ນ.

quilt-applied
ໃນຖານະເປັນ quilt - ທໍາອິດ ຮູບແບບ, ແຕ່ສົມມຸດວ່າ patches ໄດ້ຖືກນໍາໃຊ້ແລ້ວ
ຢູ່ໃນ .diff, ສະນັ້ນໃຫ້ໃຊ້ພວກມັນຢູ່ເທິງສຸດຂອງຕົ້ນນ້ໍາທີ່ບໍ່ໄດ້ປັບປຸງແລະຫຼັງຈາກນັ້ນ
ເພີ່ມຄໍາຫມັ້ນສັນຍານໍາມັນໄປຫາລັດໃນ .diff. (ຫຼື​ບໍ່​ແມ່ນ​ວ່າ​
patch ຈະຫວ່າງເປົ່າ).

dpatch | dpatch-ທໍາອິດ | dpatch-ນຳໃຊ້
ເຊັ່ນດຽວກັນກັບ ຜ້າພົມ ຕອບ quilt - ທໍາອິດ ຕອບ quilt-applied ໂຫມດ, ແຕ່
ແທນທີ່ຈະຊອກຫາ dpatch-style patches ໃນ debian/patches/00list.

ໃຫ້ສັງເກດວ່າພຽງແຕ່ patches ໄດ້ຮັບການສະຫນັບສະຫນູນແລະບໍ່ dpatch ແລ່ນອື່ນໆ
ຄຳ ສັ່ງ.

ງ່າຍດາຍ | ງ່າຍ​ດາຍ​ທໍາ​ອິດ​ | ງ່າຍ​ດາຍ​ນໍາ​ໃຊ້​
ເຊັ່ນດຽວກັນກັບ ຜ້າພົມ ຕອບ quilt - ທໍາອິດ ຕອບ quilt-applied ໂຫມດ, ແຕ່
ແທນທີ່ຈະສົມມຸດ debian/patches/ ປະກອບດ້ວຍແຜ່ນທີ່ເຫມາະສົມສໍາລັບ cdbs
simple-patchsys.mk.

--patch-ຜູ້ຂຽນ "ຊື່ <ອີ​ເມວ>"
ກໍານົດຜູ້ຂຽນສໍາລັບ git commits ການນໍາເຂົ້າ patches.

--patch-default-author "ຊື່ <ອີ​ເມວ>"
ກໍານົດຜູ້ຂຽນສໍາລັບ patches ທັງຫມົດທີ່ບໍ່ມີຂໍ້ມູນຜູ້ຂຽນ (ຫຼືບ່ອນໃດ
git-dpm ບໍ່​ສາ​ມາດ​ກໍາ​ນົດ​ມັນ​)​.

--edit-patches
ສໍາລັບທຸກ patch ທີ່ນໍາເຂົ້າ, ເລີ່ມຕົ້ນບັນນາທິການສໍາລັບຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາ.

--record-patch-category
ເພີ່ມ Patch-Category: ຊ່ອງຂໍ້ມູນໃສ່ແຕ່ລະ patch ທີ່ນໍາເຂົ້າຢູ່ໃນໄດເລກະທໍລີຍ່ອຍ
of debian/patches. ສາເຫດນີ້ ປັບປຸງແກ້ໄຂ ເພື່ອເກັບມັນໄວ້ໃນອັນດຽວກັນ
ໄດເຣັກທໍຣີຍ່ອຍ

--record-patch-name
ເພີ່ມ Patch-ຊື່: ຊ່ອງໃສ່ແຕ່ລະແຜ່ນທີ່ນໍາເຂົ້າດ້ວຍຊື່ຂອງມັນ. ສາເຫດນີ້
ປັບປຸງແກ້ໄຂ ເພື່ອເກັບຮັກສາມັນພາຍໃຕ້ຊື່ຕົ້ນສະບັບຂອງມັນ.

ບັນທຶກ-dsc [ທາງເລືອກໃນການ] ຄໍາຫມັ້ນສັນຍາ .dsc-file
ເກັບຮັກສາໄຟລ໌ .dsc ທີ່ຕັ້ງຢູ່ໃນ ກ dscs ສາຂາຫຼັງຈາກເກັບຮັກສາໄຟລ໌ທີ່ມັນມີ
ໃຊ້ pristine-tar.

ການໂຕ້ຖຽງທໍາອິດແມ່ນແທັກຫຼືຄໍາຫມັ້ນສັນຍາເກັບຮັກສາໄວ້ git-dpm ໂຄງ​ການ​ໃນ​ລັດ​
ຂອງ .dsc ໄຟລ໌ແລະການໂຕ້ຖຽງທີສອງແມ່ນ .dsc ໄຟລ໌ຕົວມັນເອງ. ໄດ້
ໄຟລ໌ທີ່ມັນອ້າງອີງຄາດວ່າຈະຢູ່ໃນໄດເລກະທໍລີດຽວກັນກັບໄຟລ໌ຂອງມັນເອງ (ຖ້າພວກເຂົາ
ຈໍາ​ເປັນ).

ການກວດສອບບາງຢ່າງແມ່ນເຮັດເພື່ອໃຫ້ແນ່ໃຈວ່າໄຟລ໌ແລະເນື້ອຫາຂອງມັນຖືກຕັ້ງຊື່ຢ່າງຖືກຕ້ອງແລະ
ກົງກັບຄໍາຫມັ້ນສັນຍາໃນຄໍາຖາມ, ແຕ່ວ່າພຽງແຕ່ cursory ເພື່ອຫຼີກເວັ້ນການຜິດພາດທີ່ຈະແຈ້ງ (ສໍາລັບ
ຕົວຢ່າງພຽງແຕ່ສະບັບທີ່ຖືກກວດສອບ, ແຕ່ .debian.tar ບໍ່ໄດ້ unpacked ເພື່ອກວດສອບ
ໄຟລ໌ແມ່ນຄືກັນ, ຕົວຢ່າງ).

ຕົວເລືອກ:

--ສ້າງ-ສາຂາ
ສ້າງໃຫມ່ dscs ສາຂາ.

--allow-unsigned
ອະນຸຍາດໃຫ້ບັນທຶກການບໍ່ໄດ້ເຊັນ .dsc ໄຟລ໌. ນີ້ປົກກະຕິແລ້ວ defeats ຈຸດຂອງ
ການເກັບຮັກສາໃຫ້ເຂົາເຈົ້າຢູ່ໃນທັງຫມົດ.

ໄດ້ debian/.git-dpm ເອກະສານ


ທ່ານບໍ່ຄວນຮູ້ກ່ຽວກັບເນື້ອຫາຖ້າໄຟລ໌ນີ້ຍົກເວັ້ນການດີບັກ git-dpm.

ໄຟລ໌ມີ 8 ແຖວ, ແຕ່ສະບັບໃນອະນາຄົດອາດມີຫຼາຍກວ່ານັ້ນ.

ແຖວທໍາອິດແມ່ນຄໍາແນະນໍາວ່າໄຟລ໌ນີ້ແມ່ນກ່ຽວກັບຫຍັງແລະຖືກລະເລີຍ.

ຫຼັງຈາກນັ້ນ, ມີ 4 git commit ids ສໍາລັບລັດທີ່ບັນທຶກໄວ້:

ທໍາອິດສະຖານະຂອງສາຂາ patched ໃນເວລາທີ່ patches ໃນ debian/patches ສຸດທ້າຍ
ປັບປຸງ

ຫຼັງຈາກນັ້ນ, ສະຖານະຂອງສາຂາ patched ໃນເວລາທີ່ມັນໄດ້ຖືກລວມເຂົ້າສຸດທ້າຍເຂົ້າໄປໃນ Debian
ສາຂາ.

ຫຼັງຈາກນັ້ນ, ສາຂາຕົ້ນນ້ໍາຂອງລັດໃນເວລາທີ່ສາຂາ patched ໄດ້ຖືກລວມເຂົ້າກັນຄັ້ງສຸດທ້າຍ.

ສຸດທ້າຍແມ່ນສາຂາຕົ້ນ.

3 ແຖວຕໍ່ໄປນີ້ແມ່ນຊື່ໄຟລ໌, sha1 checksum ແລະຂະຫນາດຂອງ origtarball
ເປັນຂອງສາຂາຕົ້ນນ້ໍາທີ່ບັນທຶກໄວ້.

ສັ້ນ


ຄໍາສັ່ງສ່ວນໃຫຍ່ຍັງມີນາມແຝງທີ່ສັ້ນກວ່າ, ເພື່ອຫຼີກເວັ້ນການພິມ:

update-patches: up, up, ci
ກະ​ກຽມ​: ກະ​ກຽມ​
checkout-patched: co, cp
rebase-patched: rp
ນຳໃຊ້-patch: ap
import-tar: ມັນ
import-new-upstream: inu, inu
record-new-upstream: rnu, rnu
merge-patched-in-debian: merge-patched

record-new-upstream ແມ່ນຍັງມີຢູ່ພາຍໃຕ້ຊື່ເກົ່າ new-upstream, ເຖິງແມ່ນວ່າຈະເປັນໄປໄດ້
ຖືກໂຍກຍ້າຍອອກໃນສະບັບໃນອະນາຄົດ (ເພື່ອຫຼີກເວັ້ນການສັບສົນ).

ຊາຍແດນ


ສາຂາຕົ້ນນໍ້າ (ສາຍນ້ ຳ|ນ້ໍາ-ໃດກໍ່ຕາມ)
ສາຂານີ້ປະກອບດ້ວຍແຫຼ່ງນ້ໍາ. ເນື້ອໃນຂອງມັນຈໍາເປັນຕ້ອງມີຄວາມເທົ່າທຽມກັນພຽງພໍ
ເນື້ອໃນຢູ່ໃນ tarball upstream ຂອງທ່ານ.

ເທົ່າກັບພຽງພໍຫມາຍຄວາມວ່າ dpkg-source ບໍ່ຄວນເຫັນຄວາມແຕກຕ່າງລະຫວ່າງ patched ຂອງທ່ານ
ເປັນໄມ້ຢືນຕົ້ນແລະແລະຕົ້ນສະບັບ tarball unpackaged, patched ໄດ້ນໍາໃຊ້ແລະ debian/ກົດລະບຽບ
ເຮັດຄວາມສະອາດ ແລ່ນ. ປົກກະຕິແລ້ວມັນເປັນການງ່າຍທີ່ສຸດພຽງແຕ່ເກັບຮັກສາເນື້ອໃນ verbatim ຂອງ orig ຂອງທ່ານ
tarball ຢູ່ທີ່ນີ້. ຫຼັງຈາກນັ້ນ, ທ່ານຍັງສາມາດໃຊ້ມັນສໍາລັບ tar pristine.

ສາຂານີ້ອາດມີ debian/ subdirectory, ເຊິ່ງປົກກະຕິແລ້ວຈະຖືກລະເລີຍ.

ເຈົ້າສາມາດເຜີຍແຜ່ສາຂານັ້ນໄດ້ ຫຼືເຮັດໃຫ້ມັນເຫັນໄດ້ຊັດເຈນພຽງແຕ່ຜ່ານທາງ
debian/.git-dpm ໄຟລ໌ໃນສາຂາ Debian.

ໃນຂະນະທີ່ມັນມັກຈະເຮັດໃຫ້ຮູ້ສຶກວ່າສາຂາຕົ້ນນ້ໍາໃຫມ່ມີສາຂາເກົ່າ, ນີ້
ບໍ່ຈໍາເປັນ. ທ່ານຄວນຈະສາມາດປ່ຽນຈາກຫນຶ່ງທີ່ສ້າງຂຶ້ນດ້ວຍຕົວທ່ານເອງຫຼືໂດຍບາງຄົນ
ເຄື່ອງມືນໍາເຂົ້າຈາກຕ່າງປະເທດ vcs ສ້າງຫນຶ່ງໄປຫາສາຂາຕົ້ນນ້ໍາພື້ນເມືອງຫຼືໃນທາງກັບກັນ
ໂດຍບໍ່ມີບັນຫາ. ໃຫ້ສັງເກດວ່ານັບຕັ້ງແຕ່ສາຂາ Debian ມີສາຂາ patched ເປັນ
ບັນ​ພະ​ບຸ​ລຸດ​ແລະ​ສາ​ຂາ patched ເປັນ​ສາ​ຂາ​ຕົ້ນ​ສະ​ບັບ​, ກິ່ງ​ງ່າ​ຕົ້ນ​ຂອງ​ທ່ານ​ແມ່ນ​
ສ່ວນຫນຶ່ງຂອງປະຫວັດສາດຂອງສາຂາ Debian ຂອງທ່ານ. ເຊິ່ງມີປະໂຫຍດທີ່ທ່ານສາມາດເຮັດໄດ້
recreate ລັດທີ່ແນ່ນອນຂອງສາຂາຂອງທ່ານຈາກປະຫວັດສາດຂອງທ່ານໂດຍກົງ (ເຊັ່ນ: ໄປ
ກວດ​ເບິ່ງ -b ລັດເກົ່າ myoldtagorshaofdebianbranchcommit ; git-dpm ກຽມພ້ອມ ; ໄປ
ກວດ​ເບິ່ງ unstable-oldstate) ແຕ່ຂໍ້ເສຍທີ່ຈະເອົາປະຫວັດສາດເຫຼົ່ານັ້ນ
ຈາກ repository ຂອງ​ທ່ານ​ທີ່​ທ່ານ​ຕ້ອງ​ເຮັດ​ວຽກ​ງານ​ຄູ່​ມື​ບາງ​.

ສາຂາ patched (patched|ເພີ້ມ-ໃດກໍ່ຕາມ)
ສາ​ຂາ​ນີ້​ປະ​ກອບ​ດ້ວຍ​ການ​ແກ້​ໄຂ​ຂອງ​ທ່ານ​ກັບ​ແຫຼ່ງ​ນ​້​ໍ​າ​. (ຊຶ່ງແນ່ນອນຫມາຍຄວາມວ່າ
ມັນແມ່ນອີງໃສ່ສາຂາຕົ້ນນ້ໍາຂອງເຈົ້າ).

ທຸກໆຄໍາຫມັ້ນສັນຍາຈະຖືກເກັບໄວ້ເປັນ patch ດຽວໃນຊຸດຜົນໄດ້ຮັບ.

ເພື່ອຊ່ວຍໃຫ້ git ສ້າງຊຸດ patch linear, ນີ້ເຫມາະສົມຄວນຈະເປັນລະບົບຕ່ອງໂສ້ linear ຂອງ
commits, ເຊິ່ງຄໍາອະທິບາຍແມ່ນເປັນປະໂຫຍດສໍາລັບຄົນອື່ນ.

ເນື່ອງຈາກວ່າສາຂານີ້ແມ່ນເປັນປົກກະຕິ rebase d, ທ່ານບໍ່ຄວນເຜີຍແຜ່ມັນ. ແທນທີ່ເຈົ້າສາມາດເຮັດໄດ້
ສ້າງສາຂານີ້ໂດຍໃຊ້ git-dpm checkout-patched ການນໍາໃຊ້ຂໍ້ມູນທີ່ເກັບໄວ້ໃນ
debian/.git-dpm.

ເຈົ້າຍັງບໍ່ໄດ້ອະນຸຍາດໃຫ້ມີການປ່ຽນແປງເນື້ອໃນຂອງ debian/ subdirectory ໃນນີ້
ສາຂາ. ການປ່ຽນຊື່ໄຟລ໌ ຫຼືການລຶບໄຟລ໌ໂດຍປົກກະຕິແລ້ວ ເຮັດໃຫ້ເກີດການເພີ້ມຂະໜາດໃຫຍ່ທີ່ບໍ່ຈໍາເປັນ.

ສາ​ຂາ Debian (ຕົ້ນສະບັບ|ໃດກໍ່ຕາມ)
ນີ້ແມ່ນສາຂາຕົ້ນຕໍ.

ສາຂານີ້ປະກອບດ້ວຍ debian/ ໄດເລກະທໍລີແລະມີສາຂາ patched ລວມເຂົ້າ.

ທຸກໆການປ່ຽນແປງບໍ່ໄດ້ຢູ່ໃນ debian/, .git* ຫຼືການລຶບໄຟລ໌ຕ້ອງເຮັດໃນ patched
ສາຂາ.

ຊື່ສາຂາທາງເລືອກ
ທ່ານ​ສາ​ມາດ​ລະ​ບຸ​ຊື່​ສາ​ຂາ​ສະ​ຫຼັບ​ສໍາ​ລັບ​ການ​ສາຍ​ນ​້​ໍ​າ​ແລະ patched ສາ​ຂາ​ຂອງ a
ສາຂາ Debian ສະເພາະ, ຫຼືບັງຄັບສາຂາເປັນສາຂາ Debian ທີ່ປົກກະຕິ
ພິຈາລະນາຕົວຢ່າງຕົ້ນນ້ໍາຂອງສາຂາອື່ນໂດຍການເພີ່ມ dpmUpstreamBranch
ແລະ dpmPatchedBranch ຕັ້ງຄ່າລາຍການສໍາລັບສາຂາ Debian ໃນຄໍາຖາມ (ທ່ານຕ້ອງການ
ທັງສອງ, ມີພຽງແຕ່ຫນຶ່ງຖືກປະຕິບັດເປັນຄວາມຜິດພາດ).

ຕົວຢ່າງຕໍ່ໄປນີ້ແມ່ນ no-op ສໍາລັບຈຸດປະສົງປະຕິບັດທັງຫມົດ:
ໄປ config branch.master.dpmUpstreamBranch ສາຍນ້ ຳ
ໄປ config branch.master.dpmPatchedBranch patched

COPYRIGHT


ສະຫງວນລິຂະສິດ © 2009,2010 Bernhard R. Link
ນີ້ແມ່ນຊອບແວຟຣີ; ເບິ່ງແຫຼ່ງສໍາລັບການຄັດລອກເງື່ອນໄຂ. ບໍ່ມີການຮັບປະກັນ; ບໍ່
ເຖິງແມ່ນສໍາລັບການຄ້າຫຼືຄວາມສອດຄ່ອງສໍາລັບຈຸດປະສົງສະເພາະ.

ການລາຍງານ ບັກ ແລະ ບັນຫາ


ທ່ານ​ສາ​ມາດ​ລາຍ​ງານ​ຂໍ້​ບົກ​ພ່ອງ​ຫຼື​ການ​ແນະ​ນໍາ​ຄຸນ​ນະ​ສົມ​ບັດ​ກັບ​ [email protected] ຫຼື
ຂ້ອຍ. ກະລຸນາສົ່ງຄໍາຖາມໄປຫາ [email protected] ຫຼືໃຫ້ຂ້ອຍຢູ່
[email protected].

ໃຊ້ git-dpm ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.