ນີ້ແມ່ນຄໍາສັ່ງ darcs ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
darcs - ເປັນລະບົບການຄວບຄຸມການປັບປຸງຂັ້ນສູງ
ສະຫຼຸບສັງລວມ
ດາກ ຄໍາສັ່ງ <ກະທູ້ທີ່|[ທາງເລືອກໃນການ]>...
ບ່ອນທີ່ ຄໍາສັ່ງ ແລະຕາມລໍາດັບຂອງເຂົາເຈົ້າ ກະທູ້ທີ່ ມີ
ດາກ ຊ່ວຍເຫຼືອ [<ດາກ_ຄໍາສັ່ງ> [ດາກ_ຄໍາສັ່ງຍ່ອຍ]]
ດາກ ເພີ່ມ <ເອກະສານ|ລະບົບ> ...
ດາກ ເອົາ <ເອກະສານ|ລະບົບ> ...
ດາກ ການເຄື່ອນໄຫວ <ແຫຼ່ງ> ...ຈຸດຫມາຍປາຍທາງ>
ດາກ ທົດແທນ <ອາຍຸ>ໃຫມ່>ເອກະສານ> ...
ດາກ ກັບຄືນມາ [ເອກະສານ|ລະບົບ] ...
ດາກ ບໍ່ກັບຄືນ
ດາກ ມີຫຍັງໃຫມ່ [ເອກະສານ|ລະບົບ] ...
ດາກ ການບັນທຶກ [ເອກະສານ|ລະບົບ] ...
ດາກ ບໍ່ໄດ້ບັນທຶກ
ດາກ ແກ້ໄຂ [ເອກະສານ|ລະບົບ] ...
ດາກ mark-conflicts
ດາກ ໂຄດຄໍາສັ່ງ [ຊື່ແທັກ]
ດາກ setpref <pref>ມູນຄ່າ>
ດາກ diff [ເອກະສານ|ລະບົບ] ...
ດາກ log [ເອກະສານ|ລະບົບ] ...
ດາກ ບັນທຶກ [ເອກະສານ|ລະບົບ] ...
ດາກ ຫ່າງໄກ
ດາກ ການທົດສອບ [[ການເລີ່ມຕົ້ນ] ຄໍາສັ່ງ]
ດາກ ສະແດງໃຫ້ເຫັນ ເນື້ອຫາ [ເອກະສານ] ...
ດາກ ສະແດງໃຫ້ເຫັນ ໄຟ [ເອກະສານ|ລະບົບ] ...
ດາກ ສະແດງໃຫ້ເຫັນ ດັດຊະນີ
ດາກ ສະແດງໃຫ້ເຫັນ pristine
ດາກ ສະແດງໃຫ້ເຫັນ repo
ດາກ ສະແດງໃຫ້ເຫັນ ຜູ້ຂຽນ
ດາກ ສະແດງໃຫ້ເຫັນ tags
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-ທັງໝົດ
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-files
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-ສະຖານະ
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-test
ດາກ ດຶງ [repository] ...
ດາກ ດຶງ [repository] ...
ດາກ ລົບກວນ
ດາກ rollback [ເອກະສານ|ລະບົບ] ...
ດາກ ການຊຸກຍູ້ [repository]
ດາກ ສົ່ງ [repository]
ດາກ ນໍາໃຊ້ <patchfile>
ດາກ clone <repository> [ລະບົບ>]
ດາກ ເລີ່ມຕົ້ນ [<ລະບົບ>]
ດາກ ເພີ່ມປະສິດທິ ເຮັດຄວາມສະອາດ
ດາກ ເພີ່ມປະສິດທິ http
ດາກ ເພີ່ມປະສິດທິ ຈັດຮຽງ ໃໝ່
ດາກ ເພີ່ມປະສິດທິ enable-patch-index
ດາກ ເພີ່ມປະສິດທິ ປິດການໃຊ້ງານ-patch-index
ດາກ ເພີ່ມປະສິດທິ compress
ດາກ ເພີ່ມປະສິດທິ ບີບອັດ
ດາກ ເພີ່ມປະສິດທິ ເຊື່ອມຕໍ່ຄືນໃໝ່
ດາກ ເພີ່ມປະສິດທິ pristine
ດາກ ເພີ່ມປະສິດທິ ຍົກລະດັບ
ດາກ ເພີ່ມປະສິດທິ ຖານຄວາມຈໍາ <ລະບົບ> ...
ດາກ ການສ້ອມແປງ
ດາກ ແປງ darcs-2 <ແຫຼ່ງ> [ຈຸດຫມາຍປາຍທາງ>]
ດາກ ແປງ ການສົ່ງອອກ
ດາກ ແປງ ການນໍາເຂົ້າ [<ລະບົບ>]
ດາກ ປະຕິເສດ ດຶງ [repository] ...
ດາກ ປະຕິເສດ ນໍາໃຊ້ <patchfile>
ດາກ ປະຕິເສດ suspends
ດາກ ປະຕິເສດ ຍົກເລີກ
ດາກ ປະຕິເສດ ລົບກວນ
ດາກ ປະຕິເສດ log
ລາຍລະອຽດ
Darcs ເປັນລະບົບການຄວບຄຸມການແກ້ໄຂແບບເປີດທີ່ບໍ່ເສຍຄ່າ. ມັນແມ່ນ:
·ແຈກຢາຍ: ຜູ້ໃຊ້ທຸກຄົນມີການເຂົ້າເຖິງຊຸດຄໍາສັ່ງເຕັມ, ກໍາຈັດຂອບເຂດລະຫວ່າງ
server ແລະ client ຫຼື committer ແລະ non-committers.
·ການໂຕ້ຕອບ: Darcs ແມ່ນງ່າຍທີ່ຈະຮຽນຮູ້ແລະປະສິດທິພາບໃນການນໍາໃຊ້ເນື່ອງຈາກວ່າມັນຖາມຄໍາຖາມຂອງທ່ານ
ໃນການຕອບສະຫນອງຕໍ່ຄໍາສັ່ງທີ່ງ່າຍດາຍ, ໃຫ້ທ່ານມີທາງເລືອກໃນການເຮັດວຽກຂອງທ່ານ. ທ່ານສາມາດເລືອກທີ່ຈະ
ບັນທຶກການປ່ຽນແປງຫນຶ່ງໃນໄຟລ໌, ໃນຂະນະທີ່ບໍ່ສົນໃຈອັນອື່ນ. ໃນຂະນະທີ່ທ່ານປັບປຸງຈາກຕົ້ນນ້ໍາ, ທ່ານ
ສາມາດທົບທວນແຕ່ລະຊື່ patch, ເຖິງແມ່ນວ່າ 'ຄວາມແຕກຕ່າງ' ເຕັມສໍາລັບ patches ທີ່ຫນ້າສົນໃຈ.
· Smart: ພັດທະນາໃນເບື້ອງຕົ້ນໂດຍນັກຟິສິກ David Roundy, darcs ແມ່ນອີງໃສ່ເປັນເອກະລັກ
ພຶດຊະຄະນິດຂອງ patches. ຄວາມສະຫຼາດນີ້ເຮັດໃຫ້ທ່ານຕອບສະໜອງຕໍ່ຄວາມຕ້ອງການທີ່ປ່ຽນແປງໃນແບບນັ້ນ
ຖ້າບໍ່ດັ່ງນັ້ນຈະບໍ່ເປັນໄປໄດ້. ຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບສາຂາ spontaneous ກັບ darcs.
OPTIONS
ທາງເລືອກທີ່ແຕກຕ່າງກັນແມ່ນຍອມຮັບໂດຍຄໍາສັ່ງ Darcs ທີ່ແຕກຕ່າງກັນ. ແຕ່ລະຄໍາສັ່ງສໍາຄັນທີ່ສຸດ
ທາງເລືອກແມ່ນລະບຸໄວ້ໃນ ສາມາດ ພາກ. ສໍາລັບບັນຊີລາຍຊື່ເຕັມຂອງທາງເລືອກທັງຫມົດທີ່ຍອມຮັບໂດຍ a
ຄໍາສັ່ງໂດຍສະເພາະ, ດໍາເນີນການ `darcs ຄໍາສັ່ງ --ຊ່ວຍ.
ການຄັດເລືອກ Patches:
ທາງເລືອກ --patches yields patches ທີ່ມີຊື່ທີ່ກົງກັບການສະແດງຜົນປົກກະຕິ *extended*.
ເບິ່ງ regex(7) ສໍາລັບລາຍລະອຽດ. ທາງເລືອກ --matches yields patches ທີ່ກົງກັບເຫດຜົນ
(Boolean) expression: ນຶ່ງ ຫຼືຫຼາຍສຳນວນເບື້ອງຕົ້ນລວມກັນໂດຍການຈັດກຸ່ມ (ວົງເລັບ)
ແລະການປະກອບ (ບໍ່), ການສົມທົບ (ແລະ) ແລະ disjunction (ຫຼື) ປະຕິບັດການ. ຄ
ຫມາຍເຫດສໍາລັບຕົວປະຕິບັດການຕາມເຫດຜົນ (!, && ແລະ ||) ຍັງສາມາດຖືກນໍາໃຊ້.
- --patches = regex ແມ່ນຄໍາສັບຄ້າຍຄືສໍາລັບ --matches = 'ຊື່ regex' - --hash = HASH ແມ່ນຄໍາສັບຄ້າຍຄືສໍາລັບ
--matches='hash HASH' - --from-patch ແລະ --to-patch ແມ່ນຄໍາສັບຄ້າຍຄື --from-match='name...
ແລະ --to-match='name... - --from-patch ແລະ --to-match ສາມາດລວມກັນໄດ້ຢ່າງບໍ່ມີບັນຫາ:
`darcs ປ່ຽນ --from-patch='html.*documentation' --to-match='date 20040212'`
ການສະແດງອອກ Boolean ເບື້ອງຕົ້ນຕໍ່ໄປນີ້ແມ່ນຮອງຮັບ:
- ແນ່ນອນ - ກວດເບິ່ງຕົວໜັງສືຕໍ່ກັບຊື່ແທັບ. - ຊື່ - ກວດເບິ່ງປົກກະຕິ
ການສະແດງອອກຕໍ່ກັບຊື່ patch. - author - ກວດເບິ່ງການສະແດງອອກເປັນປົກກະຕິຕໍ່ກັບການ
ຊື່ຜູ້ຂຽນ. - hunk - ກວດເບິ່ງການສະແດງອອກເປັນປົກກະຕິຕໍ່ກັບເນື້ອໃນຂອງ patch hunk ໄດ້. -
comment - ກວດເບິ່ງການສະແດງອອກປົກກະຕິຕໍ່ກັບຂໍ້ຄວາມບັນທຶກ. - hash - ກົງກັບ hash ເຕັມ
ຫຼືຄໍານໍາຫນ້າສໍາລັບ patch. - ວັນທີ - ກົງກັບວັນທີ patch. - ສໍາຜັດ - ຈັບຄູ່ເສັ້ນທາງໄຟລ໌ສໍາລັບ a
ເພີ້ມ.
ທີ່ນີ້ຕົວຢ່າງບາງອັນແມ່ນ:
darcs annotate --summary --match 'exact "ແກ້ໄຂບັນຫາ 17: ໃຊ້ຄວາມຊົງຈໍາແບບໄດນາມິກ
ການຈັດສັນ."
darcs annotate --summary --match 'ຊື່ບັນຫາ17'
darcs annotate --summary --match 'name "^[Rr]ແກ້ບັນຫາ17\>"'
darcs annotate --summary --match 'ຜູ້ຂຽນ "David Roundy"'
darcs annotate --summary --match 'ຜູ້ຂຽນ droundy'
darcs annotate --summary --match 'ຜູ້ຂຽນ droundy@darcs.net'
darcs annotate --summary --match 'hunk "foo = 2"'
darcs annotate --summary --match 'hunk "^instance .* Foo where$"'
darcs annotate --summary --match 'ຄໍາຄິດເຫັນ "ປ້ອງກັນບໍ່ໃຫ້ deadlocks"'
darcs annotate --ສະຫຼຸບ --match 'hash c719567e92c3b0ab9eddd5290b705712b8b918ef'
darcs annotate --summary --match 'hash c7195'
darcs annotate --summary --match 'date "2006-04-02 22:41"'
darcs annotate --summary --match 'date "ເວລາຊາມື້ວານນີ້"'
darcs annotate --summary --match 'touch src/foo.c'
darcs annotate --summary --match 'touch src/'
darcs annotate --summary --match 'touch "src/*.(c|h)"'
ສາມາດ
ດາກ ຊ່ວຍເຫຼືອ [<ດາກ_ຄໍາສັ່ງ> [ດາກ_ຄໍາສັ່ງຍ່ອຍ]]
ໂດຍບໍ່ມີການໂຕ້ຖຽງ, 'darcs help' ພິມລາຍຊື່ຄໍາສັ່ງ darcs ແລະ a
ລາຍລະອຽດສັ້ນຂອງແຕ່ລະຄົນ. ດ້ວຍການໂຕ້ຖຽງເພີ່ມເຕີມ, `darcs ຊ່ວຍ foo` ພິມ
ການຊ່ວຍເຫຼືອລາຍລະອຽດກ່ຽວກັບຄໍາສັ່ງ darcs foo.
ການປ່ຽນແປງ ແລະ ການສອບຖາມ ໄດ້ ການເຮັດວຽກ ສຳເນົາ:
ດາກ ເພີ່ມ <ເອກະສານ|ລະບົບ> ...
ໂດຍທົ່ວໄປແລ້ວບ່ອນເກັບມ້ຽນມີທັງໄຟລ໌ທີ່ຄວນຈະຖືກຄວບຄຸມເວີຊັນ (ເຊັ່ນ:
source code) ແລະໄຟລ໌ທີ່ Darcs ຄວນບໍ່ສົນໃຈ (ເຊັ່ນ: executables compiled from the
ລະຫັດແຫຼ່ງ). ຄໍາສັ່ງ `darcs add` ແມ່ນໃຊ້ເພື່ອບອກ Darcs ວ່າໄຟລ໌ໃດເປັນເວີຊັນ
ຄວບຄຸມ.
ເມື່ອໂຄງການທີ່ມີຢູ່ແລ້ວຖືກນໍາເຂົ້າເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນ Darcs ທໍາອິດ, ມັນເປັນເລື່ອງທໍາມະດາ
ແລ່ນ `darcs add -r *` ຫຼື `darcs record -l` ເພື່ອເພີ່ມໄຟລ໌ຕົ້ນສະບັບທັງໝົດເຂົ້າໃນ darcs.
ການເພີ່ມການເຊື່ອມຕໍ່ສັນຍາລັກ (symlinks) ແມ່ນບໍ່ສະຫນັບສະຫນູນ.
Darcs ຈະບໍ່ສົນໃຈໄຟລ໌ ແລະໂຟນເດີ້ທັງໝົດທີ່ເບິ່ງຄືວ່າ "ໜ້າເບື່ອ". ທາງເລືອກ '-- ເບື່ອ'
overrides ພຶດຕິກໍານີ້.
Darcs ຈະບໍ່ເພີ່ມໄຟລ໌ຖ້າໄຟລ໌ອື່ນໃນໂຟນເດີດຽວກັນມີຊື່ດຽວກັນ, ຍົກເວັ້ນ
ສໍາລັບກໍລະນີ. ຕົວເລືອກ `--case-ok` ລົບລ້າງພຶດຕິກໍານີ້. Windows ແລະ OS X ປົກກະຕິ
ໃຊ້ລະບົບໄຟລ໌ທີ່ບໍ່ອະນຸຍາດໃຫ້ໄຟລ໌ໂຟນເດີມີຊື່ດຽວກັນຍົກເວັ້ນກໍລະນີ
(ຕົວຢ່າງ, `ReadMe` ແລະ `README`). ຖ້າໃຊ້ '--case-ok', ພື້ນທີ່ເກັບຂໍ້ມູນອາດຈະເປັນ
ໃຊ້ບໍ່ໄດ້ໃນລະບົບເຫຼົ່ານັ້ນ!
ດາກ ເອົາ <ເອກະສານ|ລະບົບ> ...
ຄໍາສັ່ງ 'darcs remove` ມີຕົ້ນຕໍສໍາລັບການ symmetry ກັບ `darcs add`, ເປັນ
ວິທີປົກກະຕິທີ່ຈະເອົາໄຟລ໌ຈາກການຄວບຄຸມສະບັບພາສາແມ່ນພຽງແຕ່ລຶບມັນອອກຈາກ
ຕົ້ນໄມ້ເຮັດວຽກ. ຄໍາສັ່ງນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ໃນກໍລະນີທີ່ຜິດປົກກະຕິທີ່ຫນຶ່ງຕ້ອງການ
ບັນທຶກ patch ການໂຍກຍ້າຍໂດຍບໍ່ມີການລຶບສໍາເນົາຢູ່ໃນຕົ້ນໄມ້ເຮັດວຽກ (ຊຶ່ງສາມາດ
ເພີ່ມເຕີມ).
ໃຫ້ສັງເກດວ່າການນໍາໃຊ້ patch ການໂຍກຍ້າຍກັບ repository (ຕົວຢ່າງໂດຍການດຶງ patch) ຈະ
ສະເຫມີມີຜົນກະທົບຕົ້ນໄມ້ທີ່ເຮັດວຽກຂອງ repository ນັ້ນ.
ດາກ ການເຄື່ອນໄຫວ <ແຫຼ່ງ> ...ຈຸດຫມາຍປາຍທາງ>
Darcs ບໍ່ສາມາດຈໍາແນກໄດ້ຢ່າງຫນ້າເຊື່ອຖືລະຫວ່າງໄຟລ໌ທີ່ຖືກລົບແລະອັນໃຫມ່ທີ່ເພີ່ມເຕີມ,
ແລະໄຟລ໌ທີ່ຖືກຍ້າຍ. ເພາະສະນັ້ນ Darcs ສະເຫມີສົມມຸດອະດີດ, ແລະສະຫນອງການ
`darcs mv` ຄໍາສັ່ງເພື່ອໃຫ້ Darcs ຮູ້ເວລາທີ່ທ່ານຕ້ອງການອັນສຸດທ້າຍ. ຄໍາສັ່ງນີ້ຈະຍັງ
ຍ້າຍໄຟລ໌ໃນຕົ້ນໄມ້ທີ່ເຮັດວຽກ (ບໍ່ຄືກັບ 'darcs ເອົາອອກ'), ເວັ້ນເສຍແຕ່ວ່າມັນໄດ້ຢູ່ແລ້ວ
ຍ້າຍ.
Darcs ຈະບໍ່ປ່ຽນຊື່ໄຟລ໌ຫາກໄຟລ໌ອື່ນໃນໂຟນເດີດຽວກັນມີຊື່ດຽວກັນ,
ຍົກເວັ້ນກໍລະນີ. ຕົວເລືອກ `--case-ok` ລົບລ້າງພຶດຕິກໍານີ້. Windows ແລະ OS X
ປົກກະຕິແລ້ວໃຊ້ລະບົບໄຟລ໌ທີ່ບໍ່ອະນຸຍາດໃຫ້ໄຟລ໌ໂຟນເດີມີຊື່ດຽວກັນຍົກເວັ້ນ
ສໍາລັບກໍລະນີ (ຍົກຕົວຢ່າງ, `ReadMe` ແລະ `README`). ຖ້າໃຊ້ `--case-ok`, repository
ອາດຈະໃຊ້ບໍ່ໄດ້ໃນລະບົບເຫຼົ່ານັ້ນ!
ດາກ ທົດແທນ <ອາຍຸ>ໃຫມ່>ເອກະສານ> ...
ນອກເໜືອໄປຈາກແຜ່ນທີ່ອີງໃສ່ເສັ້ນ, Darcs ຮອງຮັບຮູບແບບທີ່ຈຳກັດຂອງ lexical
ການທົດແທນ. ໄຟລ໌ຖືກປະຕິບັດເປັນລໍາດັບຂອງຄໍາສັບຕ່າງໆ, ແລະການປະກົດຕົວຂອງອາຍຸແຕ່ລະຄົນ
ຄໍາທີ່ຖືກແທນທີ່ດ້ວຍຄໍາໃຫມ່. ນີ້ມີຈຸດປະສົງເພື່ອສະຫນອງວິທີການທີ່ສະອາດເພື່ອປ່ຽນຊື່ a
function ຫຼືຕົວແປ. ການປ່ຽນຊື່ດັ່ງກ່າວໂດຍປົກກະຕິຈະສົ່ງຜົນກະທົບຕໍ່ສາຍທັງໝົດຜ່ານແຫຼ່ງທີ່ມາ
ລະຫັດ, ດັ່ງນັ້ນ patch ທີ່ອີງໃສ່ເສັ້ນແບບດັ້ງເດີມມີແນວໂນ້ມທີ່ຈະຂັດແຍ້ງກັບຄົນອື່ນ
ສາຂາ, ຮຽກຮ້ອງໃຫ້ມີການຜະສົມຜະສານຄູ່ມື.
ໄຟລ໌ແມ່ນ tokenized ຕາມກົດລະບຽບງ່າຍໆອັນຫນຶ່ງ: ຄໍາສັບຕ່າງໆແມ່ນສາຍຂອງ token ທີ່ຖືກຕ້ອງ
ຕົວອັກສອນ, ແລະທຸກສິ່ງທຸກຢ່າງລະຫວ່າງພວກມັນ (ເຄື່ອງໝາຍວັກຕອນ ແລະຊ່ອງຫວ່າງ) ຖືກຍົກເລີກ. ໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ຕົວອັກສອນ token ທີ່ຖືກຕ້ອງແມ່ນຕົວອັກສອນ, ຕົວເລກ ແລະ ຂີດກ້ອງ (ie
`[A-Za-z0-9_]`). ແນວໃດກໍ່ຕາມຖ້າໂຕເຄັນເກົ່າ ແລະ/ຫຼືໃໝ່ມີໝາຍຫຍໍ້ ຫຼື
ໄລຍະເວລາ, ທັງສອງຂີດໝາຍຂີດໝາຍ ແລະໄລຍະແມ່ນຖືວ່າຖືກຕ້ອງ (ເຊັ່ນ: `[A-Za-z0-9_.-]`).
ຊຸດຕົວອັກສອນທີ່ຖືກຕ້ອງສາມາດປັບແຕ່ງໄດ້ໂດຍໃຊ້ຕົວເລືອກ `--token-chars`. ໄດ້
argument ຕ້ອງຖືກອ້ອມຮອບດ້ວຍວົງເລັບສີ່ຫຼ່ຽມ. ຖ້າຂີດໝາຍເກີດຂຶ້ນລະຫວ່າງສອງ
ລັກສະນະໃນຊຸດ, ມັນໄດ້ຮັບການປິ່ນປົວເປັນລະດັບທີ່ກໍານົດໄວ້. ຕົວຢ່າງ, ຢູ່ໃນທ້ອງຖິ່ນສ່ວນໃຫຍ່
`[AZ]` ໝາຍເຖິງຕົວພິມໃຫຍ່ທັງໝົດ. ຖ້າຕົວອັກສອນທໍາອິດແມ່ນ cart, ຖືກຕ້ອງ
tokens ຖືກປະຕິບັດເພື່ອເປັນສ່ວນເສີມຂອງຕົວອັກສອນທີ່ຍັງເຫຼືອ. ຍົກຕົວຢ່າງ,
`[^:\n]` ສາມາດໃຊ້ເພື່ອຈັບຄູ່ຊ່ອງຂໍ້ມູນໃນ passwd(5), ບ່ອນທີ່ບັນທຶກແລະພາກສະຫນາມ
ແຍກອອກດ້ວຍເສັ້ນໃໝ່ ແລະ ຈໍ້າສອງເມັດຕາມລຳດັບ.
ຖ້າທ່ານເລືອກທີ່ຈະໃຊ້ '--token-chars', ທ່ານກໍາລັງຊຸກຍູ້ໃຫ້ເຮັດແນວນັ້ນຢ່າງຫນັກແຫນ້ນ
ຢ່າງຕໍ່ເນື່ອງ. ຜົນສະທ້ອນຂອງການນໍາໃຊ້ patches ແທນທີ່ຈະແຕກຕ່າງກັນຫຼາຍ
`--token-chars` arguments ຢູ່ໃນໄຟລ໌ດຽວກັນບໍ່ໄດ້ທົດສອບດີ ຫຼືເຂົ້າໃຈດີ.
ໂດຍຄ່າເລີ່ມຕົ້ນ Darcs ຈະປະຕິເສດການປ່ຽນແທນຖ້າ token ໃໝ່ຢູ່ໃນແລ້ວ
ໃຊ້, ເພາະວ່າການທົດແທນຈະບໍ່ແຕກຕ່າງຈາກທີ່ມີຢູ່ແລ້ວ
ໂທເຄັນ. ພຶດຕິກໍານີ້ສາມາດຖືກລົບລ້າງໂດຍການສະຫນອງທາງເລືອກ '--force', ແຕ່ເປັນ
ຄວາມພະຍາຍາມເພື່ອ 'darcs rollback' ການແກ້ໄຂຜົນໄດ້ຮັບຈະສົ່ງຜົນກະທົບຕໍ່ tokens ທີ່ມີຢູ່ເຫຼົ່ານີ້.
ຂໍ້ຈໍາກັດ:
tokenizer ປະຕິບັດຕໍ່ໄຟລ໌ເປັນ byte strings, ດັ່ງນັ້ນມັນເປັນໄປບໍ່ໄດ້ສໍາລັບ `--token-chars`.
ເພື່ອປະກອບມີຕົວອັກສອນຫຼາຍໄບ, ເຊັ່ນ: ພາກສ່ວນທີ່ບໍ່ແມ່ນ ASCII ຂອງ UTF-8. ເຊັ່ນດຽວກັນ,
ການພະຍາຍາມປ່ຽນຕົວອັກສອນ "ສູງບິດ" ຈາກການເຂົ້າລະຫັດ unibyte ກໍ່ຈະສົ່ງຜົນໃຫ້
ການທົດແທນຂອງ byte ດຽວກັນໃນໄຟລ໌ທີ່ມີການເຂົ້າລະຫັດທີ່ແຕກຕ່າງກັນ. ສໍາລັບຕົວຢ່າງ, ເປັນສ້ວຍແຫຼມ
a ຈາກ ISO 8859-1 ຍັງຈະກົງກັບອັນຟາຈາກ ISO 8859-7.
ເນື່ອງຈາກຂໍ້ຈໍາກັດໃນຮູບແບບໄຟລ໌ patch, `--token-chars` arguments ບໍ່ສາມາດມີ
ຊ່ອງຫວ່າງຕົວໜັງສື. ຕົວຢ່າງ, `[^ \n\t]` ບໍ່ສາມາດໃຊ້ເພື່ອປະກາດຕົວອັກສອນທັງໝົດໄດ້
ຍົກເວັ້ນຊ່ອງຫວ່າງ, ແຖບ ແລະແຖວໃໝ່ທີ່ຖືກຕ້ອງພາຍໃນຄຳສັບໃດໜຶ່ງ, ເພາະວ່າມັນມີ a
ຊ່ອງຕົວອັກສອນ.
ແຕກຕ່າງຈາກ POSIX regex(7) ການສະແດງອອກໃນວົງເລັບ, ຫ້ອງຮຽນຕົວອັກສອນ (ເຊັ່ນ: `[[:alnum:]]`)
ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນໂດຍ `--token-chars`, ແລະຈະຖືກປະຕິບັດຢ່າງງຽບໆເປັນຊຸດທີ່ງ່າຍດາຍ.
ລັກສະນະ.
ດາກ ກັບຄືນມາ [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ `darcs revert` ຍົກເລີກການປ່ຽນແປງຕົ້ນໄມ້ທີ່ບໍ່ໄດ້ບັນທຶກ. ເຊັ່ນດຽວກັບ
`darcs record`, ທ່ານຈະຖືກຖາມວ່າ hunks ໃດ (ການປ່ຽນແປງ) ກັບຄືນໄປບ່ອນ. ປຸ່ມ `-- ທັງໝົດ`
ສາມາດໃຊ້ເພື່ອຫຼີກເວັ້ນການກະຕຸ້ນເຕືອນດັ່ງກ່າວ. ຖ້າໄຟລ໌ຫຼືໄດເລກະທໍລີຖືກລະບຸ, ອື່ນໆ
ພາກສ່ວນຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກບໍ່ໄດ້ກັບຄືນ.
ໃນຕົວທ່ານອຸບັດຕິເຫດ reverted ບາງສິ່ງບາງຢ່າງທີ່ທ່ານຕ້ອງການທີ່ຈະເກັບຮັກສາໄວ້ (ຕົວຢ່າງ, ການພິມ `darcs
rev -a` ແທນ `darcs rec -a`), ທ່ານສາມາດດໍາເນີນການ `darcs unrevert` ທັນທີ
ຟື້ນຟູມັນ. ນີ້ແມ່ນພຽງແຕ່ຮັບປະກັນທີ່ຈະເຮັດວຽກຖ້າຫາກວ່າ repository ບໍ່ໄດ້ມີການປ່ຽນແປງນັບຕັ້ງແຕ່
`darcs revert` ແລ່ນ.
ດາກ ບໍ່ກັບຄືນ
Unrevert ແມ່ນຄຳສັ່ງການກູ້ຂໍ້ມູນໃນກໍລະນີທີ່ເຈົ້າໄດ້ກັບຄືນສິ່ງທີ່ເຈົ້າຕ້ອງການຄືນໂດຍບັງເອີນ
keep (ຕົວຢ່າງ: ພິມ `darcs rev -a` ແທນ `darcs rec -a`).
ຄໍາສັ່ງນີ້ອາດຈະລົ້ມເຫລວຖ້າຫາກວ່າ repository ໄດ້ມີການປ່ຽນແປງນັບຕັ້ງແຕ່ revert ເກີດຂຶ້ນ.
Darcs ຈະຮ້ອງຂໍໃຫ້ມີການຢືນຢັນກ່ອນທີ່ຈະປະຕິບັດຄໍາສັ່ງໂຕ້ຕອບທີ່ຈະ
ປ້ອງກັນການຍົກເລີກຢ່າງແນ່ນອນ.
ດາກ ມີຫຍັງໃຫມ່ [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ `darcs whatsnew` ລາຍຊື່ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກຕໍ່ກັບຕົ້ນໄມ້ທີ່ເຮັດວຽກ. ຖ້າເຈົ້າ
ລະບຸຊຸດຂອງໄຟລ໌ແລະໄດເລກະທໍລີ, ມີພຽງແຕ່ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກກັບໄຟລ໌ເຫຼົ່ານັ້ນແລະ
ລາຍຊື່ໄດເລກະທໍລີ.
ດ້ວຍຕົວເລືອກ '-- ສະຫຼຸບ', ການປ່ຽນແປງແມ່ນ condensed ເປັນຫນຶ່ງແຖວຕໍ່ໄຟລ໌, ກັບ
mnemonics ເພື່ອຊີ້ບອກລັກສະນະແລະຂອບເຂດຂອງການປ່ຽນແປງ. '--ເບິ່ງຫາ-ເພີ່ມ'
ທາງເລືອກເຮັດໃຫ້ຜູ້ສະຫມັກສໍາລັບ `darcs add` ຖືກລວມເຂົ້າໃນຜົນໄດ້ຮັບສະຫຼຸບ.
ສະຫຼຸບສັງລວມ mnemonics ມີດັ່ງນີ້:
* `A f` ແລະ `A d/` ຕາມລຳດັບໝາຍເຖິງໄຟລ໌ທີ່ເພີ່ມ ຫຼືໄດເລກະທໍລີ. * `R f` ແລະ `R d/`
ຕາມລໍາດັບຫມາຍເຖິງໄຟລ໌ຫຼືໄດເລກະທໍລີທີ່ຖືກໂຍກຍ້າຍ. * `M f -N +M rP` ໝາຍເຖິງການດັດແກ້
ໄຟລ໌, ທີ່ມີເສັ້ນ `N` ຖືກລົບ, `M`
ເພີ່ມເສັ້ນ, ແລະ `P` ແທນ lexical. * `f -> g` ຫມາຍເຖິງໄຟລ໌ທີ່ຖືກຍ້າຍຫຼື
ໄດເລກະທໍລີ. * `af` ແລະ `ad/` ຕາມລຳດັບໝາຍເຖິງໄຟລ໌ໃໝ່, ແຕ່ຍັງບໍ່ໄດ້ເພີ່ມ, ຫຼື
ໄດເລກະທໍລີ, ເມື່ອໃຊ້ `--look-for-adds`.
ເຄື່ອງໝາຍ exclamation (!) ຄືໃນ `R! foo.c`, ຫມາຍຄວາມວ່າ hunk ເປັນທີ່ຮູ້ຈັກ
ຂັດກັບ hunk ໃນ patch ອື່ນ. ຄໍາວ່າ 'ຊໍ້າກັນ'
ຫມາຍຄວາມວ່າ hunk ເປັນທີ່ຮູ້ຈັກທີ່ຈະຄືກັນກັບ hunk ໃນ patch ອື່ນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, `darcs whatsnew` ໃຊ້ຮູບແບບພາຍໃນຂອງ Darcs ສໍາລັບການປ່ຽນແປງ. ເພື່ອເບິ່ງບາງ
ບໍລິບົດ (ເສັ້ນທີ່ບໍ່ປ່ຽນແປງ) ປະມານແຕ່ລະການປ່ຽນແປງ, ໃຊ້ຕົວເລືອກ `--unified`. ເພື່ອເບິ່ງ
ການປ່ຽນແປງໃນຮູບແບບ 'diff' ທໍາມະດາ, ໃຊ້ຄໍາສັ່ງ 'darcs diff'; ແຕ່ສັງເກດວ່າ
`darcs whatsnew` ໄວກວ່າ.
ຄໍາສັ່ງນີ້ອອກບໍ່ສໍາເລັດ (ສົ່ງຄືນສະຖານະການອອກທີ່ບໍ່ແມ່ນສູນ) ຖ້າຫາກວ່າບໍ່ມີ
ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກ.
ການຄັດລອກ ການປ່ຽນແປງ ລະຫວ່າງ ໄດ້ ການເຮັດວຽກ ຄັດລອກ ແລະ ໄດ້ repository:
ດາກ ການບັນທຶກ [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ `darcs record` ຖືກນໍາໃຊ້ເພື່ອສ້າງ patch ຈາກການປ່ຽນແປງໃນຕົ້ນໄມ້ເຮັດວຽກ.
ຖ້າທ່ານລະບຸຊຸດຂອງໄຟລ໌ ແລະໄດເລກະທໍລີ, ການປ່ຽນແປງໄຟລ໌ອື່ນຈະຖືກຂ້າມໄປ.
ທຸກໆ patch ມີຊື່, ຄໍາອະທິບາຍທາງເລືອກ, ຜູ້ຂຽນແລະວັນທີ.
Darcs ຈະເປີດຕົວຕົວແກ້ໄຂຂໍ້ຄວາມ (ເບິ່ງ `darcs ຊ່ວຍສະພາບແວດລ້ອມ`) ຫຼັງຈາກການໂຕ້ຕອບ
ການເລືອກ, ໃຫ້ທ່ານໃສ່ຊື່ patch (ແຖວທໍາອິດ) ແລະລາຍລະອຽດ patch
(ສາຍຕໍ່ໆໄປ).
ຊື່ patch ຄວນຈະເປັນປະໂຫຍກສັ້ນທີ່ concisely ອະທິບາຍ patch, ເຊັ່ນ:
msgstr "ເພີ່ມການຈັດການຂໍ້ຜິດພາດໃສ່ກັບເຫດການຫຼັກ." ທ່ານສາມາດສະຫນອງມັນລ່ວງຫນ້າດ້ວຍ `-m`
ທາງເລືອກ, ໃນກໍລະນີທີ່ບໍ່ມີຕົວແກ້ໄຂຂໍ້ຄວາມຖືກເປີດຕົວ, ເວັ້ນເສຍແຕ່ວ່າທ່ານໃຊ້
ທາງເລືອກ `--edit-long-comment`.
ລາຍລະອຽດຂອງ patch ເປັນຕົວບລັອກທາງເລືອກຂອງຂໍ້ຄວາມແບບບໍ່ເສຍຄ່າ. ມັນຖືກນໍາໃຊ້ເພື່ອສະຫນອງ
ຂໍ້ມູນເພີ່ມເຕີມທີ່ບໍ່ເຫມາະສົມກັບຊື່ patch. ສໍາລັບຕົວຢ່າງ, ມັນອາດຈະ
ປະກອບມີເຫດຜົນວ່າເປັນຫຍັງການປ່ຽນແປງຈຶ່ງຈໍາເປັນ.
ຄວາມແຕກຕ່າງທາງວິຊາການລະຫວ່າງຊື່ patch ແລະລາຍລະອຽດຂອງ patch, ແມ່ນການຈັບຄູ່ກັບ
ທຸງ `-p` ແມ່ນເຮັດໄດ້ພຽງແຕ່ໃນຊື່ patch.
ສຸດທ້າຍ, ທາງເລືອກ '--logfile' ຊ່ວຍໃຫ້ທ່ານສາມາດສະຫນອງໄຟລ໌ທີ່ມີໄຟລ໌ແລ້ວ
ຊື່ patch ແລະລາຍລະອຽດ patch. ນີ້ເປັນປະໂຫຍດຖ້າບັນທຶກທີ່ຜ່ານມາລົ້ມເຫລວແລະປະໄວ້
ໄຟລ໌ `darcs-record-0`.
ແຕ່ລະ patch ແມ່ນຫມາຍເຖິງຜູ້ຂຽນຂອງມັນ, ໂດຍປົກກະຕິໂດຍທີ່ຢູ່ອີເມວ (ຕົວຢ່າງ, `Fred
ບລັອກfred@example.net>`). Darcs ຊອກຫາຢູ່ໃນຫຼາຍໆບ່ອນສໍາລັບສາຍຜູ້ຂຽນນີ້:
ຕົວເລືອກ `--author`, ໄຟລ໌ `_darcs/prefs/author` (ຢູ່ໃນບ່ອນເກັບມ້ຽນ) ແລະ
`~/.darcs/author` (ໃນລາຍຊື່ເຮືອນຂອງເຈົ້າ), ແລະຕົວແປສະພາບແວດລ້ອມ
`$DARCS_EMAIL` ແລະ `$EMAIL`. ຖ້າບໍ່ມີອັນໃດອັນນັ້ນ, Darcs ຈະເຕືອນທ່ານ
author string ແລະຂຽນມັນໃສ່ `~/.darcs/author`. ໃຫ້ສັງເກດວ່າຖ້າທ່ານມີຫຼາຍກວ່າຫນຶ່ງ
ທີ່ຢູ່ອີເມວ, ທ່ານສາມາດໃສ່ພວກມັນທັງຫມົດໃນ `~/.darcs/author`, ຫນຶ່ງຜູ້ຂຽນຕໍ່ແຖວ. Darcs
ຍັງຈະເຕືອນໃຫ້ທ່ານສໍາລັບຜູ້ຂຽນ, ແຕ່ມັນອະນຸຍາດໃຫ້ທ່ານເລືອກເອົາຈາກບັນຊີລາຍຊື່, ຫຼືເພື່ອ
ພິມເປັນທາງເລືອກ.
ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະກໍານົດຄູ່ມືການເພິ່ງພາອາໄສພິເສດສໍາລັບການແກ້ໄຂຂອງທ່ານ, ທ່ານສາມາດນໍາໃຊ້
ທຸງ `--ask-deps`, ແລະ darcs ຈະຮ້ອງຂໍໃຫ້ທ່ານສໍາລັບການຂຶ້ນກັບຂອງ patch. ບາງ
ການເພິ່ງພາອາໄສອາດຈະຖືກຄາດເດົາໂດຍອັດຕະໂນມັດຈາກເນື້ອຫາຂອງແພັກເກັດ ແລະບໍ່ສາມາດເປັນໄດ້
ເອົາອອກ. Patch ທີ່ມີການຂຶ້ນກັບສະເພາະສາມາດຫວ່າງເປົ່າ.
ວັນທີ patch ແມ່ນຖືກສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ. ມັນພຽງແຕ່ສາມາດໄດ້ຮັບການ spoofed ໂດຍການນໍາໃຊ້
ທາງເລືອກ `-- ທໍ່`.
ຖ້າຫາກວ່າທ່ານດໍາເນີນການບັນທຶກທີ່ມີທາງເລືອກ `--pipe`, ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນໃຫ້ສໍາລັບວັນທີ patch,
ຜູ້ຂຽນ, ແລະຄໍາເຫັນຍາວ. ຄໍາເຫັນທີ່ຍາວນານຈະຂະຫຍາຍໄປຈົນເຖິງຕອນທ້າຍຂອງໄຟລ໌ຫຼື
stdin ແມ່ນບັນລຸໄດ້ (ctrl-D ໃນລະບົບ Unixy, ctrl-Z ໃນລະບົບທີ່ໃຊ້ Microsoft OS).
ການໂຕ້ຕອບນີ້ແມ່ນມີຈຸດປະສົງສໍາລັບການຂຽນ darcs, ໂດຍສະເພາະສໍາລັບການຂຽນ repository
ສະຄຣິບແປງ. ການກະຕຸ້ນເຕືອນແມ່ນມີຈຸດປະສົງສ່ວນໃຫຍ່ເປັນຄໍາແນະນໍາທີ່ເປັນປະໂຫຍດ (ຕັ້ງແຕ່ສະຄິບ
ຈະບໍ່ຕ້ອງການພວກມັນ), ເພື່ອຊ່ວຍໃຫ້ທ່ານເຂົ້າໃຈຮູບແບບທີ່ຈະສະຫນອງການປ້ອນຂໍ້ມູນ.
ນີ້ແມ່ນຕົວຢ່າງຂອງສິ່ງທີ່ prompts `--pipe` ເບິ່ງຄືວ່າ:
ວັນທີແມ່ນຫຍັງ? ວັນຈັນທີ 15 ພະຈິກ 13:38:01 EST 2004
ໃຜເປັນຜູ້ຂຽນ? David Roundy
ໄມ້ທ່ອນແມ່ນຫຍັງ? ໜຶ່ງ ຫຼືຫຼາຍແຖວຄຳເຫັນ
ຖ້າຄໍາສັ່ງທົດສອບໄດ້ຖືກກໍານົດດ້ວຍ `darcs setpref`, ພະຍາຍາມບັນທຶກ patch
ຈະເຮັດໃຫ້ຄໍາສັ່ງທົດສອບຖືກດໍາເນີນການຢູ່ໃນສໍາເນົາທີ່ສະອາດຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ (ນັ້ນແມ່ນ,
ລວມທັງການປ່ຽນແປງທີ່ບັນທຶກໄວ້). ຖ້າການທົດສອບລົ້ມເຫລວ, ທ່ານຈະຖືກສະເຫນີໃຫ້ເອົາລູກອອກ
ການດໍາເນີນງານການບັນທຶກ.
ທາງເລືອກ `--set-scripts-executable` ເຮັດໃຫ້ສະຄຣິບຖືກເຮັດໃຫ້ສາມາດປະຕິບັດໄດ້ໃນ
ສໍາເນົາທີ່ສະອາດຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ, ກ່ອນທີ່ຈະດໍາເນີນການທົດສອບ. ເບິ່ງ `darcs clone` ສໍາລັບການ
ຄໍາອະທິບາຍຂອງ script heuristic.
ຖ້າຄໍາສັ່ງທົດສອບຂອງທ່ານຊ້າຫຼາຍ (ຕົວຢ່າງ: "ເຮັດທັງຫມົດ") ແລະທ່ານກໍາລັງບັນທຶກຫຼາຍໆຄັ້ງ
patches ຕິດຕໍ່ກັນ, ທ່ານອາດຈະຕ້ອງການໃຊ້ '--no-test' ເພື່ອຂ້າມທັງຫມົດແຕ່ການທົດສອບສຸດທ້າຍ.
ເພື່ອເບິ່ງບາງບໍລິບົດ (ເສັ້ນທີ່ບໍ່ປ່ຽນແປງ) ຮອບການປ່ຽນແປງແຕ່ລະອັນ, ໃຫ້ໃຊ້ຕົວເລືອກ '--unified'.
ດາກ ບໍ່ໄດ້ບັນທຶກ
Unrecord ເຮັດກົງກັນຂ້າມຂອງການບັນທຶກ: ມັນລຶບ patches ຈາກ repository, ໂດຍບໍ່ມີການ
ການປ່ຽນແປງສໍາເນົາການເຮັດວຽກ. ການລຶບ patches ອອກຈາກ repository ເຮັດໃຫ້ມີການປ່ຽນແປງຢ່າງຫ້າວຫັນ
ອີກເທື່ອຫນຶ່ງທີ່ທ່ານອາດຈະບັນທຶກຫຼືກັບຄືນໃນພາຍຫຼັງ. ລະວັງວ່າທ່ານບໍ່ຄວນໃຊ້ອັນນີ້
ຄໍາສັ່ງຖ້າມີຄວາມເປັນໄປໄດ້ທີ່ຜູ້ໃຊ້ອື່ນອາດຈະດຶງ patch ແລ້ວ.
ດາກ ແກ້ໄຂ [ເອກະສານ|ລະບົບ] ...
ປັບປຸງແກ້ໄຂ "ຮ່າງ" patch ທີ່ມີການເພີ່ມເຕີມຫຼືການປັບປຸງ, ຜົນອອກມາໃນດຽວ
"ສໍາເລັດຮູບ" patch.
ໂດຍຄ່າເລີ່ມຕົ້ນ 'ດັດແກ້' ສະເຫນີໃຫ້ທ່ານບັນທຶກການປ່ຽນແປງເພີ່ມເຕີມ. ຖ້າເຈົ້າຕ້ອງການ
ເອົາການປ່ຽນແປງອອກ, ໃຊ້ທຸງ `--unrecord`.
ເມື່ອບັນທຶກສະບັບຮ່າງ, ມັນເປັນຄວາມຄິດທີ່ດີທີ່ຈະເລີ່ມຕົ້ນຊື່ດ້ວຍ `DRAFT:`. ເມື່ອໃດ
ແລ້ວໆ, ເອົາມັນອອກດ້ວຍ 'darcs ແກ້ໄຂ --edit-long-comment'. ອີກທາງເລືອກ, ມີການປ່ຽນແປງ
ຊື່ patch ໂດຍບໍ່ມີການເລີ່ມຕົ້ນບັນນາທິການ, ໃຊ້ທຸງ `--name`/`-m`:
darcs ດັດແກ້ --match 'name "DRAFT: foo"' --name 'foo2'
ເຊັ່ນດຽວກັນກັບ 'darcs record', ຖ້າທ່ານໂທຫາການແກ້ໄຂດ້ວຍໄຟລ໌ເປັນການໂຕ້ຖຽງ, ທ່ານຈະຖືກຖາມເທົ່ານັ້ນ
ກ່ຽວກັບການປ່ຽນແປງໄຟລ໌ເຫຼົ່ານັ້ນ. ສະນັ້ນເພື່ອແກ້ໄຂ patch ກັບ foo.c ກັບການປັບປຸງໃນ
bar.c, ເຈົ້າຈະແລ່ນ:
darcs ແກ້ໄຂ --match 'touch foo.c' bar.c
ປົກກະຕິແລ້ວມັນເປັນຄວາມຄິດທີ່ບໍ່ດີທີ່ຈະແກ້ໄຂ patch ຂອງຜູ້ພັດທະນາອື່ນ. ເພື່ອແກ້ໄຂພຽງແຕ່ຖາມ
ກ່ຽວກັບການແກ້ໄຂຂອງຕົນເອງໂດຍເລີ່ມຕົ້ນ, ທ່ານສາມາດເພີ່ມບາງສິ່ງບາງຢ່າງເຊັ່ນ: ການແກ້ໄຂການແຂ່ງຂັນ David
ມົນ` ຫາ `~/.darcs/defaults`, ບ່ອນທີ່ `David Roundy` ແມ່ນຊື່ຂອງເຈົ້າ.
ດາກ mark-conflicts
Darcs ຮຽກຮ້ອງໃຫ້ມີການຊີ້ນໍາຂອງມະນຸດເພື່ອປະສົມປະສານການປ່ຽນແປງໃນສ່ວນດຽວກັນຂອງໄຟລ໌ແຫຼ່ງ.
ເມື່ອຂໍ້ຂັດແຍ່ງເກີດຂຶ້ນຄັ້ງທໍາອິດ, darcs ຈະເພີ່ມສະຖານະເບື້ອງຕົ້ນແລະທັງສອງທາງເລືອກໃນການ
ຕົ້ນໄມ້ເຮັດວຽກ, ຂີດຂັ້ນດ້ວຍເຄື່ອງໝາຍ `vvv`, `=====`, `* *` ແລະ `^ ^ ^`, ດັ່ງ
ຕໍ່ໄປນີ້:
vvvvvvv
ສະຖານະເບື້ອງຕົ້ນ.
=============
ທາງເລືອກທໍາອິດ.
*************
ທາງເລືອກທີສອງ.
^ ^ ^ ^ ^ ^ ^ ^ ^
ຢ່າງໃດກໍຕາມ, ທ່ານອາດຈະກັບຄືນຫຼືລຶບເຄື່ອງຫມາຍເຫຼົ່ານີ້ດ້ວຍຕົນເອງໂດຍບໍ່ມີການແກ້ໄຂຕົວຈິງ
ຂໍ້ຂັດແຍ່ງ. ໃນກໍລະນີນີ້, 'darcs mark-conflicts' ແມ່ນເປັນປະໂຫຍດທີ່ຈະສະແດງບ່ອນທີ່ມີ
ຂໍ້ຂັດແຍ່ງທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ. ມັນຍັງເປັນປະໂຫຍດຖ້າ 'darcs ນຳໃຊ້' ຖືກເອີ້ນດ້ວຍ
`--apply-conflicts`, ບ່ອນທີ່ຂໍ້ຂັດແຍ່ງບໍ່ໄດ້ຖືກໝາຍໄວ້ໃນເບື້ອງຕົ້ນ.
ເວັ້ນເສຍແຕ່ວ່າທ່ານໃຊ້ທຸງ `--dry-run`, ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໃດໆຕໍ່ກັບຕົ້ນໄມ້ທີ່ເຮັດວຽກຈະ
ຈະສູນເສຍຕະຫຼອດໄປໃນເວລາທີ່ທ່ານດໍາເນີນການຄໍາສັ່ງນີ້! ທ່ານຈະຖືກກະຕຸ້ນໃຫ້ຢືນຢັນ
ກ່ອນນີ້ຈະເກີດຂຶ້ນ.
Direct ດັດແກ້ of ໄດ້ repository:
ດາກ ໂຄດຄໍາສັ່ງ [ຊື່ແທັກ]
ຄໍາສັ່ງ `darcs tag` ຕັ້ງຊື່ສະຖານະ repository ໃນປັດຈຸບັນ, ເພື່ອໃຫ້ມັນສາມາດເປັນໄດ້ຢ່າງງ່າຍດາຍ
ອ້າງເຖິງຕໍ່ມາ. ທຸກໆລັດ *ສຳຄັນ* ຄວນຖືກແທັກ; ໂດຍສະເພາະມັນດີ
ປະຕິບັດການແທັກແຕ່ລະການປ່ອຍທີ່ຫມັ້ນຄົງດ້ວຍຕົວເລກຫຼືຊື່ລະຫັດ. ຄໍາແນະນໍາກ່ຽວກັບການປ່ອຍຕົວ
ຕົວເລກສາມາດພົບໄດ້ທີ່http://producingoss.com/en/development-cycle.html>.
ເພື່ອສ້າງສະຖານະຂອງ repository `R` ຢູ່ທີ່ tag `t`, ໃຊ້ຄໍາສັ່ງ `darcs clone.
--tag t R`. ຄໍາສັ່ງ `darcs show tags` ລາຍຊື່ແທັກທັງໝົດຢູ່ໃນບ່ອນເກັບຂໍ້ມູນປັດຈຸບັນ.
Tagging ຍັງໃຫ້ຜົນປະໂຫຍດດ້ານການປະຕິບັດທີ່ສໍາຄັນ: ເມື່ອ Darcs ບັນລຸການແບ່ງປັນ
tag ທີ່ຂຶ້ນກັບ patches ທີ່ຜ່ານມາທັງຫມົດ, ມັນພຽງແຕ່ສາມາດຢຸດການປຸງແຕ່ງ.
ເຊັ່ນດຽວກັນກັບ patches ປົກກະຕິ, ໂຄດຄໍາສັ່ງມີຊື່, ຜູ້ຂຽນ, ເວລາແລະເປັນທາງເລືອກຍາວ
ຄໍາອະທິບາຍ, ແຕ່ມັນບໍ່ປ່ຽນແປງຕົ້ນໄມ້ທີ່ເຮັດວຽກ. ແທັກສາມາດມີຊື່ໃດກໍ່ຕາມ, ແຕ່ມັນ
ໂດຍທົ່ວໄປແລ້ວແມ່ນດີທີ່ສຸດທີ່ຈະເລືອກເອົາລະບົບການຕັ້ງຊື່ແລະຕິດກັບມັນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ແທັກຈະຕັ້ງຊື່ສະຖານະບ່ອນເກັບມ້ຽນທັງໝົດໃນເວລາທີ່ແທັກຖືກສ້າງ. ຖ້າ
ທາງເລືອກ --ask-deps ຖືກນໍາໃຊ້, ເພີ້ມເພື່ອປະກອບເປັນສ່ວນຫນຶ່ງຂອງແທັກສາມາດເປັນ
ເລືອກຢ່າງຈະແຈ້ງ.
ຄໍາສັ່ງ `darcs tag` ຍອມຮັບຕົວເລືອກ `--pipe`, ເຊິ່ງປະຕິບັດຕົວຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ
`ບັນທຶກ darcs`.
ດາກ setpref <pref>ມູນຄ່າ>
ໃນເວລາທີ່ເຮັດວຽກກ່ຽວກັບໂຄງການທີ່ມີ repositories ຫຼາຍແລະຜູ້ປະກອບສ່ວນ, ມັນແມ່ນບາງຄັ້ງ
ຕ້ອງການຄວາມມັກທີ່ຈະຖືກຕັ້ງໄວ້ຕະຫຼອດໂຄງການ. ນີ້ແມ່ນບັນລຸໄດ້ໂດຍ
ການປິ່ນປົວຊຸດຄວາມມັກທີ່ມີ 'darcs setpref' ເປັນການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກ, ເຊິ່ງສາມາດຫຼັງຈາກນັ້ນ
ໄດ້ຖືກບັນທຶກໄວ້ແລະຫຼັງຈາກນັ້ນປະຕິບັດຄືກັບແຜ່ນອື່ນໆ.
ການຕັ້ງຄ່າທີ່ຖືກຕ້ອງແມ່ນ:
* ການທົດສອບ -- ຄໍາສັ່ງ shell ທີ່ດໍາເນີນການທົດສອບ regression * predist -- ຄໍາສັ່ງ shell ກັບ
ແລ່ນກ່ອນ 'darcs dist' * boringfile -- ເສັ້ນທາງໄປສູ່ໄຟລ໌ທີ່ຫນ້າເບື່ອທີ່ຄວບຄຸມເວີຊັນ *
binariesfile -- ເສັ້ນທາງໄປຫາໄຟລ໌ binaries ທີ່ຄວບຄຸມເວີຊັນ
ຕົວຢ່າງ, ໂຄງການທີ່ໃຊ້ GNU autotools, ທີ່ມີເປົ້າຫມາຍ 'ເຮັດການທົດສອບ' ເພື່ອປະຕິບັດ
ການທົດສອບການຖົດຖອຍ, ອາດຈະເຮັດໃຫ້ການທົດສອບການຖົດຖອຍແບບປະສົມປະສານຂອງ Darcs ກັບສິ່ງຕໍ່ໄປນີ້
ຄໍາສັ່ງ:
darcs setpref test 'autoconf && ./configure && make && make test'
ໃຫ້ສັງເກດວ່າການລວມກັນບໍ່ໄດ້ປະຕິບັດໃນປັດຈຸບັນສໍາລັບຄວາມມັກ: ຖ້າສອງ patches ພະຍາຍາມ
ເພື່ອກໍານົດຄວາມມັກດຽວກັນ, patch ສຸດທ້າຍທີ່ໃຊ້ກັບ repository ສະເຫມີຈະໃຊ້ເວລາ
ອັນດັບຕົ້ນ. ອັນນີ້ຖືວ່າເປັນຂໍ້ບົກຜ່ອງທີ່ມີບູລິມະສິດຕໍ່າ, ເພາະວ່າຄວາມມັກແມ່ນບໍ່ຄ່ອຍມີ
ຕັ້ງ.
ການສອບຖາມ ໄດ້ repository:
ດາກ diff [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ `darcs diff` ປຽບທຽບສອງສະບັບຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກຂອງປະຈຸບັນ
ຄັງເກັບມ້ຽນ. ໂດຍບໍ່ມີທາງເລືອກ, ຕົ້ນໄມ້ທີ່ປະເສີດ (ບັນທຶກ) ແລະຕົ້ນໄມ້ທີ່ບໍ່ໄດ້ບັນທຶກ
ປຽບທຽບ. ນີ້ແມ່ນລະດັບຕ່ໍາກວ່າຄໍາສັ່ງ `darcs whatsnew`, ເພາະວ່າມັນສົ່ງຜົນເປັນ a
line-by-line diff, ແລະມັນຍັງຊ້າກວ່າ. ເຊັ່ນດຽວກັນກັບ 'darcs whatsnew', ຖ້າທ່ານລະບຸ
ໄຟລ໌ຫຼືໄດເລກະທໍລີ, ການປ່ຽນແປງຂອງໄຟລ໌ອື່ນໆແມ່ນບໍ່ມີລາຍຊື່. ຄໍາສັ່ງໃຊ້ສະເຫມີ
ຜົນປະໂຫຍດດ້ານຄວາມແຕກຕ່າງພາຍນອກ.
ດ້ວຍຕົວເລືອກ `--patch`, ການປຽບທຽບຈະເຮັດລະຫວ່າງຕົ້ນໄມ້ທີ່ເຮັດວຽກກັບ ແລະ
ໂດຍບໍ່ມີການແກ້ໄຂນັ້ນ. Patches * after* patch ທີ່ເລືອກແມ່ນບໍ່ມີຢູ່ໃນທັງສອງ
ຕົ້ນໄມ້ທີ່ເຮັດວຽກປຽບທຽບ. ຕົວເລືອກ `--from-patch` ແລະ `--to-patch` ອະນຸຍາດໃຫ້ຕັ້ງຄ່າ
ຂອງ patches ໃນ 'ເກົ່າ' ແລະ 'ໃຫມ່' ຕົ້ນໄມ້ເຮັດວຽກທີ່ຈະຖືກກໍານົດແຍກຕ່າງຫາກ.
ຕົວເລືອກແທັກທີ່ເຊື່ອມໂຍງ ແລະກົງກັນແມ່ນເຂົ້າໃຈເຊັ່ນ: `darcs diff --from-tag
1.0 --to-tag 1.1`. ທາງເລືອກທັງຫມົດເຫຼົ່ານີ້ສົມມຸດວ່າຄໍາສັ່ງຂອງຊຸດ patch, ດັ່ງນັ້ນຜົນໄດ້ຮັບ
ອາດຈະໄດ້ຮັບຜົນກະທົບຈາກການປະຕິບັດງານເຊັ່ນ: darcs optimize --reorder`.
diff(1) ຖືກເອີ້ນດ້ວຍ arguments `-rN`. ທາງເລືອກ `--unified` ເຮັດໃຫ້ `-u` ເປັນ
ຜ່ານໄປ diff(1). ສາມາດຜ່ານການໂຕ້ຖຽງເພີ່ມເຕີມໄດ້ໂດຍໃຊ້ '--diff-opts', ເຊັ່ນ:
`--diff-opts=-ud` ຫຼື `--diff-opts=-wU9`.
ທາງເລືອກ `--diff-command` ສາມາດໃຊ້ເພື່ອລະບຸຜົນປະໂຫຍດທາງເລືອກ, ເຊັ່ນ:
meld (GNOME) ຫຼື opendiff (OS X). ການໂຕ້ຖຽງອາດຈະຖືກລວມເຂົ້າ, ແຍກອອກໂດຍຊ່ອງຫວ່າງ.
ຄ່າບໍ່ໄດ້ຖືກຕີຄວາມໝາຍໂດຍແກະ, ດັ່ງນັ້ນໂຄງສ້າງຂອງແກະບໍ່ສາມາດໃຊ້ໄດ້. ໄດ້
arguments %1 ແລະ %2 ຕ້ອງຖືກລວມເຂົ້າ, ສິ່ງເຫຼົ່ານີ້ຖືກປ່ຽນແທນສໍາລັບສອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ
ຖືກປຽບທຽບ. ຖ້າຕົວເລືອກນີ້ຖືກໃຊ້, `---diff-opts` ຈະຖືກລະເລີຍ.
ດາກ log [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ `darcs log` ລາຍຊື່ patches ທີ່ປະກອບເປັນ repository ໃນປັດຈຸບັນຫຼື,
ກັບ `--repo`, repository ໄລຍະໄກ. ໂດຍບໍ່ມີທາງເລືອກຫຼືການໂຕ້ຖຽງ, ທຸກໆ patches ຈະເປັນ
ລາຍຊື່.
ເມື່ອໃຫ້ຫນຶ່ງຫຼືຫຼາຍໄຟລ໌ຫຼືໄດເລກະທໍລີເປັນ arguments, ມີພຽງແຕ່ patches ທີ່ມີຜົນກະທົບ
ໄຟລ໌ຫຼືໄດເລກະທໍລີເຫຼົ່ານັ້ນມີລາຍຊື່. ນີ້ລວມເຖິງການເພີ້ມທີ່ເກີດຂຶ້ນກັບໄຟລ໌
ກ່ອນທີ່ພວກມັນຈະຖືກຍ້າຍ ຫຼືປ່ຽນຊື່.
ເມື່ອໃຫ້ `--from-tag`, `--from-patch` ຫຼື `--from-match`, ພຽງແຕ່ patches ນັບຕັ້ງແຕ່ນັ້ນ
tag ຫຼື patch ແມ່ນລະບຸໄວ້. ເຊັ່ນດຽວກັນ, `--to-tag`, `--to-patch` ແລະ `--to-match`
ທາງເລືອກຈໍາກັດບັນຊີລາຍການກັບການແກ້ໄຂທີ່ອາຍຸ.
ຕົວເລືອກ `--last` ແລະ `--max-count` ທັງຈຳກັດຈຳນວນຂອງແພັກເກັດທີ່ລະບຸໄວ້. ໄດ້
ອະດີດໃຊ້ກ່ອນຕົວກອງອື່ນ, ໃນຂະນະທີ່ອັນສຸດທ້າຍໃຊ້ຫຼັງຈາກການກັ່ນຕອງອື່ນໆ.
ຕົວຢ່າງ: `darcs log foo.c --max-count 3` ຈະພິມສາມແທັບສຸດທ້າຍທີ່
ມີຜົນກະທົບ foo.c, ໃນຂະນະທີ່ `darcs log --last 3 foo.c` ຈະ, ຂອງສາມ patches ສຸດທ້າຍ,
ພິມສະເພາະທີ່ມີຜົນກະທົບ foo.c.
ມີສາມຮູບແບບຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ '--ມະນຸດສາມາດອ່ານໄດ້'. ນອກນັ້ນທ່ານຍັງສາມາດເລືອກ
`--context`, ເຊິ່ງເປັນຮູບແບບພາຍໃນ (ດັ່ງທີ່ເຫັນຢູ່ໃນຊຸດ patch) ທີ່ສາມາດເປັນ
ອ່ານຄືນໂດຍ Darcs (ເຊັ່ນ: `darcs clone --context`).
ສຸດທ້າຍ, ມີ '--xml-output', ເຊິ່ງປ່ອຍ XML ທີ່ຖືກຕ້ອງ ... ເວັ້ນເສຍແຕ່ metadata ຂອງ patch.
(ຜູ້ຂຽນ, ຊື່ຫຼືຄໍາອະທິບາຍ) ມີຕົວອັກສອນທີ່ບໍ່ແມ່ນ ASCII ແລະຖືກບັນທຶກໄວ້ໃນ a
ທ້ອງຖິ່ນທີ່ບໍ່ແມ່ນ UTF8.
ໃຫ້ສັງເກດວ່າໃນຂະນະທີ່ທຸງ `--context` ອາດຈະຖືກນໍາໃຊ້ຮ່ວມກັບ `--xml-output` ຫຼື.
`--human-readable`, ໃນກໍລະນີໃດກໍ່ຕາມ, clone darcs ຈະບໍ່ສາມາດອ່ານຜົນຜະລິດໄດ້. ສຸດ
ໃນທາງກົງກັນຂ້າມ, ຂໍ້ມູນພຽງພໍຈະເປັນຜົນຜະລິດສໍາລັບມະນຸດທີ່ມີຄວາມຮູ້
ສ້າງສະຖານະປັດຈຸບັນຂອງ repository.
ດາກ ບັນທຶກ [ເອກະສານ|ລະບົບ] ...
ຄຳສັ່ງ `darcs annotate` ສະໜອງການດຳເນີນການທີ່ບໍ່ກ່ຽວຂ້ອງສອງຢ່າງ. ເມື່ອເອີ້ນວ່າ ກ
ໄຟລ໌, ມັນຈະຊອກຫາ patch ທີ່ດັດແກ້ຫຼ້າສຸດແຕ່ລະແຖວໃນໄຟລ໌ນັ້ນ. ເມື່ອຖືກເອີ້ນ
ໃນ patch (ເຊັ່ນ: ໃຊ້ `--patch`), ມັນຈະພິມຕົວແທນພາຍໃນຂອງນັ້ນ
ເພີ້ມ.
ຕົວເລືອກ '--summary' ຈະສົ່ງຜົນໃຫ້ຄໍາບັນຍາຍ patch ສະຫຼຸບ, ຄ້າຍຄືກັນກັບ `darcs
ມີຫຍັງໃຫມ່`. ມັນບໍ່ມີຜົນຕໍ່ກັບຄໍາບັນຍາຍໄຟລ໌.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜົນຜະລິດແມ່ນຢູ່ໃນຮູບແບບທີ່ມະນຸດສາມາດອ່ານໄດ້. ທາງເລືອກ '--machine-readable' ສາມາດ
ຖືກນໍາໃຊ້ເພື່ອສ້າງຜົນຜະລິດສໍາລັບການ postprocessing ເຄື່ອງ.
ດາກ ຫ່າງໄກ
`darcs dist` ສ້າງແຟ້ມຈັດເກັບທີ່ຖືກບີບອັດຢູ່ໃນໄດເລກະທໍລີຮາກຂອງ repository,
ປະກອບມີສະຖານະທີ່ບັນທຶກໄວ້ຂອງຕົ້ນໄມ້ເຮັດວຽກ (ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກແລະ `_darcs`
ໄດເລກະທໍລີຖືກຍົກເວັ້ນ). ຄໍາສັ່ງຍອມຮັບຕົວຈັບຄູ່ເພື່ອສ້າງແຟ້ມຈັດເກັບຂອງບາງອັນ
ສະຖານະ repository ທີ່ຜ່ານມາ, ຕົວຢ່າງ `--tag`.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ແຟ້ມຈັດເກັບ (ແລະໄດເລກະທໍລີລະດັບສູງສຸດພາຍໃນບ່ອນເກັບມ້ຽນ) ມີອັນດຽວກັນ
ຊື່ເປັນບ່ອນເກັບມ້ຽນ, ແຕ່ນີ້ສາມາດຖືກລົບລ້າງດ້ວຍຕົວເລືອກ `--dist-name`.
ຖ້າຄໍາສັ່ງ predist ຖືກຕັ້ງ (ເບິ່ງ `darcs setpref`), ຄໍາສັ່ງນັ້ນຈະຖືກດໍາເນີນການຢູ່ໃນ
ສະຖານະການທີ່ບັນທຶກໄວ້ກ່ອນທີ່ຈະເກັບ. ຕົວຢ່າງ, ໂຄງການ autotools ຈະຕັ້ງມັນເປັນ
`autoconf && automake`.
ຖ້າໃຊ້ `--zip`, matchers ແລະຄໍາສັ່ງ predist ຈະຖືກລະເລີຍ.
ດາກ ການທົດສອບ [[ການເລີ່ມຕົ້ນ] ຄໍາສັ່ງ]
ດໍາເນີນການທົດສອບໃນສະຖານະການບັນທຶກປະຈຸບັນຂອງ repository. ບໍ່ມີການໂຕ້ຖຽງ, ມັນໃຊ້
ການທົດສອບຄ່າເລີ່ມຕົ້ນຂອງ repository (ເບິ່ງ `darcs setpref`). ໄດ້ຮັບການໂຕ້ຖຽງຫນຶ່ງ, ມັນປິ່ນປົວມັນ
ເປັນຄໍາສັ່ງການທົດສອບ. ເນື່ອງຈາກການໂຕ້ຖຽງສອງຢ່າງ, ທໍາອິດແມ່ນຄໍາສັ່ງເລີ່ມຕົ້ນແລະ
ອັນທີສອງແມ່ນການທົດສອບ (ຫມາຍຄວາມວ່າລະຫັດອອກຂອງຄໍາສັ່ງທໍາອິດບໍ່ໄດ້ຖືກປະຕິບັດ
ບັນຊີເພື່ອກໍານົດຜົນສໍາເລັດຂອງການທົດສອບ). ຖ້າໃຫ້ `--linear` ຫຼື `-- bisect`
ທຸງ, ມັນພະຍາຍາມຊອກຫາສະບັບທີ່ຜ່ານມາທີ່ສຸດໃນ repository ທີ່ຜ່ານການທົດສອບ.
`--linear` ຄົ້ນຫາເສັ້ນຊື່ເລີ່ມຕົ້ນຈາກຫົວ, ແລະຍ້າຍອອກໄປຈາກຫົວ. ນີ້
ຍຸດທະສາດແມ່ນດີທີ່ສຸດໃນເວລາທີ່ການທົດສອບແລ່ນໄວຫຼາຍຫຼື patch ທີ່ເຈົ້າກໍາລັງຊອກຫາຢູ່ໃກ້ໆ
ຫົວ.
`--bisect` ຄົ້ນຫາແບບຄູ່. ຍຸດທະສາດນີ້ແມ່ນດີທີ່ສຸດເມື່ອການທົດສອບແລ່ນຊ້າຫຼາຍ
ຫຼື patch ທີ່ເຈົ້າກໍາລັງຊອກຫາມີແນວໂນ້ມທີ່ຈະຢູ່ໃນອະດີດຫ່າງໄກຂອງ repository.
`--backoff` ເລີ່ມຕົ້ນຄົ້ນຫາຈາກຫົວ, ຂ້າມຕໍ່ໄປແລະຕໍ່ໄປໃນອະດີດ
ຈົນກ່ວາການທົດສອບສໍາເລັດ. ຫຼັງຈາກນັ້ນ, ມັນເຮັດການຄົ້ນຫາຄູ່ໃນຊຸດຍ່ອຍຂອງຜູ້ທີ່ຂ້າມ
ເພີ້ມ. ຍຸດທະສາດນີ້ເຮັດວຽກໄດ້ດີເວັ້ນເສຍແຕ່ patch ທີ່ເຈົ້າກໍາລັງຊອກຫາຢູ່ໃນ
ອະດີດທີ່ຫ່າງໄກຂອງບ່ອນເກັບມ້ຽນ.
ພາຍໃຕ້ການສົມມຸດຕິຖານວ່າຄວາມລົ້ມເຫລວແມ່ນເປັນ monotonous, `--linear` ແລະ `-- bisect` ຜະລິດໄດ້.
ຜົນໄດ້ຮັບດຽວກັນ. (Monotonous ຫມາຍຄວາມວ່າເມື່ອຍ້າຍອອກໄປຈາກຫົວ, ຜົນການທົດສອບ
ການປ່ຽນແປງພຽງແຕ່ຄັ້ງດຽວຈາກ "ລົ້ມເຫລວ" ເປັນ "ok".) ຖ້າຫາກວ່າຄວາມລົ້ມເຫຼວແມ່ນບໍ່ monotonous, ຫນຶ່ງໃນຫນຶ່ງ
ແຜ່ນທີ່ທໍາລາຍການທົດສອບແມ່ນພົບເຫັນຢູ່ໃນແບບສຸ່ມ.
ດາກ ສະແດງໃຫ້ເຫັນ ເນື້ອຫາ [ເອກະສານ] ...
ເນື້ອຫາສະແດງສາມາດຖືກນໍາໃຊ້ເພື່ອສະແດງເວີຊັນກ່ອນຫນ້າຂອງບາງໄຟລ໌. ຖ້າເຈົ້າໃຫ້
ສະແດງເນື້ອຫາທີ່ບໍ່ມີການໂຕ້ຖຽງສະບັບ, ມັນສະແດງສະບັບບັນທຶກຂອງໄຟລ໌(s).
ດາກ ສະແດງໃຫ້ເຫັນ ໄຟ [ເອກະສານ|ລະບົບ] ...
ຄໍາສັ່ງ 'darcs show files` ລາຍຊື່ໄຟລ໌ແລະໄດເລກະທໍລີເຫຼົ່ານັ້ນຢູ່ໃນຕົ້ນໄມ້ທີ່ເຮັດວຽກ
ທີ່ຢູ່ພາຍໃຕ້ການຄວບຄຸມສະບັບ. ຄໍາສັ່ງນີ້ແມ່ນຕົ້ນຕໍສໍາລັບຈຸດປະສົງການຂຽນ; ສິ້ນສຸດ
ຜູ້ໃຊ້ອາດຈະຕ້ອງການ 'darcs whatsnew --summary'.
ໄຟລ໌ແມ່ນ "ລໍຖ້າ" ຖ້າມັນຖືກເພີ່ມແຕ່ບໍ່ໄດ້ບັນທຶກ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄຟລ໌ທີ່ຍັງຄ້າງຢູ່
(ແລະໄດເລກະທໍລີ) ມີລາຍຊື່; ທາງເລືອກ '--no-pending' ປ້ອງກັນສິ່ງນີ້.
ໂດຍຄ່າເລີ່ມຕົ້ນ `darcs ສະແດງໄຟລ໌` ລາຍຊື່ທັງໄຟລ໌ແລະໄດເລກະທໍລີ, ແຕ່ນາມແຝງ `darcs
ສະແດງ manifest` ພຽງແຕ່ລາຍຊື່ໄຟລ໌. `--files`, `--directories`, `--no-files` ແລະ
`--no-directories` ແກ້ໄຂພຶດຕິກໍານີ້.
ໂດຍຄ່າເລີ່ມຕົ້ນແມ່ນໜຶ່ງຕໍ່ແຖວ (ເຊັ່ນ: ແຖວໃໝ່ແຍກອອກ). ນີ້ສາມາດເຮັດໃຫ້ເກີດບັນຫາ
ຖ້າໄຟລ໌ຕົວຂອງມັນເອງມີເສັ້ນໃຫມ່ຫຼືຕົວອັກສອນຄວບຄຸມອື່ນໆ. ເພື່ອໃຫ້ໄດ້ຮັບປະມານ
ນີ້, ທາງເລືອກ `--null` ໃຊ້ຕົວອັກສອນ null ແທນ. ການຕີຄວາມໝາຍຂອງຕົວໜັງສື
ຜົນຜະລິດຈາກຄໍາສັ່ງນີ້ຈໍາເປັນຕ້ອງເຂົ້າໃຈ idiom ນີ້; `xargs -0` ແມ່ນຄໍາສັ່ງດັ່ງກ່າວ.
ຕົວຢ່າງ, ເພື່ອລາຍຊື່ໄຟລ໌ທີ່ຄວບຄຸມເວີຊັນຕາມຂະໜາດ:
darcs ສະແດງໄຟລ໌ -0 | xargs -0 ls -ldS
ດາກ ສະແດງໃຫ້ເຫັນ ດັດຊະນີ
ຄໍາສັ່ງ `darcs show index` ລາຍຊື່ໄຟລ໌ແລະໄດເລກະທໍລີທີ່ຄວບຄຸມເວີຊັນທັງຫມົດ
ພ້ອມກັບເຄື່ອງໝາຍຖືກເກັບໄວ້ໃນ `_darcs/index`. ສໍາລັບໄຟລ໌, ຊ່ອງຂໍ້ມູນກົງກັນ
ກັບຂະຫນາດໄຟລ໌, sha256 ຂອງເນື້ອໃນໄຟລ໌ປະຈຸບັນແລະຊື່ໄຟລ໌.
ດາກ ສະແດງໃຫ້ເຫັນ pristine
ຄໍາສັ່ງ 'darcs ສະແດງໃຫ້ເຫັນ pristine' ລາຍຊື່ໄຟລ໌ແລະໄດເລກະທໍລີທີ່ຄວບຄຸມສະບັບທັງຫມົດ
ພ້ອມກັບ hashes ຂອງສໍາເນົາ pristine ຂອງເຂົາເຈົ້າ. ສໍາລັບໄຟລ໌, ຊ່ອງຂໍ້ມູນກົງກັນກັບ
ຂະຫນາດໄຟລ໌, sha256 ຂອງເນື້ອໃນໄຟລ໌ pristine ແລະຊື່ໄຟລ໌.
ດາກ ສະແດງໃຫ້ເຫັນ repo
ຄໍາສັ່ງ `darcs show repo` ສະແດງສະຖິຕິກ່ຽວກັບບ່ອນເກັບຂໍ້ມູນປະຈຸບັນ,
ອະນຸຍາດໃຫ້ສະຄຣິບພາກສ່ວນທີສາມເຂົ້າເຖິງຂໍ້ມູນນີ້ໂດຍບໍ່ຕ້ອງກວດສອບ `_darcs`
ໂດຍກົງ (ແລະບໍ່ແຕກເມື່ອຮູບແບບ `_darcs` ປ່ຽນແປງ).
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຈໍານວນຂອງການເພີ້ມແມ່ນສະແດງໃຫ້ເຫັນ. ຖ້າຂໍ້ມູນນີ້ບໍ່ຈໍາເປັນ, ໃຫ້ໃຊ້
`--no-files` ເພື່ອເລັ່ງຄໍາສັ່ງນີ້ຈາກ O(n) ໄປ O(1).
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜົນຜະລິດແມ່ນຢູ່ໃນຮູບແບບທີ່ມະນຸດສາມາດອ່ານໄດ້. ທາງເລືອກ `--xml-output` ສາມາດເປັນ
ໃຊ້ເພື່ອສ້າງຜົນຜະລິດສໍາລັບການປຸງແຕ່ງພາຍຫຼັງເຄື່ອງຈັກ.
ດາກ ສະແດງໃຫ້ເຫັນ ຜູ້ຂຽນ
ຄໍາສັ່ງ `darcs show authors` ລາຍຊື່ຜູ້ຂຽນຂອງ repository ໃນປັດຈຸບັນ, ຈັດຮຽງ
ໂດຍຈໍານວນຂອງ patches ປະກອບສ່ວນ. ດ້ວຍຕົວເລືອກ `--verbose`, ຄຳສັ່ງນີ້
ພຽງແຕ່ລາຍຊື່ຜູ້ຂຽນຂອງແຕ່ລະ patch (ໂດຍບໍ່ມີການລວບລວມຫຼືຈັດຮຽງ).
ຊື່ ຫຼືທີ່ຢູ່ອີເມວຂອງຜູ້ຂຽນອາດຈະມີການປ່ຽນແປງຕາມເວລາ. ເພື່ອບອກ Darcs ເມື່ອຫຼາຍ
author strings ຫມາຍເຖິງບຸກຄົນດຽວກັນ, ສ້າງໄຟລ໌ `.authorspellings` ໃນ
ຮາກຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ. ແຕ່ລະແຖວໃນໄຟລ໌ນີ້ເລີ່ມຕົ້ນດ້ວຍ canonical ຂອງຜູ້ຂຽນ
ຊື່ແລະທີ່ຢູ່, ແລະອາດຈະປະຕິບັດຕາມດ້ວຍເຄື່ອງຫມາຍຈຸດທີ່ແຍກອອກບັນຊີລາຍການຂະຫຍາຍປົກກະຕິ
ການສະແດງອອກ. ເສັ້ນຫວ່າງເປົ່າ ແລະ ເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍສອງຂີດຕໍ່ແມ່ນຖືກລະເລີຍ. ໄດ້
ຮູບແບບຂອງ '.authors spelling' ສາມາດອະທິບາຍໄດ້ໂດຍຮູບແບບນີ້:
ຊື່ [, regexp ]*
ມີບາງ pitfalls ກ່ຽວກັບລັກສະນະພິເສດ: Whitespaces ແມ່ນ stripped, ຖ້າ
ທ່ານຕ້ອງການພື້ນທີ່ໃນການນໍາໃຊ້ regexp [ ]. ເພາະວ່າເຄື່ອງໝາຍຈຸດເຮັດໜ້າທີ່ເປັນຕົວຂັ້ນເຈົ້າຕ້ອງ
ຫນີມັນຖ້າທ່ານຕ້ອງການມັນຢູ່ໃນ regexp. ໃຫ້ສັງເກດວ່າ '.authors spelling' ໃຊ້ຂະຫຍາຍປົກກະຕິ
ສະແດງອອກດັ່ງນັ້ນ + , ? ແລະອື່ນໆແມ່ນ metacharacters ແລະທ່ານຈໍາເປັນຕ້ອງຫນີໃຫ້ເຂົາເຈົ້າເປັນ
ຕີຄວາມຫມາຍທີ່ຮູ້ຫນັງສື.
Patch ໃດໆທີ່ມີ string ຜູ້ຂຽນທີ່ກົງກັບທີ່ຢູ່ canonical ຫຼືອັນໃດນຶ່ງ
regexps ທີ່ກ່ຽວຂ້ອງແມ່ນຖືວ່າເປັນວຽກຂອງຜູ້ຂຽນນັ້ນ. ການຈັບຄູ່ທັງຫມົດແມ່ນ
case-insensitive ແລະບາງສ່ວນ (ມັນສາມາດກົງກັບສາຍຍ່ອຍ). ໃຊ້ ^,$ ເພື່ອໃຫ້ກົງກັບທັງໝົດ
string ໃນ regexps
ໃນປັດຈຸບັນຂັ້ນຕອນ canonicalization ນີ້ແມ່ນເຮັດໃນ 'darcs ສະແດງຜູ້ຂຽນ' ເທົ່ານັ້ນ. ອື່ນໆ
ຄໍາສັ່ງ, ເຊັ່ນ 'darcs log' ໃຊ້ author strings verbatim.
ຕົວຢ່າງໄຟລ໌ `.authorspelling` ແມ່ນ:
-- ນີ້ແມ່ນຄໍາເຫັນ.
Fred Nurkfred@example.com>
John Snaggsnage@bbc.co.uk>, John, snagge@, js@(si|mit).edu
Chuck Jones\, Jr.chuck@pobox.com>, cj\+user@example.com
ດາກ ສະແດງໃຫ້ເຫັນ tags
ຄໍາສັ່ງ tags ຂຽນບັນຊີລາຍຊື່ຂອງ tags ທັງຫມົດໃນ repository ກັບຜົນຜະລິດມາດຕະຖານ.
ຕົວອັກສອນແຖບ (ASCII ຕົວອັກສອນ 9) ໃນຊື່ແທັກຖືກປ່ຽນເປັນຍະຫວ່າງເພື່ອໃຫ້ດີຂຶ້ນ
ຄວາມສາມາດຮ່ວມມືກັບເຄື່ອງມືແກະ. ການເຕືອນໄພຈະຖືກພິມອອກຖ້າສິ່ງນີ້ເກີດຂື້ນ.
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-ທັງໝົດ
ຄໍາສັ່ງ `darcs show patch-index all' ລາຍຊື່ຂໍ້ມູນທັງໝົດໃນ patch index
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-files
ຄໍາສັ່ງ 'darcs ສະແດງ patch-index files' ລາຍຊື່ໄຟລ໌ປະຈຸບັນທັງຫມົດທີ່ລົງທະບຽນຢູ່ໃນ
ດັດຊະນີ patch
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-ສະຖານະ
ບົດລາຍງານ 'darcs ສະແດງ patch-index-status' ຖ້າດັດຊະນີ patch ຢູ່ໃນ sync, ອອກຈາກ
sync, ຫຼືບໍ່ມີ
ດາກ ສະແດງໃຫ້ເຫັນ patch-index-test
'darcs ສະແດງ patch-index-test' ດັດຊະນີ patch ການທົດສອບ
ການຄັດລອກ ເພີ້ມ ລະຫວ່າງ repositories ກັບ ການເຮັດວຽກ ຄັດລອກ ອັບເດດ:
ດາກ ດຶງ [repository] ...
ການດຶງແມ່ນໃຊ້ເພື່ອນໍາເອົາແຜ່ນທີ່ເຮັດຢູ່ໃນບ່ອນເກັບມ້ຽນອື່ນເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນໃນປະຈຸບັນ
(ນັ້ນແມ່ນ, ບໍ່ວ່າຈະຢູ່ໃນໄດເລກະທໍລີປະຈຸບັນ, ຫຼືຫນຶ່ງທີ່ລະບຸໄວ້ກັບ
ທາງເລືອກ `--repodir`). ດຶງອະນຸຍາດໃຫ້ທ່ານເອົາມາໃຫ້ຫຼາຍກວ່າທັງຫມົດຫຼືບາງສ່ວນຂອງການເພີ້ມທີ່ເປັນ
ຢູ່ໃນບ່ອນເກັບມ້ຽນນັ້ນແຕ່ບໍ່ແມ່ນຢູ່ໃນບ່ອນນີ້. ດຶງຍອມຮັບການໂຕ້ຖຽງ, ເຊິ່ງເປັນ URLs ຈາກ
ທີ່ຈະດຶງ, ແລະໃນເວລາທີ່ເອີ້ນວ່າໂດຍບໍ່ມີການໂຕ້ຖຽງ, ດຶງຈະໃຊ້ repository ຈາກ
ທີ່ທ່ານມີຫຼາຍທີ່ສຸດບໍ່ດົນມານີ້ທັງ pushed ຫຼືດຶງ.
ພຶດຕິກຳເລີ່ມຕົ້ນ (`--union`) ແມ່ນການດຶງ patches ທີ່ຢູ່ໃນອັນໃດນຶ່ງ
repositories ທີ່ລະບຸໄວ້. ຖ້າທ່ານລະບຸທຸງ `--intersection`, darcs ເທົ່ານັ້ນ
ດຶງ patches ເຫຼົ່ານັ້ນທີ່ມີຢູ່ໃນ repositories ແຫຼ່ງທັງຫມົດ. ຖ້າເຈົ້າລະບຸ
ທຸງ `--complement`, darcs ຈະພຽງແຕ່ດຶງອົງປະກອບໃນ repository ທໍາອິດທີ່ບໍ່ໄດ້
ມີຢູ່ໃນບ່ອນເກັບມ້ຽນທີ່ເຫຼືອໃດໆ.
ຖ້າໃຫ້ `--reorder`, ຊຸດຂອງ patches ທີ່ມີຢູ່ໃນປະຈຸບັນເທົ່ານັ້ນ
repository ໄດ້ຖືກນໍາມາຢູ່ເທິງສຸດຂອງປະຫວັດສາດໃນປະຈຸບັນ. ນີ້ຈະເຮັດວຽກເຖິງແມ່ນວ່າມີ
ບໍ່ມີແຜ່ນໃຫມ່ທີ່ຈະດຶງ.
ເບິ່ງ 'darcs ຊ່ວຍສະຫມັກ' ສໍາລັບລາຍລະອຽດລາຍລະອຽດຂອງຫຼາຍທາງເລືອກ.
ດາກ ດຶງ [repository] ...
Fetch ແມ່ນຄ້າຍຄືກັນກັບ 'ດຶງ' ຍົກເວັ້ນວ່າມັນບໍ່ນໍາໃຊ້ການສ້ອມແຊມໃດໆກັບປະຈຸບັນ
ຄັງເກັບມ້ຽນ. ແທນທີ່ຈະ, ມັນສ້າງຊຸດ patch ທີ່ທ່ານສາມາດສະຫມັກໄດ້ໃນພາຍຫຼັງ
`ສະຫມັກ`.
ພຶດຕິກໍາຂອງ Fetch ແມ່ນມີຄວາມຄ້າຍຄືກັນກັບການດຶງ, ດັ່ງນັ້ນກະລຸນາປຶກສາການຊ່ວຍເຫຼືອຂອງ
`ດຶງ` ເພື່ອຮູ້ເພີ່ມເຕີມ.
ດາກ ລົບກວນ
Obliterate ຢ່າງສົມບູນເອົາແຜ່ນທີ່ບັນທຶກໄວ້ອອກຈາກບ່ອນເກັບມ້ຽນໃນທ້ອງຖິ່ນຂອງທ່ານ. ການປ່ຽນແປງ
ຈະຖືກຍົກເລີກໃນສໍາເນົາທີ່ເຮັດວຽກຂອງທ່ານແລະ patches ຈະບໍ່ສະແດງຢູ່ໃນການປ່ຽນແປງຂອງທ່ານ
ລາຍຊື່ອີກແລ້ວ. ຈົ່ງລະວັງວ່າທ່ານສາມາດສູນເສຍລະຫັດທີ່ມີຄ່າໂດຍການລຶບລ້າງ!
ວິທີໜຶ່ງເພື່ອບັນທຶກການລຶບລ້າງອອກແມ່ນການໃຊ້ທຸງ -O. ຊຸດ patch ຈະເປັນ
ສ້າງຢູ່ໃນທ້ອງຖິ່ນ, ທີ່ທ່ານຈະສາມາດນໍາໃຊ້ໃນພາຍຫຼັງກັບ repository ຂອງທ່ານກັບ `darcs
ນຳໃຊ້`.
ດາກ rollback [ເອກະສານ|ລະບົບ] ...
Rollback ຖືກນໍາໃຊ້ເພື່ອຍົກເລີກຜົນກະທົບຂອງການປ່ຽນແປງບາງຢ່າງຈາກ patches ໃນ repository.
ການປ່ຽນແປງທີ່ເລືອກແມ່ນຍົກເລີກໃນການເຮັດວຽກຂອງທ່ານ, ແຕ່ການເກັບຮັກສາໄວ້
ບໍ່ປ່ຽນແປງ. ກ່ອນອື່ນ ໝົດ, ເຈົ້າໄດ້ສະ ເໜີ ທາງເລືອກທີ່ຈະຍົກເລີກການແກ້ໄຂ, ຈາກນັ້ນປ່ຽນອັນໃດ
ພາຍໃນ patches ເພື່ອຍົກເລີກ.
ກ່ອນທີ່ຈະເຮັດ 'rollback', ທ່ານອາດຈະຕ້ອງການຍົກເລີກການປ່ຽນແປງການເຮັດວຽກຂອງເຈົ້າເປັນການຊົ່ວຄາວ
ສຳເນົາ (ຖ້າມີ) ແລະບັນທຶກພວກມັນໄວ້ເພື່ອນຳໃຊ້ໃນພາຍຫຼັງ. ເພື່ອເຮັດສິ່ງນີ້, ທ່ານສາມາດດໍາເນີນການ 'ກັບຄືນ', ຈາກນັ້ນ
ແລ່ນ 'rollback', ບັນທຶກ patch, ແລະດໍາເນີນການ 'unrevert' ເພື່ອຟື້ນຟູການປ່ຽນແປງທີ່ບັນທຶກໄວ້
ສຳເນົາການເຮັດວຽກຂອງເຈົ້າ.
ດາກ ການຊຸກຍູ້ [repository]
ການຊຸກຍູ້ແມ່ນກົງກັນຂ້າມກັບການດຶງ. Push ຊ່ວຍໃຫ້ທ່ານສາມາດຄັດລອກແຜ່ນແພຈາກປະຈຸບັນ
repository ເຂົ້າໄປໃນ repository ອື່ນ.
ຖ້າທ່ານໃຫ້ທຸງ `--apply-as`, darcs ຈະໃຊ້ sudo ເພື່ອນໍາໃຊ້ patches ເປັນ.
ຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນ. ນີ້ສາມາດເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະຕັ້ງຄ່າລະບົບທີ່ຜູ້ໃຊ້ຫຼາຍຄົນ
ສາມາດດັດແປງບ່ອນເກັບຂໍ້ມູນດຽວກັນ, ແຕ່ທ່ານບໍ່ຕ້ອງການອະນຸຍາດໃຫ້ພວກເຂົາເຂົ້າເຖິງການຂຽນຢ່າງເຕັມທີ່.
ອັນນີ້ບໍ່ປອດໄພຕໍ່ກັບຜູ້ໂຈມຕີທີ່ເປັນອັນຕະລາຍທີ່ຊໍານິຊໍານານ, ແຕ່ຢ່າງນ້ອຍກໍສາມາດປົກປ້ອງເຈົ້າໄດ້
repository ຈາກຜູ້ໃຊ້ clumsy, inept ຫຼື lazy.
Darcs push ຈະບີບອັດຂໍ້ມູນ patch ໂດຍຄ່າເລີ່ມຕົ້ນກ່ອນທີ່ຈະສົ່ງໄປທີ່ຣີໂໝດ
ສະຖານທີ່ຜ່ານ ssh. ອັນນີ້ໃຊ້ໄດ້ຕາບໃດທີ່ darcs ຫ່າງໄກສອກຫຼີກບໍ່ເກົ່າກວ່າເວີຊັນ
2.5. ຖ້າຫາກວ່າທ່ານໄດ້ຮັບຄວາມຜິດພາດສະແດງໃຫ້ເຫັນເປັນຊຸດ patch ສໍ້ລາດບັງຫຼວງ, ທ່ານຄວນຈະພະຍາຍາມອີກເທື່ອຫນຶ່ງ
ທາງເລືອກ `--no-compress` ເພື່ອສົ່ງຂໍ້ມູນໃນຮູບແບບທີ່ບໍ່ໄດ້ຮັບການບີບອັດ (ເຊິ່ງມີຫຼາຍ
ຊ້າກວ່າສຳລັບແຜ່ນໃຫຍ່, ແຕ່ຄວນເຮັດວຽກສະເໝີ).
ດາກ ສົ່ງ [repository]
ການສົ່ງແມ່ນໃຊ້ເພື່ອກະກຽມຊຸດແຜ່ນແພທີ່ສາມາດໃຊ້ກັບເປົ້າໝາຍໄດ້
ຄັງເກັບມ້ຽນ. ສົ່ງຍອມຮັບ URL ຂອງ repository ເປັນ argument. ເມື່ອຖືກເອີ້ນ
ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ສົ່ງຈະໃຊ້ repository ຫຼ້າສຸດທີ່ຖືກ pushed
ໄປ, ດຶງຈາກຫຼືສົ່ງໄປຫາ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຊຸດ patch ຖືກບັນທຶກໄວ້ໃນໄຟລ໌, ເຖິງແມ່ນວ່າ
ເຈົ້າອາດຈະສົ່ງໂດຍກົງທາງໄປສະນີ.
ທຸງ `--output`, `--output-auto-name`, ແລະ `--to` ກໍານົດສິ່ງທີ່ darcs ເຮັດກັບ.
ມັດ patch ຫຼັງຈາກສ້າງມັນ. ຖ້າທ່ານສະຫນອງການໂຕ້ຖຽງ `--output`, patch
bundle ຖືກບັນທຶກໄວ້ໃນໄຟລ໌ນັ້ນ. ຖ້າທ່ານລະບຸ `--output-auto-name`, ແພັກເກດ patch
ຖືກບັນທຶກໄວ້ໃນໄຟລ໌ທີ່ມີຊື່ທີ່ສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດ. ຖ້າທ່ານໃຫ້ຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ
`--to` arguments, bundle ຂອງ patches ຖືກສົ່ງໄປຫາສະຖານທີ່ເຫຼົ່ານັ້ນ. ສະຖານທີ່ອາດຈະ
ບໍ່ວ່າຈະເປັນທີ່ຢູ່ອີເມວຫຼື urls ທີ່ patch ຄວນຖືກສົ່ງໄປຫາຜ່ານ HTTP.
ຖ້າທ່ານໃຫ້ທຸງ `--mail`, darcs ຈະເບິ່ງເນື້ອໃນຂອງ
ໄຟລ໌ `_darcs/prefs/email` ຢູ່ໃນບ່ອນເກັບມ້ຽນເປົ້າໝາຍ (ຖ້າມັນມີຢູ່), ແລະສົ່ງ patch
ທາງອີເມວໄປຫາທີ່ຢູ່ນັ້ນ. ໃນກໍລະນີນີ້, ທ່ານສາມາດໃຊ້ຕົວເລືອກ `--cc` ເພື່ອລະບຸ
ຜູ້ຮັບເພີ່ມເຕີມໂດຍບໍ່ມີການ overriding ທີ່ຢູ່ອີເມວ repository ເລີ່ມຕົ້ນ.
ຖ້າມີ `_darcs/prefs/post` ຢູ່ໃນບ່ອນເກັບມ້ຽນເປົ້າໝາຍ, darcs ຈະອັບໂຫລດໄປທີ່ URL
ບັນຈຸຢູ່ໃນໄຟລ໌ນັ້ນ, ເຊິ່ງອາດຈະເປັນ `mailto:` URL, ຫຼື `http://` URL. ໃນ
ກໍລະນີສຸດທ້າຍ, patch ໄດ້ຖືກຈັດພີມມາເຖິງ URL ນັ້ນ.
ຖ້າບໍ່ມີທີ່ຢູ່ອີເມວທີ່ກ່ຽວຂ້ອງກັບບ່ອນເກັບມ້ຽນ, darcs ຈະເຕືອນທ່ານ
ທີ່ຢູ່ອີເມວ
ໃຊ້ທຸງ '--subject' ເພື່ອກໍານົດຫົວຂໍ້ຂອງອີເມລທີ່ຈະສົ່ງ. ຖ້າເຈົ້າບໍ່
ໃຫ້ຫົວຂໍ້ກ່ຽວກັບເສັ້ນຄໍາສັ່ງ, darcs ຈະເຮັດໃຫ້ຫນຶ່ງຂຶ້ນກັບຊື່ຂອງ
patches ໃນມັດ patch.
ໃຊ້ທຸງ '--- in-reply-to' ເພື່ອກໍານົດຫົວຂໍ້ In-Reply-To ແລະ References ຂອງ
e-mail ທີ່ຈະສົ່ງ. ໂດຍຄ່າເລີ່ມຕົ້ນຈະບໍ່ລວມເອົາສ່ວນຫົວເພີ່ມເຕີມ ດັ່ງນັ້ນອີເມລ໌ຈະບໍ່ເປັນ
ຖືກປະຕິບັດເປັນການຕອບໂດຍຜູ້ອ່ານ mail.
ຖ້າທ່ານຕ້ອງການປະກອບຄໍາອະທິບາຍຫຼືຄໍາອະທິບາຍພ້ອມກັບມັດຂອງ patches,
ທ່ານຈໍາເປັນຕ້ອງລະບຸທຸງ `--edit-description`, ເຊິ່ງຈະເຮັດໃຫ້ darcs ເປີດຂຶ້ນ
ບັນນາທິການທີ່ທ່ານສາມາດຂຽນຂໍ້ຄວາມທີ່ຈະໄປຄຽງຄູ່ກັບການເພີ້ມຂອງທ່ານ.
ຖ້າທ່ານຕ້ອງການໃຊ້ຄໍາສັ່ງທີ່ແຕກຕ່າງຈາກຄ່າເລີ່ມຕົ້ນສໍາລັບການສົ່ງອີເມວ, ທ່ານ
ຈໍາເປັນຕ້ອງລະບຸເສັ້ນຄໍາສັ່ງດ້ວຍທາງເລືອກ `--sendmail-command`. ເສັ້ນຄໍາສັ່ງ
ສາມາດບັນຈຸບາງຕົວລະບຸຮູບແບບທີ່ຖືກແທນທີ່ດ້ວຍຄ່າຕົວຈິງ. ຍອມຮັບ
ຕົວກໍານົດຮູບແບບແມ່ນ `%s` ສໍາລັບຫົວຂໍ້, `%t` ສໍາລັບໄປ, `%c` ສໍາລັບ cc, `%b` ສໍາລັບເນື້ອໃນຂອງ
mail, `%f` ສໍາລັບຈາກ, `%a` ສໍາລັບຊຸດ patch ແລະຕົວລະບຸດຽວກັນໃນ
ຕົວພິມໃຫຍ່ສໍາລັບຄ່າທີ່ເຂົ້າລະຫັດ URL. ນອກຈາກນັ້ນ, ທ່ານສາມາດເພີ່ມ `%<` ໃສ່ທ້າຍຂອງ
ເສັ້ນຄໍາສັ່ງຖ້າຄໍາສັ່ງຄາດວ່າຈະມີຂໍ້ຄວາມອີເມລ໌ທີ່ສົມບູນກ່ຽວກັບການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຕົວຢ່າງ
ເສັ້ນຄໍາສັ່ງສໍາລັບການ evolution ແລະ msmtp ເບິ່ງຄືວ່ານີ້:
ວິວັດທະນາການ "mailto:%T?subject=%S&attach=%A&cc=%C&body=%B"
msmtp -t %
ຢ່າສັບສົນທາງເລືອກ '--ຜູ້ຂຽນ' ກັບທີ່ຢູ່ສົ່ງຄືນທີ່ 'darcs ສົ່ງ' ຈະ
ກໍານົດສໍາລັບຊຸດ patch ຂອງທ່ານ.
ຕົວຢ່າງ, ຖ້າທ່ານມີສອງທີ່ຢູ່ອີເມວ A ແລະ B:
* ຖ້າທ່ານໃຊ້ `-- author A` ແຕ່ເຄື່ອງຂອງເຈົ້າຖືກຕັ້ງຄ່າໃຫ້ສົ່ງຈົດໝາຍຈາກ
ທີ່ຢູ່ B ໂດຍຄ່າເລີ່ມຕົ້ນ, ຫຼັງຈາກນັ້ນທີ່ຢູ່ກັບຄືນໃນຂໍ້ຄວາມຂອງເຈົ້າຈະເປັນ B. * ຖ້າເຈົ້າ
ໃຊ້ `-- ຈາກ A` ແລະລູກຄ້າເມລຂອງທ່ານສະຫນັບສະຫນູນການຕັ້ງຄ່າ
ຈາກ: ທີ່ຢູ່ arbitrarily (ບາງລູກຄ້າເມລທີ່ບໍ່ແມ່ນ Unix, ໂດຍສະເພາະ,
ອາດຈະບໍ່ສະຫນັບສະຫນູນນີ້), ຫຼັງຈາກນັ້ນທີ່ຢູ່ກັບຄືນຈະເປັນ A; ຖ້າມັນເຮັດ
ບໍ່ສະຫນັບສະຫນູນນີ້, ຫຼັງຈາກນັ້ນທີ່ຢູ່ສົ່ງຄືນຈະເປັນ B. * ຖ້າທ່ານບໍ່ສະຫນອງທັງສອງ
`-- ຈາກ` ຫຼື `` ຜູ້ຂຽນ` ຫຼັງຈາກນັ້ນກັບຄືນມາ
ທີ່ຢູ່ຈະເປັນ B.
ນອກຈາກນັ້ນ, ເວັ້ນເສຍແຕ່ວ່າທ່ານລະບຸຄໍາສັ່ງ sendmail ດ້ວຍ `--sendmail-command`, darcs
ສົ່ງອີເມວໂດຍໃຊ້ຄໍາສັ່ງອີເມວເລີ່ມຕົ້ນໃນຄອມພິວເຕີຂອງທ່ານ. ຄໍາສັ່ງເລີ່ມຕົ້ນນີ້ແມ່ນ
ກໍານົດໂດຍ script `configure`. ດັ່ງນັ້ນ, ໃນບາງ OS ທີ່ບໍ່ຄືກັບ Unix, `--from` ແມ່ນ
ຄົງຈະບໍ່ເຮັດວຽກເລີຍ.
ດາກ ນໍາໃຊ້ <patchfile>
ຄໍາສັ່ງ `darcs apply` ໃຊ້ຊຸດ patch ແລະພະຍາຍາມໃສ່ມັນເຂົ້າໄປໃນ
ຄັງເກັບຮັກສາໃນປັດຈຸບັນ. ນອກເຫນືອຈາກການເອີ້ນມັນໂດຍກົງໃສ່ຊຸດທີ່ສ້າງໂດຍ `darcs
ສົ່ງ`, ມັນຖືກນໍາໃຊ້ພາຍໃນໂດຍ `darcs push` ຢູ່ໃນຈຸດເຊື່ອມຕໍ່ທາງໄກຂອງການເຊື່ອມຕໍ່ SSH.
ຖ້າບໍ່ມີໄຟລ໌ໃຫ້, ມັດຈະຖືກອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ.
ຖ້າໃຫ້ອີເມວແທນທີ່ຈະເປັນຊຸດ patch, Darcs ຈະຊອກຫາ bundle ເປັນ MIME
ໄຟລ໌ແນບກັບອີເມວນັ້ນ. ໃນປັດຈຸບັນນີ້ຈະລົ້ມເຫລວຖ້າຂອບເຂດ MIME ຖືກຂຽນຄືນໃຫມ່,
ເຊັ່ນໃນ Courier ແລະ Mail.app.
ຖ້າ `-- ຕອບ noreply@example.net` ທາງເລືອກແມ່ນໃຊ້, ແລະມັດຖືກຕິດກັບ
ອີເມລ໌, Darcs ຈະສົ່ງບົດລາຍງານ (ຊີ້ໃຫ້ເຫັນຜົນສໍາເລັດຫຼືຄວາມລົ້ມເຫຼວ) ກັບຜູ້ສົ່ງຂອງ
bundle (ພາກສະຫນາມ `To`). ການໂຕ້ຖຽງທີ່ຈະ noreply ແມ່ນທີ່ຢູ່ທີ່ບົດລາຍງານຈະ
ປະກົດວ່າມີຕົ້ນກຳເນີດມາຈາກ.
ຕົວເລືອກ `--cc` ຈະເຮັດໃຫ້ລາຍງານເປັນ CC'd ໄປຫາທີ່ຢູ່ອື່ນ, ຕົວຢ່າງ
`--cc reports@lists.example.net,admin@lists.example.net`. ການນໍາໃຊ້ `--cc` ໂດຍບໍ່ມີການ
`-- ຕອບ` ແມ່ນບໍ່ໄດ້ກໍານົດ.
ຖ້າທ່ານຕ້ອງການໃຊ້ຄໍາສັ່ງທີ່ແຕກຕ່າງຈາກຄ່າເລີ່ມຕົ້ນສໍາລັບການສົ່ງຈົດຫມາຍ, ທ່ານຕ້ອງການ
ເພື່ອລະບຸເສັ້ນຄໍາສັ່ງດ້ວຍຕົວເລືອກ `--sendmail-command`. ເສັ້ນຄໍາສັ່ງສາມາດ
ມີຕົວລະບຸຮູບແບບ `%t` ສໍາລັບການໄປ ແລະທ່ານສາມາດເພີ່ມ `%<` ໃສ່ທ້າຍຂອງ
ເສັ້ນຄໍາສັ່ງຖ້າຄໍາສັ່ງຄາດວ່າຈະມີ mail ຄົບຖ້ວນກ່ຽວກັບການປ້ອນມາດຕະຖານ. ຍົກຕົວຢ່າງ,
ເສັ້ນຄໍາສັ່ງສໍາລັບ msmtp ເບິ່ງຄືວ່ານີ້:
msmtp -t %
If gpg(1) ຖືກຕິດຕັ້ງ, ທ່ານສາມາດໃຊ້ `--verify pubring.gpg` ເພື່ອປະຕິເສດຊຸດທີ່.
ບໍ່ໄດ້ເຊັນໂດຍກະແຈໃນ `pubring.gpg`.
ຖ້າຫາກວ່າ `--test` ຖືກສະຫນອງໃຫ້ແລະການທົດສອບໄດ້ຖືກກໍານົດ (ເບິ່ງ `darcs setpref`), bundle ຈະ
ຈະຖືກປະຕິເສດຖ້າການທົດສອບລົ້ມເຫລວຫຼັງຈາກໃຊ້ມັນ. ໃນກໍລະນີດັ່ງກ່າວ, ອີເມວປະຕິເສດ
ຈາກ `--reply` ຈະປະກອບມີຜົນຜະລິດການທົດສອບ.
ຊຸດ patch ອາດຈະແນະນໍາຂໍ້ຂັດແຍ່ງທີ່ຍັງບໍ່ໄດ້ແກ້ໄຂກັບ patches ທີ່ມີຢູ່ແລ້ວຫຼືກັບ
ຕົ້ນໄມ້ເຮັດວຽກ. ໂດຍຄ່າເລີ່ມຕົ້ນ, Darcs ຈະເພີ່ມເຄື່ອງຫມາຍການຂັດແຍ້ງ (ເບິ່ງ `darcs
mark-conflicts`).
ທາງເລືອກ `--external-merge` ຊ່ວຍໃຫ້ທ່ານແກ້ໄຂຂໍ້ຂັດແຍ່ງເຫຼົ່ານີ້ໂດຍໃຊ້ການລວມພາຍນອກ
ເຄື່ອງມື. ໃນທາງເລືອກ, `%a` ຖືກແທນທີ່ດ້ວຍບັນພະບຸລຸດທົ່ວໄປ (ລວມຖານ), `%1`
ກັບຮຸ່ນທໍາອິດ, `%2` ກັບຮຸ່ນທີສອງ, ແລະ `%o` ກັບເສັ້ນທາງທີ່
ເນື້ອໃນການແກ້ໄຂຂອງທ່ານຄວນຈະໄປ. ສໍາລັບຕົວຢ່າງ, ການນໍາໃຊ້ເຄື່ອງມືການລວມສາຍຕາ xxdiff
ທ່ານຕ້ອງການລະບຸ: `--external-merge='xxdiff -m -O -M %o %1 %a %2'`
ທາງເລືອກ `--allow-conflicts` ຈະຂ້າມເຄື່ອງຫມາຍການຂັດແຍ້ງ; ນີ້ແມ່ນເປັນປະໂຫຍດໃນເວລາທີ່ທ່ານ
ຕ້ອງການທີ່ຈະປະຕິບັດການເກັບຮັກສາເປັນພຽງແຕ່ຊໍ່ຂອງ patches, ເຊັ່ນ: ການນໍາໃຊ້ `darcs pull
--union` ເພື່ອດາວໂຫລດ patches ເພື່ອນຮ່ວມງານຂອງເຈົ້າກ່ອນທີ່ຈະ offline.
ນີ້ສາມາດ mess ເຖິງການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄວ້ໃນຕົ້ນໄມ້ທີ່ເຮັດວຽກ, ບັງຄັບໃຫ້ທ່ານແກ້ໄຂ
ຂໍ້ຂັດແຍ່ງໃນທັນທີ. ພຽງແຕ່ປະຕິເສດຊຸດທີ່ແນະນໍາຂໍ້ຂັດແຍ່ງທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ,
ໂດຍໃຊ້ຕົວເລືອກ '--dont-allow-conflicts'. ເຮັດໃຫ້ນີ້ເປັນຄ່າເລີ່ມຕົ້ນໃນ push-based
ຂະບວນການເຮັດວຽກແມ່ນແນະນໍາຢ່າງແຂງແຮງ.
ບໍ່ຄືກັບຄໍາສັ່ງຂອງ Darcs ສ່ວນໃຫຍ່, `darcs ນຳໃຊ້` ຄ່າເລີ່ມຕົ້ນກັບ `--all`. ໃຊ້
ທາງເລືອກ `--interactive` ເພື່ອເລືອກແຜ່ນທີ່ຈະນໍາໃຊ້ຈາກຊຸດ.
ດາກ clone <repository> [ລະບົບ>]
Clone ສ້າງສໍາເນົາຂອງ repository. ການໂຕ້ຖຽງທີສອງທີ່ເປັນທາງເລືອກກໍານົດ a
ໄດເລກະທໍລີປາຍທາງສໍາລັບສໍາເນົາໃຫມ່; ຖ້າຫາກວ່າຍົກເວັ້ນ, ມັນແມ່ນ inferred ຈາກແຫຼ່ງຂໍ້ມູນ
ສະຖານທີ່.
ໂດຍຄ່າເລີ່ມຕົ້ນ Darcs ຈະຄັດລອກທຸກໆ patch ຈາກ repository ຕົ້ນສະບັບ. ນີ້ຫມາຍຄວາມວ່າ
ສໍາເນົາແມ່ນເອກະລາດຢ່າງສົມບູນຈາກຕົ້ນສະບັບ; ທ່ານສາມາດດໍາເນີນການຢູ່ໃນ repository ໃຫມ່
ເຖິງແມ່ນວ່າໃນເວລາທີ່ຕົ້ນສະບັບບໍ່ສາມາດເຂົ້າເຖິງໄດ້. ຖ້າທ່ານຄາດຫວັງວ່າການເກັບຮັກສາຕົ້ນສະບັບຈະ
ຍັງຄົງສາມາດເຂົ້າເຖິງໄດ້, ທ່ານສາມາດໃຊ້ '--lazy' ເພື່ອຫຼີກເວັ້ນການຄັດລອກແຜ່ນຕ່າງໆຈົນກ່ວາພວກເຂົາຕ້ອງການ
(`ສຳເນົາຕາມຄວາມຕ້ອງການ'). ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະໃນເວລາທີ່ສໍາເນົາ repository ຫ່າງໄກສອກຫຼີກກັບ
ປະຫວັດສາດອັນຍາວນານທີ່ທ່ານບໍ່ສົນໃຈ.
ເມື່ອ cloning ຢູ່ໃນທ້ອງຖິ່ນ, Darcs ອັດຕະໂນມັດໃຊ້ການເຊື່ອມຕໍ່ຍາກໃນບ່ອນທີ່ເປັນໄປໄດ້. ຄືກັນ
ເປັນປະຫຍັດເວລາແລະພື້ນທີ່, ນີ້ເຮັດໃຫ້ສາມາດຍ້າຍຫຼືລຶບ repository ຕົ້ນສະບັບ
ໂດຍບໍ່ມີຜົນກະທົບຕໍ່ການສໍາເນົາ. ການເຊື່ອມໂຍງຍາກຮຽກຮ້ອງໃຫ້ສໍາເນົາຢູ່ໃນອັນດຽວກັນ
ລະບົບໄຟລ໌ເປັນບ່ອນເກັບມ້ຽນຕົ້ນສະບັບ, ແລະລະບົບໄຟລ໌ສະຫນັບສະຫນູນການເຊື່ອມໂຍງຍາກ.
ນີ້ປະກອບມີ NTFS, HFS+ ແລະລະບົບໄຟລ໌ Unix ທີ່ມີຈຸດປະສົງທົ່ວໄປທັງໝົດ (ເຊັ່ນ: ext, UFS.
ແລະ ZFS). FAT ບໍ່ສະຫນັບສະຫນູນການເຊື່ອມຕໍ່ຍາກ.
ເມື່ອ cloning ຈາກສະຖານທີ່ຫ່າງໄກສອກຫຼີກ, Darcs ຈະຊອກຫາແລະພະຍາຍາມໃຊ້ຊອງ
ສ້າງໂດຍ `darcs optimize http` ໃນ repository ຫ່າງໄກສອກຫຼີກ. ຊອງເປັນໄຟລ໌ໃຫຍ່ອັນດຽວ
ທີ່ສາມາດດາວໂຫຼດໄດ້ແທນທີ່ຈະເປັນໄຟລ໌ພຽງເລັກນ້ອຍຈໍານວນຫຼາຍ, ທີ່ເຮັດໃຫ້ cloning ໄວຂຶ້ນ
HTTP.
ໂຄນ Darcs ຈະບໍ່ຄັດລອກການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄປຫາຕົ້ນໄມ້ທີ່ເຮັດວຽກຂອງບ່ອນເກັບມ້ຽນແຫຼ່ງ.
ທ່ານສາມາດຄັດລອກ repository ໄປຫາ ssh url, ໃນກໍລະນີໃດກໍ່ຕາມ, repository ໃຫມ່ຈະສະເຫມີ
ສົມບູນ.
ມັນມັກຈະຕ້ອງການທີ່ຈະເຮັດສໍາເນົາຂອງ repository ທີ່ບໍ່ລວມບາງ patches. ສໍາລັບ
ຕົວຢ່າງ, ຖ້າການປ່ອຍຖືກ tagged ຫຼັງຈາກນັ້ນ, `darcs clone --tag .` ຈະເຮັດໃຫ້ສໍາເນົາຂອງ
repository ຕາມການປ່ອຍຫລ້າສຸດ.
ສະຖານະຂອງບ່ອນເກັບມ້ຽນທີ່ບໍ່ໄດ້ຕິດແທັກຍັງສາມາດຖືກລະບຸໄດ້ຢ່າງບໍ່ຊັດເຈນໂດຍໄຟລ໌ບໍລິບົດ,
ດັ່ງທີ່ສ້າງຂຶ້ນໂດຍ `darcs log --context`. ຕາມຊື່ຂອງໄຟລ໌ດັ່ງກ່າວ, '--context`
ທາງເລືອກຈະສ້າງບ່ອນເກັບມ້ຽນທີ່ປະກອບມີພຽງແຕ່ patches ຈາກສະພາບການນັ້ນ.
ເມື່ອຜູ້ໃຊ້ລາຍງານ bug ໃນສະບັບທີ່ຍັງບໍ່ໄດ້ປ່ອຍອອກມາຈາກໂຄງການຂອງທ່ານ, ແນະນໍາ
ວິທີການເພື່ອຊອກຫາຢ່າງແທ້ຈິງວ່າພວກເຂົາແລ່ນລຸ້ນໃດແມ່ນໃຫ້ພວກເຂົາປະກອບມີ a
ໄຟລ໌ບໍລິບົດໃນລາຍງານຂໍ້ຜິດພາດ.
ນອກນັ້ນທ່ານຍັງສາມາດເຮັດສໍາເນົາຂອງສະຖານະ untagged ໂດຍໃຊ້ '--to-patch' ຫຼື '--to-match'
ທາງເລືອກ, ເຊິ່ງຍົກເວັ້ນ patches * ຫຼັງຈາກ * ການແກ້ໄຂທີ່ກົງກັນຄັ້ງທໍາອິດ. ເນື່ອງຈາກວ່າເຫຼົ່ານີ້
ທາງ ເລືອກ ໃນ ການ ປິ່ນ ປົວ ຊຸດ ຂອງ ເພີ້ມ ເປັນ ລໍາ ດັບ ຄໍາ ສັ່ງ, ທ່ານ ອາດ ຈະ ໄດ້ ຮັບ ຜົນ ໄດ້ ຮັບ ທີ່ ແຕກ ຕ່າງ ກັນ
ຫຼັງຈາກການຈັດລໍາດັບໃຫມ່ກັບ 'darcs optimize', ສະນັ້ນການຕິດຕັ້ງແມ່ນມັກ.
ທາງເລືອກ `--set-scripts-executable` ເຮັດໃຫ້ສະຄຣິບຖືກເຮັດໃຫ້ສາມາດປະຕິບັດໄດ້ໃນ
ຕົ້ນໄມ້ເຮັດວຽກ. script ແມ່ນໄຟລ໌ໃດໆທີ່ເລີ່ມຕົ້ນດ້ວຍ shebang ("#!").
ບໍລິຫານ ບ່ອນເກັບມ້ຽນ:
ດາກ ເລີ່ມຕົ້ນ [<ລະບົບ>]
ຄໍາສັ່ງ `darcs initialize` ປ່ຽນໄດເລກະທໍລີປັດຈຸບັນເປັນບ່ອນເກັບຂໍ້ມູນ Darcs.
ໄຟລ໌ ແລະໄດເລກະທໍລີຍ່ອຍທີ່ມີຢູ່ກ່ອນແລ້ວຈະກາຍເປັນການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄວ້: ບັນທຶກພວກມັນດ້ວຍ `darcs
ບັນທຶກ --look-for-adds`.
ຄໍາສັ່ງນີ້ສ້າງໄດເລກະທໍລີ `_darcs`, ເຊິ່ງເກັບຮັກສາ metadata ການຄວບຄຸມເວີຊັນ.
ມັນຍັງປະກອບດ້ວຍການຕັ້ງຄ່າຕໍ່ repository ໃນ `_darcs/prefs/`, ທີ່ທ່ານສາມາດອ່ານໄດ້
ໃນຄູ່ມືຜູ້ໃຊ້.
ໂດຍຄ່າເລີ່ມຕົ້ນ, patches ຂອງ repository ໃຫມ່ແມ່ນຢູ່ໃນ semantics darcs-2. ແນວໃດກໍ່ຕາມມັນແມ່ນ
ເປັນໄປໄດ້ທີ່ຈະສ້າງ repository ໃນ darcs-1 semantics ທີ່ມີທຸງ `--darcs-1`,
ເຖິງແມ່ນວ່ານີ້ບໍ່ໄດ້ຖືກແນະນໍາໃຫ້ຍົກເວັ້ນສໍາລັບການແບ່ງປັນ patches ກັບໂຄງການທີ່ໃຊ້
patches ໃນ darcs-1 semantics.
Initialize ໂດຍທົ່ວໄປແມ່ນຫຍໍ້ເປັນ 'init'.
ດາກ ເພີ່ມປະສິດທິ ເຮັດຄວາມສະອາດ
ຄໍາສັ່ງນີ້ລຶບໄຟລ໌ທີ່ລ້າສະໄຫມພາຍໃນບ່ອນເກັບມ້ຽນ.
ດາກ ເພີ່ມປະສິດທິ http
ການນໍາໃຊ້ທາງເລືອກນີ້ສ້າງ 'ຊອງ repository' ທີ່ສາມາດເຮັດໃຫ້ໄວຂຶ້ນຢ່າງຫຼວງຫຼາຍ
ການປະຕິບັດໃນເວລາທີ່ຜູ້ໃຊ້ເຮັດ 'darcs clone' ຂອງ repository ຜ່ານ HTTP. ເພື່ອເຮັດໃຫ້ການນໍາໃຊ້
ຂອງຊອງ, ລູກຄ້າຕ້ອງມີ darcs ຢ່າງຫນ້ອຍສະບັບ 2.10.
ດາກ ເພີ່ມປະສິດທິ ຈັດຮຽງ ໃໝ່
ຄໍາສັ່ງນີ້ຍ້າຍ patches ທີ່ຜ່ານມາ (ທີ່ບໍ່ໄດ້ລວມຢູ່ໃນແທັກຫລ້າສຸດ) ໄປຫາ
"ທາງຫນ້າ", ຫຼຸດຜ່ອນຈໍານວນທີ່ຄໍາສັ່ງຫ່າງໄກສອກຫຼີກປົກກະຕິຕ້ອງການດາວໂຫລດ. ມັນ
ຄວນຫຼຸດຜ່ອນເວລາ CPU ທີ່ຈໍາເປັນສໍາລັບການປະຕິບັດງານບາງຢ່າງ.
ດາກ ເພີ່ມປະສິດທິ enable-patch-index
ສ້າງດັດສະນີ patch, ໂຄງສ້າງຂໍ້ມູນພາຍໃນທີ່ເລັ່ງຄໍາສັ່ງທີ່ຕ້ອງການ
ເພື່ອຮູ້ວ່າແຜ່ນໃດສໍາຜັດກັບໄຟລ໌ທີ່ໃຫ້. ເຊັ່ນ: ຄໍາບັນຍາຍ ແລະບັນທຶກ.
ດາກ ເພີ່ມປະສິດທິ ປິດການໃຊ້ງານ-patch-index
ລົບແລະຢຸດການຮັກສາດັດສະນີ patch ຈາກ repository.
ດາກ ເພີ່ມປະສິດທິ compress
ໂດຍຄ່າເລີ່ມຕົ້ນຖືກບີບອັດດ້ວຍ zlib (RFC 1951) ເພື່ອຫຼຸດຜ່ອນການເກັບຮັກສາ (ແລະ
ດາວໂຫຼດ) ຂະຫນາດ. ໃນສະຖານະການພິເສດ, ມັນອາດຈະດີກວ່າທີ່ຈະຫຼີກເວັ້ນ
ການບີບອັດ. ໃນກໍລະນີນີ້ສາມາດນໍາໃຊ້ທາງເລືອກ `--dont-compress` (ເຊັ່ນ: ມີ `darcs
record`) ເພື່ອຫຼີກເວັ້ນການບີບອັດ.
ຄໍາສັ່ງ `darcs optimize uncompress` ແລະ `darcs optimize compress` ສາມາດໃຊ້ເພື່ອ
ໃຫ້ແນ່ໃຈວ່າ patches ທີ່ມີຢູ່ໃນ repository ປະຈຸບັນແມ່ນ uncompressed ຕາມລໍາດັບຫຼື
ຖືກບີບອັດ.
ດາກ ເພີ່ມປະສິດທິ ບີບອັດ
ໂດຍຄ່າເລີ່ມຕົ້ນຖືກບີບອັດດ້ວຍ zlib (RFC 1951) ເພື່ອຫຼຸດຜ່ອນການເກັບຮັກສາ (ແລະ
ດາວໂຫຼດ) ຂະຫນາດ. ໃນສະຖານະການພິເສດ, ມັນອາດຈະດີກວ່າທີ່ຈະຫຼີກເວັ້ນ
ການບີບອັດ. ໃນກໍລະນີນີ້ສາມາດນໍາໃຊ້ທາງເລືອກ `--dont-compress` (ເຊັ່ນ: ມີ `darcs
record`) ເພື່ອຫຼີກເວັ້ນການບີບອັດ.
ຄໍາສັ່ງ `darcs optimize uncompress` ແລະ `darcs optimize compress` ສາມາດໃຊ້ເພື່ອ
ໃຫ້ແນ່ໃຈວ່າ patches ທີ່ມີຢູ່ໃນ repository ປະຈຸບັນແມ່ນ uncompressed ຕາມລໍາດັບຫຼື
ຖືກບີບອັດ.
ດາກ ເພີ່ມປະສິດທິ ເຊື່ອມຕໍ່ຄືນໃໝ່
ຄໍາສັ່ງ 'darcs optimize relink' ແກ້ໄຂ hard-links ທີ່ repository ປະຈຸບັນມີ
ໃນທົ່ວໄປກັບມິດສະຫາຍຂອງຕົນ. Peers ແມ່ນ repositories ເຫຼົ່ານັ້ນທີ່ມີລາຍຊື່ຢູ່ໃນ
`_darcs/prefs/sources`, ຫຼືກຳນົດດ້ວຍຕົວເລືອກ `--sibling` (ເຊິ່ງສາມາດນຳໃຊ້ໄດ້.
ຫຼາຍຄັ້ງ).
Darcs ໃຊ້ hard-links ອັດຕະໂນມັດ, ດັ່ງນັ້ນຄໍາສັ່ງນີ້ບໍ່ຄ່ອຍຈໍາເປັນ. ມັນແມ່ນຫຼາຍທີ່ສຸດ
ເປັນປະໂຫຍດຖ້າທ່ານໃຊ້ 'cp -r' ແທນ 'darcs clone' ເພື່ອຄັດລອກບ່ອນເກັບມ້ຽນ, ຫຼືຖ້າທ່ານ
ດຶງ patch ດຽວກັນຈາກ repository ຫ່າງໄກສອກຫຼີກເຂົ້າໄປໃນ repositories ຫຼາຍທ້ອງຖິ່ນ.
ດາກ ເພີ່ມປະສິດທິ pristine
ຄໍາສັ່ງນີ້ປັບປຸງຮູບແບບຂອງ `_darcs/pristine.hashed/`, ເຊິ່ງແຕກຕ່າງກັນ
ກ່ອນ darcs 2.3.1.
ດາກ ເພີ່ມປະສິດທິ ຍົກລະດັບ
ແປງບ່ອນເກັບມ້ຽນແບບເກົ່າໄປເປັນຮູບແບບການແທັບເລີ່ມຕົ້ນໃນປະຈຸບັນ.
ດາກ ເພີ່ມປະສິດທິ ຖານຄວາມຈໍາ <ລະບົບ> ...
ຄໍາສັ່ງນີ້ລຶບໄຟລ໌ທີ່ລ້າສະໄຫມພາຍໃນ cache ທົ່ວໂລກ. ມັນໃຊ້ເວລາຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ
ໄດເລກະທໍລີເປັນການໂຕ້ຖຽງ, ແລະຊອກຫາ recurively repositories ທັງຫມົດພາຍໃນເຫຼົ່ານີ້
ໄດເລກະທໍລີ. ຫຼັງຈາກນັ້ນ, ມັນລຶບໄຟລ໌ທັງຫມົດໃນຖານຄວາມຈໍາທົ່ວໂລກທີ່ບໍ່ໄດ້ເປັນຂອງເຫຼົ່ານີ້
ຄັງເກັບມ້ຽນ. ເມື່ອບໍ່ມີໄດເລກະທໍລີຖືກມອບໃຫ້, ມັນຈະຊອກຫາບ່ອນເກັບມ້ຽນຢູ່ໃນເຮືອນຂອງຜູ້ໃຊ້
ລະບົບ.
ມັນຍັງຈະຍ້າຍຖານຄວາມຈໍາທົ່ວໂລກໄປເປັນຮູບແບບ bucketed (ຄ່າເລີ່ມຕົ້ນ) ໂດຍອັດຕະໂນມັດ.
ດາກ ການສ້ອມແປງ
ຄໍາສັ່ງ 'darcs repair` ພະຍາຍາມແກ້ໄຂການສໍ້ລາດບັງຫຼວງຢູ່ໃນບ່ອນເກັບມ້ຽນໃນປະຈຸບັນ.
ໃນປັດຈຸບັນມັນພຽງແຕ່ສາມາດສ້ອມແປງຄວາມເສຍຫາຍຂອງຕົ້ນໄມ້ pristine, ເຊິ່ງເປັນບ່ອນທີ່ຫຼາຍທີ່ສຸດ
ການສໍ້ລາດບັງຫຼວງເກີດຂຶ້ນ. ຄໍາ ສັ່ງ ນີ້ rebuilds ເປັນ ຕົ້ນ ໄມ້ pristine ໂດຍ ການ ນໍາ ໃຊ້ ສົບ ຜົນ ສໍາ ເລັດ ຂອງ
patches ໃນ repository ກັບຕົ້ນໄມ້ເປົ່າ.
ທຸງ `--dry-run` ເຮັດໃຫ້ການດໍາເນີນງານນີ້ອ່ານໄດ້ເທົ່ານັ້ນ, ເຮັດໃຫ້ອອກ darcs ບໍ່ສໍາເລັດ
(ມີສະຖານະການອອກທີ່ບໍ່ແມ່ນສູນ) ຖ້າ pristine ທີ່ສ້າງຂຶ້ນໃຫມ່ແມ່ນແຕກຕ່າງຈາກປະຈຸບັນ
ບໍລິສຸດ.
ດາກ ແປງ darcs-2 <ແຫຼ່ງ> [ຈຸດຫມາຍປາຍທາງ>]
ຄໍາສັ່ງນີ້ປ່ຽນ repository ທີ່ໃຊ້ patch semantics ເກົ່າ `darcs-1` ເປັນ a
ຄັງເກັບມ້ຽນໃຫມ່ທີ່ມີຄໍາສັບ "darcs-2" ໃນປັດຈຸບັນ.
ຄໍາເຕືອນ: repository ທີ່ຜະລິດໂດຍຄໍາສັ່ງນີ້ບໍ່ເຂົ້າໃຈໂດຍ Darcs 1.x, ແລະ
patches ບໍ່ສາມາດແລກປ່ຽນລະຫວ່າງ repositories ໃນຮູບແບບ darcs-1 ແລະ darcs-2.
ຍິ່ງໄປກວ່ານັ້ນ, repositories ທີ່ສ້າງຂຶ້ນໂດຍ invocations ທີ່ແຕກຕ່າງກັນຂອງຄໍາສັ່ງນີ້ບໍ່ຄວນ
ແກ້ໄຂການແລກປ່ຽນ.
ດາກ ແປງ ການສົ່ງອອກ
ຄໍາສັ່ງນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດສົ່ງອອກ darcs repositories ເຂົ້າໄປໃນ git.
ສໍາລັບການສົ່ງອອກຄັ້ງດຽວທ່ານສາມາດນໍາໃຊ້ສູດ:
$cd repo
$ git init ../mirror
$ darcs ແປງການສົ່ງອອກ | (cd ../mirror && git-ນຳເຂົ້າໄວ)
ສໍາລັບການສົ່ງອອກເພີ່ມຂຶ້ນໂດຍໃຊ້ marksfiles:
$cd repo
$ git init ../mirror
$ ແຕະ ../mirror/git.marks
$ darcs ປ່ຽນການສົ່ງອອກ --read-marks darcs.marks --write-marks darcs.marks
| (cd ../mirror && git fast-import --import-marks=git.marks
--export-marks=git.marks)
ໃນກໍລະນີຂອງການສົ່ງອອກເພີ່ມຂຶ້ນ, ໃຫ້ລະມັດລະວັງທີ່ຈະບໍ່ມີການແກ້ໄຂ, ລຶບຫຼື reorder
patches ໃນແຫຼ່ງ darcs repository.
ນອກຈາກນັ້ນ, ຈົ່ງຮູ້ວ່າການສົ່ງອອກ darcs repo ກັບ git ຈະບໍ່ຊື່ສັດຢ່າງແທ້ຈິງ
ຂໍ້ກໍານົດຂອງປະຫວັດສາດຖ້າຫາກວ່າ repository darcs ມີຂໍ້ຂັດແຍ່ງ.
ຂໍ້ຈໍາກັດ:
* ໄດເລກະທໍລີຫວ່າງເປົ່າບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນໂດຍໂປໂຕຄອນການສົ່ງອອກໄວ. * Unicode
ຊື່ໄຟລ໌ແມ່ນບໍ່ໄດ້ຖືກຈັດການຢ່າງຖືກຕ້ອງ.
ເບິ່ງ http://bugs.darcs.net/issue2359 .
ດາກ ແປງ ການນໍາເຂົ້າ [<ລະບົບ>]
ຄໍາສັ່ງນີ້ນໍາເຂົ້າ git repositories ເຂົ້າໄປໃນ repositories darcs ໃຫມ່. ທາງເລືອກເພີ່ມເຕີມ
ໄດ້ຮັບການຍອມຮັບ (ເບິ່ງ `darcs help init`).
ເພື່ອປ່ຽນ git repo ເປັນ darcs ໃໝ່ ເຈົ້າອາດຈະເອີ້ນໃຊ້:
$ (cd gitrepo && git fast-export --all) | darcs ປ່ຽນ darcsmirror ນໍາເຂົ້າ
ຄໍາເຕືອນ: git repositories ກັບສາຂາຈະໃຫ້ຜົນໄດ້ຮັບແປກ,
ໃຊ້ຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເອງ.
ບໍ່ຮອງຮັບການນຳເຂົ້າທີ່ເພີ່ມຂຶ້ນດ້ວຍ marksfiles ໃນປັດຈຸບັນ.
ດາກ ປະຕິເສດ ດຶງ [repository] ...
ຄັດລອກແລະນໍາໃຊ້ patches ຈາກ repository ອື່ນ, suspending patches ທ້ອງຖິ່ນທີ່
ການຂັດແຍ້ງ.
ດາກ ປະຕິເສດ ນໍາໃຊ້ <patchfile>
ນຳໃຊ້ຊຸດແພັກເກັດ, ໂຈະການສ້ອມແຊມທ້ອງຖິ່ນທີ່ຂັດກັນ.
ດາກ ປະຕິເສດ suspends
ເລືອກ patches ເພື່ອຍ້າຍເຂົ້າໄປໃນສະຖານະທີ່ຖືກລະງັບໃນຕອນທ້າຍຂອງ repo.
ດາກ ປະຕິເສດ ຍົກເລີກ
ແຜ່ນທີ່ເລືອກເພື່ອຟື້ນຟູຈາກສະຖານະທີ່ຖືກລະງັບໄປຈົນເຖິງຈຸດສິ້ນສຸດຂອງ repo.
ດາກ ປະຕິເສດ ລົບກວນ
ລົບລ້າງການແກ້ໄຂທີ່ຖືກລະງັບໃນປັດຈຸບັນ.
ດາກ ປະຕິເສດ log
ບອກການປ່ຽນແປງທີ່ຖືກໂຈະໃນປັດຈຸບັນ.
ENVIRONMENT
ຫນ້າທໍາອິດ ແລະ APPDATA
ການຕັ້ງຄ່າຕໍ່ຜູ້ໃຊ້ຖືກຕັ້ງຢູ່ໃນ $HOME/.darcs (ໃນ Unix) ຫຼື %APPDATA%/darcs (ໃນ Windows).
ນີ້ຍັງເປັນສະຖານທີ່ເລີ່ມຕົ້ນຂອງ cache.
DARCS_EDITOR, DARCSEDITOR, VISUAL ແລະ EDITOR
ເພື່ອແກ້ໄຂລາຍລະອຽດ patch ຂອງຄໍາເຫັນທາງອີເມລ໌, Darcs ຈະຮຽກຮ້ອງໃຫ້ບັນນາທິການພາຍນອກ. ຂອງເຈົ້າ
ຕົວແກ້ໄຂທີ່ຕ້ອງການສາມາດຕັ້ງເປັນຕົວແປສະພາບແວດລ້ອມໃດໆກໍໄດ້ $DARCS_EDITOR,
$DARCSEDITOR, $VISUAL ຫຼື $EDITOR. ຖ້າຫາກວ່າບໍ່ມີການຕັ້ງຄ່າເຫຼົ່ານີ້, ບັນນາທິການ(1) ຖືກນໍາໃຊ້.
DARCS_PAGER ແລະ ໂປແກມ
ບາງຄັ້ງ Darcs ຈະເອີ້ນ pager ຖ້າມັນເຫັນວ່າຜົນຜະລິດຍາວເກີນໄປທີ່ຈະພໍດີກັບຫນ້າຈໍ.
Darcs ຈະໃຊ້ pager ທີ່ລະບຸໂດຍ $DARCS_PAGER ຫຼື $PAGER. ຖ້າທັງສອງບໍ່ໄດ້ຕັ້ງ,
pager(1) ຈະຖືກນໍາໃຊ້.
DARCS_DONT_COLOR, DARCS_ALWAYS_COLOR, DARCS_ALTERNATIVE_COLOR ແລະ DARCS_DO_COLOR_LINES
ຖ້າ terminal ເຂົ້າໃຈລໍາດັບການຫລົບຫນີສີ ANSI, darcs ຈະເນັ້ນໃສ່ບາງອັນ
ຄໍາສໍາຄັນແລະຕົວກໍານົດຂອບເຂດໃນເວລາທີ່ພິມ patches. ນີ້ສາມາດປິດໄດ້ໂດຍການຕັ້ງຄ່າ
ຕົວແປສະພາບແວດລ້ອມ DARCS_DONT_COLOR ເປັນ 1. ຖ້າທ່ານໃຊ້ pager ທີ່ຈະເຂົ້າໃຈ
ສີ ANSI, ເຊັ່ນ: ຫນ້ອຍ -R, darcs ສາມາດຖືກບັງຄັບໃຫ້ເນັ້ນໃສ່ຜົນໄດ້ຮັບໂດຍການຕັ້ງຄ່າ
DARCS_ALWAYS_COLOR ເປັນ 1. ຖ້າທ່ານບໍ່ສາມາດເຫັນສີໄດ້ ທ່ານສາມາດຕັ້ງ DARCS_ALTERNATIVE_COLOR ເປັນ 1,
ແລະ darcs ຈະໃຊ້ລະຫັດ ANSI ສໍາລັບວິດີໂອທີ່ກ້າຫານ ແລະແບບປີ້ນກັບກັນ ແທນທີ່ຈະເປັນສີ. ເພີ່ມເຕີມ,
ມີຮູບແບບສີພິເສດ, ເຊິ່ງບໍ່ໄດ້ຖືກເປີດນໍາໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ, ທີ່ສາມາດໄດ້ຮັບການເປີດໃຊ້ໄດ້
ກັບ DARCS_DO_COLOR_LINES
DARCS_DONT_ESCAPE_TRAILING_SPACES ແລະ DARCS_DONT_ESCAPE_TRAILING_CR
ໂດຍຄ່າເລີ່ມຕົ້ນ darcs ຈະຫລົບຫນີ (ໂດຍການເນັ້ນໃສ່ຖ້າເປັນໄປໄດ້) ປະເພດໃດນຶ່ງໃນທ້າຍ
ຂອງເສັ້ນໃນເວລາທີ່ສະແດງເນື້ອໃນ patch. ຖ້າຫາກວ່າທ່ານບໍ່ຕ້ອງການນີ້, ທ່ານສາມາດປິດມັນໂດຍ
ຕັ້ງຄ່າ DARCS_DONT_ESCAPE_TRAILING_SPACES ເປັນ 1. ມີກໍລະນີພິເສດສຳລັບການຂົນສົ່ງເທົ່ານັ້ນ
ຜົນຕອບແທນ: DARCS_DONT_ESCAPE_TRAILING_CR
DARCS_DONT_ESCAPE_ANYTHING, DARCS_DONT_ESCAPE_ISPRINT, DARCS_DONT_ESCAPE_8BIT,
DARCS_DONT_ESCAPE_EXTRA ແລະ DARCS_ESCAPE_EXTRA
Darcs ຈໍາເປັນຕ້ອງໄດ້ຫລົບຫນີບາງຕົວອັກສອນໃນເວລາທີ່ພິມເນື້ອໃນ patch ກັບ terminal.
ລັກສະນະເຊັ່ນ backspace ຖ້າບໍ່ດັ່ງນັ້ນສາມາດເຊື່ອງເນື້ອໃນ patch ຈາກຜູ້ໃຊ້, ແລະອື່ນໆ
ລໍາດັບລັກສະນະສາມາດເຖິງແມ່ນວ່າໃນບາງກໍລະນີ redirect ຄໍາສັ່ງກັບ shell ຖ້າ terminal
ອະນຸຍາດໃຫ້ມັນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ darcs ຈະອະນຸຍາດໃຫ້ພິມໄດ້ພຽງແຕ່ຕົວອັກສອນ ASCII 7-bit (ລວມທັງພື້ນທີ່), ແລະ
ແຖບຕົວຄວບຄຸມສອງຕົວ ແລະແຖວໃໝ່. octets ອື່ນໆທັງຫມົດແມ່ນພິມໃນຮູບແບບທີ່ອ້າງອີງ
(ເປັນ `^ ` ຫຼື `\ `).
Darcs ມີການສະຫນັບສະຫນູນທີ່ຈໍາກັດບາງຢ່າງສໍາລັບທ້ອງຖິ່ນ. ຖ້າທ້ອງຖິ່ນຂອງລະບົບເປັນໄບຕ໌ດຽວ
ການເຂົ້າລະຫັດຕົວອັກສອນ, ຄືກັບການເຂົ້າລະຫັດພາສາລະຕິນ, ທ່ານສາມາດຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມໄດ້
DARCS_DONT_ESCAPE_ISPRINT ເປັນ 1 ແລະ darcs ຈະສະແດງທຸກສິ່ງທີ່ພິມໄດ້ໃນປະຈຸບັນ
ລະບົບທ້ອງຖິ່ນແທນທີ່ຈະເປັນພຽງແຕ່ ASCII ເທົ່ານັ້ນ. ຫມາຍເຫດ: ໃນປັດຈຸບັນນີ້ບໍ່ໄດ້ເຮັດວຽກກ່ຽວກັບບາງ
ສະຖາປັດຕະຍະກໍາຖ້າ darcs ຖືກລວບລວມດ້ວຍ GHC 6.4 ຫຼືຫຼັງຈາກນັ້ນ. ບາງການຄວບຄຸມທີ່ບໍ່ແມ່ນ ASCII
ຕົວອັກສອນອາດຈະຖືກພິມອອກ ແລະອາດຈະປອມຕົວເຄື່ອງ.
ສໍາລັບການເຂົ້າລະຫັດຕົວອັກສອນຫຼາຍໄບຕ໌, ສິ່ງຕ່າງໆແມ່ນກ້ຽງຫນ້ອຍລົງ. UTF-8 ຈະເຮັດວຽກຖ້າທ່ານຕັ້ງ
DARCS_DONT_ESCAPE_8BIT ເປັນ 1, ແຕ່ບໍ່ສາມາດພິມໄດ້ນອກຂອບເຂດ ASCII 7-bit ແມ່ນບໍ່
ໜີໄປອີກແລ້ວ. ຕົວຢ່າງ: ຕົວອັກສອນຄວບຄຸມພິເສດຈາກພາສາລາຕິນ-1 ອາດຈະອອກຈາກສະຖານີຂອງທ່ານ
ໃນຄວາມເມດຕາຂອງເນື້ອໃນ patch ໄດ້. ຕົວອັກສອນຍະຫວ່າງນອກຂອບເຂດ ASCII 7-bit ແມ່ນບໍ່ມີ
ຮັບຮູ້ໄດ້ດົນກວ່າ ແລະຈະບໍ່ຖືກຫລົບໜີຢ່າງຖືກຕ້ອງຢູ່ປາຍແຖວ.
ເປັນທາງເລືອກສຸດທ້າຍ, ທ່ານສາມາດຕັ້ງ DARCS_DONT_ESCAPE_ANYTHING ເປັນ 1. ຫຼັງຈາກນັ້ນ, ທຸກສິ່ງທຸກຢ່າງທີ່ບໍ່ໄດ້
ຊຸດລະຫັດ flip ຄວນໃຊ້ໄດ້, ແລະດັ່ງນັ້ນຈະທັງຫມົດລະຄັງແລະ whistles ໃນ terminal ຂອງທ່ານ. ນີ້
ຕົວແປສະພາບແວດລ້ອມຍັງສາມາດເປັນປະໂຫຍດຖ້າທ່ານທໍ່ຜົນຜະລິດໄປຫາ pager ຫຼືພາຍນອກ
ການກັ່ນຕອງທີ່ຮູ້ດີກວ່າ darcs ວິທີການຈັດການກັບການເຂົ້າລະຫັດຂອງທ່ານ. ໃຫ້ສັງເກດວ່າການຫລົບຫນີທັງຫມົດ,
ລວມທັງການຫລົບຫນີພິເສດຂອງຊ່ອງສິ້ນສຸດເສັ້ນໃດໆ, ຈະຖືກປິດໂດຍນີ້
ຕັ້ງ.
ມີສອງຕົວແປສະພາບແວດລ້ອມທີ່ທ່ານສາມາດກໍານົດຢ່າງຈະແຈ້ງບອກ darcs ບໍ່ໃຫ້ຫນີຫຼື
ໜີ octets. ພວກເຂົາແມ່ນ DARCS_DONT_ESCAPE_EXTRA ແລະ DARCS_ESCAPE_EXTRA. ຄຸນຄ່າຂອງພວກເຂົາ
ຄວນເປັນສາຍທີ່ປະກອບດ້ວຍ octets verbatim ໃນຄໍາຖາມ. ການ do-escapes ເອົາ
ເໜືອກວ່າການບໍ່ໜີ. ຕົວອັກສອນຊ່ອງຍັງຖືກຫລົບຫນີຢູ່ປາຍແຖວ
ເຖິງແມ່ນວ່າ. ຕົວປ່ຽນແປງສະພາບແວດລ້ອມພິເສດ DARCS_DONT_ESCAPE_TRAILING_CR ປິດການຫລົບຫນີ
ຂອງການກັບຄືນ carriage ສຸດເສັ້ນ (ແບບ DOS).
DARCS_TMPDIR ແລະ TMPDIR
Darcs ມັກຈະສ້າງໄດເລກະທໍລີຊົ່ວຄາວ. ຕົວຢ່າງ, ຄໍາສັ່ງ 'darcs diff' ສ້າງ
ສອງສໍາລັບຕົ້ນໄມ້ທີ່ເຮັດວຽກທີ່ຈະແຕກຕ່າງກັນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄດເລກະທໍລີຊົ່ວຄາວຖືກສ້າງຂື້ນໃນ
/ tmp, ຫຼືວ່າບໍ່ມີ, ໃນ _darcs (ພາຍໃນ repo ປະຈຸບັນ). ນີ້ສາມາດເປັນ
overridden ໂດຍລະບຸບາງໄດເລກະທໍລີອື່ນໃນໄຟລ໌ _darcs/prefs/tmpdir ຫຼື
ຕົວແປສະພາບແວດລ້ອມ $DARCS_TMPDIR ຫຼື $TMPDIR.
DARCS_KEEP_TMPDIR
ຖ້າຕົວແປສະພາບແວດລ້ອມ DARCS_KEEP_TMPDIR ຖືກກໍານົດ, darcs ຈະບໍ່ເອົາອອກ
ໄດເລກະທໍລີຊົ່ວຄາວທີ່ມັນສ້າງ. ນີ້ແມ່ນຈຸດປະສົງຕົ້ນຕໍສໍາລັບການ debugging Darcs ຕົວຂອງມັນເອງ,
ແຕ່ມັນຍັງສາມາດເປັນປະໂຫຍດ, ສໍາລັບການຍົກຕົວຢ່າງ, ເພື່ອກໍານົດວ່າເປັນຫຍັງຄວາມຕ້ອງການການທົດສອບຂອງທ່ານ (ເບິ່ງ `darcs
setpref`) ລົ້ມເຫລວໃນເວລາທີ່ທ່ານແລ່ນ 'darcs record`, ແຕ່ເຮັດວຽກໃນເວລາແລ່ນດ້ວຍຕົນເອງ.
DARCS_EMAIL ແລະ ອີເມວ
ແຕ່ລະ patch ແມ່ນຫມາຍເຖິງຜູ້ຂຽນຂອງມັນ, ໂດຍປົກກະຕິໂດຍທີ່ຢູ່ອີເມວ (ຕົວຢ່າງ, `Fred
ບລັອກfred@example.net>`). Darcs ຊອກຫາຢູ່ໃນຫຼາຍບ່ອນສໍາລັບສາຍຜູ້ຂຽນນີ້: the
ທາງເລືອກ `--author`, ໄຟລ໌ `_darcs/prefs/author` (ຢູ່ໃນບ່ອນເກັບມ້ຽນ) ແລະ
`~/.darcs/author` (ຢູ່ໃນໄດເລກະທໍລີເຮືອນຂອງເຈົ້າ), ແລະຕົວແປສະພາບແວດລ້ອມ `$DARCS_EMAIL`
ແລະ `$EMAIL`. ຖ້າບໍ່ມີອັນໃດອັນນັ້ນ, Darcs ຈະບອກທ່ານໃຫ້ຂຽນຂໍ້ຄວາມ ແລະ
ຂຽນມັນໃສ່ `~/.darcs/author`. ໃຫ້ສັງເກດວ່າຖ້າທ່ານມີຫຼາຍກວ່າຫນຶ່ງທີ່ຢູ່ອີເມວ, ທ່ານສາມາດເຮັດໄດ້
ເອົາພວກມັນທັງຫມົດເຂົ້າໄປໃນ `~/.darcs/author`, ຫນຶ່ງຜູ້ຂຽນຕໍ່ແຖວ. Darcs ຍັງຈະເຕືອນທ່ານ
ຜູ້ຂຽນ, ແຕ່ມັນອະນຸຍາດໃຫ້ທ່ານສາມາດເລືອກຈາກບັນຊີລາຍຊື່, ຫຼືພິມເປັນທາງເລືອກ.
ສົ່ງ
ໃນ Unix, ຄໍາສັ່ງ 'darcs send` ແມ່ນຂຶ້ນກັບ mailmail(8). `--sendmail-command` ຫຼື
ຕົວແປສະພາບແວດລ້ອມ $SENDMAIL ສາມາດໃຊ້ເພື່ອສະໜອງເສັ້ນທາງທີ່ຊັດເຈນໃຫ້ກັບໂປຣແກຣມນີ້;
ຖ້າບໍ່ດັ່ງນັ້ນສະຖານທີ່ມາດຕະຖານ /usr/sbin/sendmail ແລະ /usr/lib/sendmail ຈະຖືກພະຍາຍາມ.
DARCS_SLOPPY_LOCKS
ຖ້າຢູ່ໃນບາງລະບົບໄຟລ໌ທີ່ທ່ານໄດ້ຮັບຄວາມຜິດພາດປະເພດ:
darcs: takeLock [... ]: atomic_create [... ]: ການດໍາເນີນງານທີ່ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນ
ທ່ານອາດຈະຕ້ອງການພະຍາຍາມສົ່ງອອກ DARCS_SLOPPY_LOCKS=True.
DARCS_SSH
repositories ຂອງແບບຟອມ [user@]host:[dir] ຖືກນໍາໄປເປັນ repositories ຫ່າງໄກສອກຫຼີກ, ເຊິ່ງ
Darcs ເຂົ້າເຖິງກັບໂຄງການພາຍນອກ ssh(1).
ຕົວແປສະພາບແວດລ້ອມ $DARCS_SSH ສາມາດໃຊ້ເພື່ອລະບຸລູກຂ່າຍ SSH ທາງເລືອກອື່ນ.
ການໂຕ້ຖຽງອາດຈະຖືກລວມເຂົ້າ, ແຍກອອກໂດຍຊ່ອງຫວ່າງ. ມູນຄ່າບໍ່ໄດ້ຖືກຕີຄວາມຫມາຍໂດຍ a
shell, ດັ່ງນັ້ນການກໍ່ສ້າງ shell ບໍ່ສາມາດຖືກນໍາໃຊ້; ໂດຍສະເພາະ, ມັນເປັນໄປບໍ່ໄດ້ສໍາລັບ
ຊື່ໂຄງການທີ່ຈະບັນຈຸຊ່ອງຫວ່າງໂດຍການໃຊ້ວົງຢືມຫຼື escaping.
DARCS_SCP ແລະ DARCS_SFTP
ເມື່ອອ່ານຈາກບ່ອນເກັບມ້ຽນທາງໄກ, Darcs ຈະພະຍາຍາມເປີດ 'ໂໝດໂອນຍ້າຍ darcs'
ເຈົ້າພາບຫ່າງໄກສອກຫຼີກ. ນີ້ຈະລົ້ມເຫລວຖ້າຫາກວ່າເຈົ້າພາບທາງໄກມີພຽງແຕ່ການຕິດຕັ້ງ Darcs 1, ບໍ່
ມີການຕິດຕັ້ງ Darcs ທັງຫມົດ, ຫຼືພຽງແຕ່ອະນຸຍາດໃຫ້ SFTP.
ຖ້າໂຫມດການໂອນຍ້າຍລົ້ມເຫລວ, Darcs ຈະກັບຄືນມາ scp(1) ແລະ sftp(1). ຄໍາສັ່ງທີ່ເອີ້ນວ່າ
ສາມາດປັບແຕ່ງໄດ້ດ້ວຍຕົວແປສະພາບແວດລ້ອມ $DARCS_SCP ແລະ $DARCS_SFTP ຕາມລໍາດັບ,
ເຊິ່ງປະຕິບັດຕົວຄືກັບ $DARCS_SSH. ຖ້າຫ່າງໄກສອກຫຼີກອະນຸຍາດໃຫ້ພຽງແຕ່ sftp, ລອງຕັ້ງຄ່າ
DARCS_SCP=sftp.
SSH_PORT
ຖ້າຕົວແປສະພາບແວດລ້ອມນີ້ຖືກຕັ້ງ, ມັນຈະຖືກນໍາໃຊ້ເປັນຫມາຍເລກພອດສໍາລັບການໂທ SSH ທັງຫມົດ
ເຮັດໂດຍ Darcs (ເມື່ອເຂົ້າເຖິງ repositories ຫ່າງໄກສອກຫຼີກຜ່ານ SSH). ນີ້ເປັນປະໂຫຍດຖ້າ SSH ຂອງທ່ານ
ເຊີບເວີບໍ່ແລ່ນຢູ່ໃນພອດເລີ່ມຕົ້ນ, ແລະລູກຄ້າ SSH ຂອງທ່ານບໍ່ຮອງຮັບ
ssh_config(5). ຜູ້ໃຊ້ OpenSSH ອາດຈະມັກໃສ່ບາງສິ່ງບາງຢ່າງເຊັ່ນ: "Host
*.example.net Port 443` ເຂົ້າໄປໃນພວກມັນ ~ / .ssh / config ຍື່ນ.
HTTP_PROXY, HTTPS_PROXY, FTP_PROXY, ALL_PROXY ແລະ NO_PROXY
ຖ້າ Darcs ຖືກສ້າງຂຶ້ນດ້ວຍ libcurl, ຕົວແປສະພາບແວດລ້ອມແມ່ນ HTTP_PROXY, HTTPS_PROXY ແລະ.
FTP_PROXY ສາມາດຖືກຕັ້ງເປັນ URL ຂອງພຣັອກຊີໃນຮູບແບບ
[ພິທີການ: //] [:ພອດ]
ໃນກໍລະນີນີ້ libcurl ຈະໃຊ້ຕົວແທນສໍາລັບໂປໂຕຄອນທີ່ກ່ຽວຂ້ອງ (HTTP, HTTPS ແລະ
FTP). ຕົວແປສະພາບແວດລ້ອມ ALL_PROXY ສາມາດໃຊ້ເພື່ອຕັ້ງຄ່າພຣັອກຊີດຽວສຳລັບ libcurl ທັງໝົດ
ການຮ້ອງຂໍ.
ຖ້າຕົວແປສະພາບແວດລ້ອມ NO_PROXY ແມ່ນລາຍຊື່ໂຮສທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ, ໃຫ້ເຂົ້າເຖິງ
ເຈົ້າພາບເຫຼົ່ານັ້ນຈະຂ້າມຕົວແທນທີ່ກໍານົດໂດຍຕົວແປຂ້າງເທິງ. ຕົວຢ່າງ, ມັນແມ່ນຂ້ອນຂ້າງ
ທົ່ວໄປເພື່ອຫຼີກເວັ້ນການຮ້ອງຂໍຕົວແທນກັບເຄື່ອງຈັກໃນເຄືອຂ່າຍທ້ອງຖິ່ນທີ່ມີ
NO_PROXY=localhost,*.localdomain
ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບ lynx et al, ຕົວພິມນ້ອຍທຽບເທົ່າຂອງຕົວແປສະພາບແວດລ້ອມເຫຼົ່ານີ້
(ເຊັ່ນ $http_proxy) ຍັງເຂົ້າໃຈໄດ້ ແລະຖືກໃຊ້ໃນຄວາມມັກຂອງຕົວພິມໃຫຍ່
ຮຸ່ນ
ຖ້າ Darcs ບໍ່ໄດ້ຖືກສ້າງຂຶ້ນດ້ວຍ libcurl, ຕົວແປສະພາບແວດລ້ອມທັງຫມົດເຫຼົ່ານີ້ຖືກລະເລີຍຢ່າງງຽບໆ,
ແລະບໍ່ມີວິທີທີ່ຈະໃຊ້ພຣັອກຊີເວັບ.
DARCS_PROXYUSERPWD
ຖ້າ Darcs ຖືກສ້າງຂຶ້ນດ້ວຍ libcurl, ແລະທ່ານກໍາລັງໃຊ້ຕົວແທນເວັບທີ່ຕ້ອງການ
ການກວດສອບຄວາມຖືກຕ້ອງ, ທ່ານສາມາດຕັ້ງຕົວແປສະພາບແວດລ້ອມ $DARCS_PROXYUSERPWD ເປັນຊື່ຜູ້ໃຊ້.
ແລະລະຫັດຜ່ານທີ່ຄາດໄວ້ໂດຍພຣັອກຊີ, ແຍກດ້ວຍຈໍ້າສອງເມັດ. ຕົວແປສະພາບແວດລ້ອມນີ້ແມ່ນ
ບໍ່ສົນໃຈຢ່າງງຽບໆຖ້າ Darcs ບໍ່ໄດ້ສ້າງຂຶ້ນດ້ວຍ libcurl.
DARCS_GET_FOO ແລະ DARCS_APPLY_FOO
ໃນເວລາທີ່ພະຍາຍາມທີ່ຈະເຂົ້າເຖິງ repository ທີ່ມີ URL ເລີ່ມຕົ້ນ foo://, darcs ຈະຮຽກຮ້ອງໃຫ້ມີ
ໂປຣແກຣມທີ່ກຳນົດໄວ້ໂດຍຕົວແປສະພາບແວດລ້ອມ DARCS_GET_FOO (ຖ້າກຳນົດ) ເພື່ອດາວໂຫລດແຕ່ລະອັນ
ໄຟລ໌, ແລະຄໍາສັ່ງທີ່ລະບຸໄວ້ໂດຍຕົວແປສະພາບແວດລ້ອມ DARCS_APPLY_FOO (ຖ້າກໍານົດ)
ເມື່ອກົດໄປທີ່ foo:// URL.
ວິທີການນີ້ overrides ວິທີການອື່ນໆທັງຫມົດຂອງການໄດ້ຮັບ URLs `foo://xxx`.
ໃຫ້ສັງເກດວ່າແຕ່ລະຄໍາສັ່ງຄວນໄດ້ຮັບການກໍ່ສ້າງເພື່ອໃຫ້ມັນສົ່ງເນື້ອຫາທີ່ດາວໂຫລດມາ
STDOUT, ແລະການໂຕ້ຖຽງຕໍ່ໄປກັບມັນຄວນຈະເປັນ URL. ນີ້ແມ່ນບາງຕົວຢ່າງທີ່ຄວນ
ເຮັດວຽກສໍາລັບ DARCS_GET_HTTP:
ເອົາ -q -o -
curl -s -f
lynx -source
wget -q -O -
ນອກ ເໜືອ ຈາກຕົວຢ່າງຂອງຫຼິ້ນດັ່ງກ່າວ, ມັນເປັນໄປໄດ້ວ່າເຈົ້າຈະຕ້ອງໃຊ້ການໂຕ້ຖຽງ
ກ່ອນທີ່ຈະສົ່ງມັນໄປຫາໂຄງການ fetcher ຕົວຈິງ. ສໍາລັບຕົວຢ່າງ, ພິຈາລະນາບັນຫາຂອງ
ໄດ້ຮັບການອ່ານການເຂົ້າເຖິງ repository ກ່ຽວກັບການແບ່ງປັນ CIFS (SMB) ໂດຍບໍ່ມີການຕິດຕັ້ງສິດທິ:
ສົ່ງອອກ DARCS_GET_SMB='smbclient -c get'
darcs ໄດ້ຮັບ smb://fs/twb/Desktop/hello-world
ຄໍາສັ່ງຂ້າງເທິງຈະບໍ່ເຮັດວຽກສໍາລັບເຫດຜົນຫຼາຍ. ກ່ອນອື່ນ ໝົດ, Darcs ຈະຜ່ານມັນ
ການໂຕ້ຖຽງທີ່ເລີ່ມຕົ້ນດ້ວຍ `smb:`, ເຊິ່ງ smbclient ບໍ່ເຂົ້າໃຈ. ອັນທີສອງ, ເຈົ້າພາບ
ແລະແບ່ງປັນ `//fs/twb` ຕ້ອງໄດ້ຮັບການນໍາສະເຫນີເປັນການໂຕ້ຖຽງແຍກຕ່າງຫາກໄປຫາເສັ້ນທາງ
`Desktop/hello-world`. ອັນທີສາມ, smbclient ຮຽກຮ້ອງໃຫ້ 'get' ແລະເສັ້ນທາງເປັນອັນດຽວ
argument (ລວມທັງຊ່ອງ), ແທນທີ່ຈະເປັນສອງ argument ແຍກຕ່າງຫາກ. ສຸດທ້າຍ, smbclient's
ຄໍາສັ່ງ `get` ຂຽນໄຟລ໌ໃສ່ແຜ່ນ, ໃນຂະນະທີ່ Darcs ຄາດຫວັງວ່າມັນຖືກພິມອອກເປັນມາດຕະຖານ
ຜົນຜະລິດ.
ໃນຫຼັກການ, ພວກເຮົາສາມາດແກ້ໄຂບັນຫາດັ່ງກ່າວໄດ້ໂດຍການເຮັດໃຫ້ຕົວແປມີແກະ
script, ແຕ່ຫນ້າເສຍດາຍ, Darcs ແຍກຄໍາສັ່ງຢູ່ໃນຊ່ອງຫວ່າງແລະບໍ່ເຂົ້າໃຈ
ວົງຢືມຫຼືການຫລົບຫນີ. ດັ່ງນັ້ນ, ພວກເຮົາແທນທີ່ຈະຕ້ອງການໃສ່ຄໍາສັ່ງແຍກຕ່າງຫາກ, ສາມາດປະຕິບັດໄດ້
ອັກສອນ.
ສືບຕໍ່ຕົວຢ່າງ smbclient ຂອງພວກເຮົາ, ພວກເຮົາສ້າງ script ທີ່ສາມາດປະຕິບັດໄດ້
`~/.darcs/libexec/get_smbໂດຍມີເນື້ອໃນດັ່ງນີ້:
#!/ bin / bash -e
IFS=/ ອ່ານໄຟລ໌ແບ່ງປັນເຈົ້າພາບ <<<'${1#smb://}'
smbclient //$host/$share -c 'ຮັບ $file -'
ແລະສຸດທ້າຍພວກເຮົາສາມາດເວົ້າໄດ້
ສົ່ງອອກ DARCS_GET_SMB=~/.darcs/libexec/get_smb
darcs ໄດ້ຮັບ smb://fs/twb/Desktop/hello-world
ຄໍາສັ່ງ APPLY ຈະຖືກເອີ້ນດ້ວຍ darcs patchfile ທໍ່ເຂົ້າໄປໃນວັດສະດຸປ້ອນມາດຕະຖານຂອງມັນ.
DARCS_CONNECTION_TIMEOUT
ກໍານົດເວລາສູງສຸດເປັນວິນາທີທີ່ darcs ອະນຸຍາດໃຫ້ແລະການເຊື່ອມຕໍ່ໃຊ້ເວລາ. ຖ້າຕົວແປ
ບໍ່ໄດ້ລະບຸໄວ້ໃນຕອນຕົ້ນແມ່ນ 30 ວິນາທີ. ທາງເລືອກນີ້ພຽງແຕ່ເຮັດວຽກກັບ curl.
ໃຊ້ darcs ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net