darcs - ອອນລາຍໃນຄລາວ

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



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌