ນີ້ແມ່ນຄໍາສັ່ງ 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