ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

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

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

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

ໂຄງການ:

NAME


hg - ລະບົບການຈັດການລະຫັດແຫຼ່ງ Mercurial

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


hg ຄໍາສັ່ງ [ທາງເລືອກ]... [ການໂຕ້ຖຽງ] ...

ລາຍລະອຽດ


ໄດ້ hg ຄໍາສັ່ງສະຫນອງການໂຕ້ຕອບເສັ້ນຄໍາສັ່ງກັບລະບົບ Mercurial.

ຄໍາສັ່ງ ອົງປະກອບ


ແຟ້ມ ...
ຊີ້ບອກໜຶ່ງ ຫຼືຫຼາຍຊື່ໄຟລ໌ ຫຼືຊື່ໄຟລ໌ເສັ້ນທາງທີ່ກ່ຽວຂ້ອງ; ເບິ່ງຮູບແບບຊື່ໄຟລ໌
ສໍາລັບຂໍ້ມູນກ່ຽວກັບການຈັບຄູ່ຮູບແບບ

ເສັ້ນທາງ ຊີ້ບອກເສັ້ນທາງໃນເຄື່ອງທ້ອງຖິ່ນ

ການແກ້ໄຂ
ຊີ້ບອກຊຸດການປ່ຽນແປງທີ່ສາມາດລະບຸໄດ້ເປັນຕົວເລກການແກ້ໄຂຊຸດການປ່ຽນແປງ, ແທັກ,
ຫຼືສະຕຣິງຍ່ອຍທີ່ເປັນເອກະລັກຂອງຄ່າ hash ຂອງຊຸດການປ່ຽນແປງ

repository ເສັ້ນທາງ
ທັງຊື່ເສັ້ນທາງຂອງບ່ອນເກັບມ້ຽນທ້ອງຖິ່ນ ຫຼື URI ຂອງບ່ອນເກັບມ້ຽນທາງໄກ.

OPTIONS


-R,--repository
repository root directory ຫຼືຊື່ຂອງ overlay bundle file

--cwd
ປ່ຽນໄດເລກະທໍລີທີ່ເຮັດວຽກ

-y, -- ບໍ່ໂຕ້ຕອບ
ຢ່າກະຕຸ້ນເຕືອນ, ເລືອກຕົວເລືອກທໍາອິດໂດຍອັດຕະໂນມັດສໍາລັບການເຕືອນທັງຫມົດ

-q, --ງຽບ
ສະກັດກັ້ນຜົນຜະລິດ

- ໃນ​, -- verbose
ເປີດໃຊ້ຜົນຜະລິດເພີ່ມເຕີມ

--config
set/override config option (ໃຊ້ 'section.name=value')

--debug
ເປີດໃຊ້ການແກ້ໄຂຜົນອອກມາ

--debugger
ເລີ່ມດີບັກ

--ການເຂົ້າລະຫັດ
ຕັ້ງຄ່າການເຂົ້າລະຫັດຊຸດຕົວອັກສອນ (ຄ່າເລີ່ມຕົ້ນ: UTF-8)

-- ໂໝດເຂົ້າລະຫັດ
ຕັ້ງຄ່າຮູບແບບການເຂົ້າລະຫັດ charset (ຄ່າເລີ່ມຕົ້ນ: ເຄັ່ງຄັດ)

-- ຕິດຕາມ
ພິມ traceback ສະເຫມີກ່ຽວກັບຂໍ້ຍົກເວັ້ນ

--ເວລາ ເວລາດົນປານໃດຄໍາສັ່ງໃຊ້ເວລາ

--ໂປຣໄຟລ໌
ພິມໂປຣໄຟລ໌ການປະຕິບັດຄໍາສັ່ງ

- ການປ່ຽນແປງ
ຜົນຜະລິດສະບັບຂໍ້ມູນແລະອອກ

-ຊ, - ຊ່ວຍ
ສະແດງການຊ່ວຍເຫຼືອແລະອອກ

-- ເຊື່ອງໄວ້
ພິຈາລະນາການປ່ຽນແປງທີ່ເຊື່ອງໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ສາມາດ


ເພີ່ມ
ເພີ່ມໄຟລ໌ທີ່ລະບຸໄວ້ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ:

hg ເພີ່ມ [OPTION]... [FILE]...

ກຳນົດເວລາໄຟລ໌ທີ່ຈະຄວບຄຸມເວີຊັນ ແລະເພີ່ມໃສ່ບ່ອນເກັບມ້ຽນ.

ໄຟລ໌ດັ່ງກ່າວຈະຖືກເພີ່ມໃສ່ບ່ອນເກັບມ້ຽນໃນກອງປະຊຸມຕໍ່ໄປ. ເພື່ອຍົກເລີກການເພີ່ມກ່ອນໜ້ານັ້ນ,
ເບິ່ງ hg ລືມ.

ຖ້າບໍ່ມີຊື່, ໃຫ້ເພີ່ມໄຟລ໌ທັງໝົດໃສ່ບ່ອນເກັບມ້ຽນ (ຍົກເວັ້ນໄຟລ໌ທີ່ກົງກັນ .ບໍ່ສົນໃຈ).

ຕົວຢ່າງ:

· ໄຟລ໌ໃໝ່ (ບໍ່ຮູ້ຈັກ) ຖືກເພີ່ມໂດຍອັດຕະໂນມັດໂດຍ hg ເພີ່ມ:

$ ລ
foo.c
$ hg ສະຖານະພາບ
? foo.c
$ hg ເພີ່ມ
ເພີ່ມ foo.c
$ hg ສະຖານະພາບ
A foo.c

· ໄຟລ໌ສະເພາະທີ່ຈະເພີ່ມສາມາດລະບຸໄດ້:

$ ລ
bar.c foo.c
$ hg ສະຖານະພາບ
? bar.c
? foo.c
$hg ເພີ່ມ bar.c
$ hg ສະຖານະພາບ
A bar.c
? foo.c

ຕອບ 0 ຖ້າໄຟລ໌ທັງໝົດຖືກເພີ່ມສຳເລັດ.

ຕົວເລືອກ:

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ລົບອອກ
ເພີ່ມໄຟລ໌ໃຫມ່ທັງຫມົດ, ລຶບໄຟລ໌ທີ່ຂາດຫາຍໄປທັງຫມົດ:

hg addremove [OPTION]... [FILE]...

ເພີ່ມໄຟລ໌ໃໝ່ທັງໝົດ ແລະລຶບໄຟລ໌ທີ່ຂາດຫາຍໄປທັງໝົດອອກຈາກບ່ອນເກັບມ້ຽນ.

ເວັ້ນເສຍແຕ່ຈະລະບຸຊື່, ໄຟລ໌ໃຫມ່ຈະຖືກລະເວັ້ນຖ້າພວກມັນກົງກັບຮູບແບບໃດນຶ່ງໃນ
.ບໍ່ສົນໃຈ. ເຊັ່ນດຽວກັນກັບການເພີ່ມ, ການປ່ຽນແປງເຫຼົ່ານີ້ມີຜົນຢູ່ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ.

ໃຊ້ຕົວເລືອກ -s/-- ຄວາມຄ້າຍຄືກັນເພື່ອກວດຫາໄຟລ໌ທີ່ຖືກປ່ຽນຊື່. ຕົວເລືອກນີ້ໃຊ້ເວລາເປີເຊັນ
ລະຫວ່າງ 0 (ປິດການໃຊ້ງານ) ແລະ 100 (ໄຟລ໌ຕ້ອງຄືກັນ) ເປັນພາລາມິເຕີຂອງມັນ. ດ້ວຍຕົວກໍານົດການ
ໃຫຍ່ກວ່າ 0, ນີ້ປຽບທຽບທຸກໄຟລ໌ທີ່ລຶບອອກກັບທຸກໄຟລ໌ທີ່ເພີ່ມເຂົ້າ ແລະບັນທຶກໄຟລ໌ເຫຼົ່ານັ້ນ
ຄືກັນກັບການປ່ຽນຊື່. ການກວດຫາໄຟລ໌ທີ່ຖືກປ່ຽນຊື່ດ້ວຍວິທີນີ້ສາມາດມີລາຄາແພງ. ຫຼັງ​ຈາກ​ການ​ນໍາ​ໃຊ້​
ທາງ​ເລືອກ​ນີ້​, hg ສະຖານະພາບ -C ສາມາດໃຊ້ເພື່ອກວດເບິ່ງວ່າໄຟລ໌ໃດຖືກລະບຸວ່າຖືກຍ້າຍ ຫຼື
ປ່ຽນຊື່. ຖ້າບໍ່ໄດ້ລະບຸ, -s/-- ຄວາມຄ້າຍຄືກັນຈະເລີ່ມຕົ້ນເປັນ 100 ແລະພຽງແຕ່ປ່ຽນຊື່ທີ່ຄືກັນ.
ໄຟລ໌ຖືກກວດພົບ.

ຕົວຢ່າງ:

·ຈໍານວນຂອງໄຟລ໌ (bar.c ແລະ foo.c) ແມ່ນໃຫມ່, ໃນຂະນະທີ່ foobar.c ໄດ້ຖືກໂຍກຍ້າຍອອກ (ໂດຍບໍ່ມີການ
ການນໍາໃຊ້ hg ເອົາ) ຈາກ repository:

$ ລ
bar.c foo.c
$ hg ສະຖານະພາບ
! foobar.c
? bar.c
? foo.c
$ hg addremove
ເພີ່ມ bar.c
ເພີ່ມ foo.c
ຖອນ foobar.c
$ hg ສະຖານະພາບ
A bar.c
A foo.c
R foobar.c

· ໄຟລ໌ foobar.c ຖືກຍ້າຍໄປທີ່ foo.c ໂດຍບໍ່ຕ້ອງໃຊ້ hg ປ່ຽນຊື່. ຫຼັງຈາກນັ້ນ, ມັນແມ່ນ
ດັດແກ້ເລັກນ້ອຍ:

$ ລ
foo.c
$ hg ສະຖານະພາບ
! foobar.c
? foo.c
$ hg addremove --similarity 90
ຖອນ foobar.c
ເພີ່ມ foo.c
ການ​ບັນ​ທຶກ​ການ​ລົບ foobar.c ເປັນ​ການ​ປ່ຽນ​ຊື່​ເປັນ foo.c (94​% ຄ້າຍ​ຄື​ກັນ​)
$ hg ສະຖານະພາບ -C
A foo.c
foobar.c
R foobar.c

ຕອບ 0 ຖ້າໄຟລ໌ທັງໝົດຖືກເພີ່ມສຳເລັດ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ,-- ຄວາມ​ຄ້າຍ​ຄື​ກັນ​
ເດົາປ່ຽນຊື່ໄຟລ໌ຕາມຄວາມຄ້າຍຄືກັນ (0<=s<=100)

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ບັນທຶກ
ສະ​ແດງ​ຂໍ້​ມູນ​ການ​ປ່ຽນ​ແປງ​ໂດຍ​ແຖວ​ສໍາ​ລັບ​ແຕ່​ລະ​ໄຟລ​໌​:

hg annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...

ລາຍຊື່ການປ່ຽນແປງໃນໄຟລ໌, ສະແດງ id ການແກ້ໄຂທີ່ຮັບຜິດຊອບສໍາລັບແຕ່ລະແຖວ.

ຄໍາສັ່ງນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການຄົ້ນພົບເວລາທີ່ມີການປ່ຽນແປງແລະໂດຍໃຜ.

ຖ້າທ່ານລວມເອົາ --file, --user, ຫຼື --date, ຈໍານວນການແກ້ໄຂຈະຖືກສະກັດກັ້ນເວັ້ນເສຍແຕ່ວ່າທ່ານ
ລວມທັງ -- ຈໍານວນ.

ຖ້າບໍ່ມີທາງເລືອກ -a/--text, annotate ຈະຫຼີກເວັ້ນການປະມວນຜົນໄຟລ໌ທີ່ມັນກວດພົບວ່າເປັນໄບນາຣີ.
ດ້ວຍ -a, annotate ຈະອະທິບາຍເຖິງໄຟລ໌ຢ່າງໃດກໍ່ຕາມ, ເຖິງແມ່ນວ່າຜົນໄດ້ຮັບອາດຈະເປັນ
ທັງ​ບໍ່​ເປັນ​ປະ​ໂຫຍດ​ຫຼື​ຄວາມ​ຕ້ອງ​ການ​.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ບັນທຶກການດັດແກ້ທີ່ລະບຸໄວ້

--ຕິດຕາມ
ປະ​ຕິ​ບັດ​ຕາມ​ສໍາ​ເນົາ / ການ​ປ່ຽນ​ຊື່​ແລະ​ລາຍ​ຊື່​ໄຟລ​໌ (DEPRECATED​)

-- ບໍ່​ຕິດ​ຕາມ
ຢ່າເຮັດຕາມສຳເນົາ ແລະປ່ຽນຊື່

-ກ, --ຂໍ້​ຄວາມ
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ

-u, -ຜູ້ໃຊ້
ລາຍຊື່ຜູ້ຂຽນ (ຍາວກັບ -v)

-f, --file
ບອກຊື່ໄຟລ໌

-d, - ວັນທີ
ບອກວັນທີ (ສັ້ນດ້ວຍ -q)

-n, --ເລກ
ບອກຕົວເລກການແກ້ໄຂ (ຄ່າເລີ່ມຕົ້ນ)

-c, --ຊຸດການປ່ຽນແປງ
ລາຍຊື່ການປ່ຽນແປງ

-l, --ເລກແຖວ
ສະ​ແດງ​ຕົວ​ເລກ​ແຖວ​ຢູ່​ໃນ​ຮູບ​ລັກ​ສະ​ນະ​ທໍາ​ອິດ​

-w, --ignore-all-space
ບໍ່ສົນໃຈພື້ນທີ່ສີຂາວເມື່ອປຽບທຽບເສັ້ນ

-b, --ignore-space-change
ບໍ່ສົນໃຈການປ່ຽນແປງຈໍານວນພື້ນທີ່ສີຂາວ

-B, --ignore-blank-lines
ບໍ່ສົນໃຈການປ່ຽນແປງຂອງແຖວທັງໝົດແມ່ນຫວ່າງເປົ່າ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ຕໍານິ

ເກັບ
ສ້າງບ່ອນເກັບມ້ຽນ unversioned ຂອງການແກ້ໄຂ repository:

hg archive [OPTION]... DEST

ໂດຍຄ່າເລີ່ມຕົ້ນ, ການແກ້ໄຂທີ່ໃຊ້ແມ່ນພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ; ໃຊ້ -r/--rev to
ລະບຸການດັດແກ້ທີ່ແຕກຕ່າງກັນ.

ປະເພດແຟ້ມຈັດເກັບຖືກກວດພົບໂດຍອັດຕະໂນມັດໂດຍອີງໃສ່ການຂະຫຍາຍໄຟລ໌ (ເພື່ອ override, ໃຊ້
-t/-type).

ຕົວຢ່າງ:

·ສ້າງໄຟລ໌ zip ທີ່ປະກອບດ້ວຍການປ່ອຍ 1.0:

hg archive -r 1.0 project-1.0.zip

· ສ້າງ tarball ບໍ່ລວມໄຟລ໌ .hg:

hg archive project.tar.gz -X ".hg*"

ປະເພດທີ່ຖືກຕ້ອງແມ່ນ:

ໄຟ

ໄດເລກະທໍລີທີ່ເຕັມໄປດ້ວຍໄຟລ໌ (ຄ່າເລີ່ມຕົ້ນ)

tar

tar archive, uncompressed

tbz2

tar archive, ບີບອັດໂດຍໃຊ້ bzip2

tgz

tar archive, ບີບອັດໂດຍໃຊ້ gzip

uzip

zip archive, uncompressed

ໄປສະນີ

zip archive, ບີບອັດໂດຍໃຊ້ deflate

ຊື່ທີ່ແນ່ນອນຂອງບ່ອນເກັບມ້ຽນປາຍທາງ ຫຼືໄດເລກະທໍລີແມ່ນໃຫ້ໂດຍໃຊ້ສະຕຣິງຮູບແບບ; ເບິ່ງ
hg ຊ່ວຍເຫຼືອ ການສົ່ງອອກ ສໍາລັບລາຍລະອຽດ.

ສະມາຊິກແຕ່ລະຄົນທີ່ເພີ່ມໃສ່ໄຟລ໌ທີ່ເກັບໄວ້ມີຄໍານໍາຫນ້າຂອງໄດເລກະທໍລີນໍາຫນ້າ. ໃຊ້ -p/--prefix ກັບ
ລະບຸຮູບແບບສະຕຣິງສຳລັບຄຳນຳໜ້າ. ຄ່າເລີ່ມຕົ້ນແມ່ນຊື່ພື້ນຖານຂອງຮວບຮວມ, ກັບ
ຄໍາຕໍ່ທ້າຍຖືກໂຍກຍ້າຍ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

--no-decode
ບໍ່ຜ່ານໄຟລ໌ຜ່ານຕົວຖອດລະຫັດ

-p,-- ຄໍານໍາຫນ້າ
ຄໍານໍາຫນ້າຂອງໄດເລກະທໍລີສໍາລັບໄຟລ໌ໃນແຟ້ມຈັດເກັບ

-r,--rev
ການ​ແກ້​ໄຂ​ເພື່ອ​ແຈກ​ຢາຍ​

-t,--ປະເພດ
ປະເພດຂອງການແຈກຢາຍເພື່ອສ້າງ

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

backout
ຜົນ​ກະ​ທົບ reverse ຂອງ​ການ​ປ່ຽນ​ແປງ​ກ່ອນ​ຫນ້າ​ນີ້​:

hg backout [OPTION]... [-r] REV

ກະກຽມຊຸດການປ່ຽນແປງໃຫມ່ທີ່ມີຜົນຂອງ REV ຍົກເລີກໃນໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ. ຖ້າ
ບໍ່​ມີ​ການ​ປະ​ທະ​ກັນ​ໄດ້​ພົບ​ເຫັນ​, ມັນ​ຈະ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ໃນ​ທັນ​ທີ​.

ຖ້າ REV ເປັນພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ, ການປ່ຽນແປງໃຫມ່ນີ້ແມ່ນຫມັ້ນສັນຍາ
ອັດຕະໂນມັດ (ເວັ້ນເສຍແຕ່ --no-commit ຖືກກໍານົດ).

ຫມາຍ​ເຫດ​ hg backout ບໍ່ສາມາດໃຊ້ເພື່ອແກ້ໄຂການລວມທີ່ບໍ່ຕ້ອງການ ຫຼືບໍ່ຖືກຕ້ອງ.

ຕົວຢ່າງ:

·ປີ້ນຜົນກະທົບຂອງພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ. backout ນີ້ຈະເປັນ
ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ໃນ​ທັນ​ທີ​:

hg backout -r .

· ປີ້ນ​ຜົນ​ຂອງ​ການ​ທົບ​ທວນ​ຄືນ​ທີ່​ບໍ່​ດີ​ທີ່​ຜ່ານ​ມາ 23​:

hg backout -r 23

· ກັບຄືນຜົນກະທົບຂອງການແກ້ໄຂທີ່ບໍ່ດີທີ່ຜ່ານມາ 23 ແລະປ່ອຍໃຫ້ການປ່ຽນແປງບໍ່ຖືກປະຕິບັດຕາມ:

hg backout -r 23 --no-commit
hg commit -m "Backout revision 23"

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

ກ່ອນເວີຊັນ 1.7, ພຶດຕິກໍາທີ່ບໍ່ມີ --merge ແມ່ນເທົ່າກັບການລະບຸ --merge
ປະຕິບັດຕາມໂດຍ hg ການປັບປຸງ --ສະອາດ . ເພື່ອຍົກເລີກການລວມຕົວແລະປ່ອຍໃຫ້ລູກຂອງ REV ເປັນຫົວຫນ້າ
ຈະຖືກລວມເຂົ້າກັນແຍກຕ່າງຫາກ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ກັບຄືນມາ ສໍາລັບວິທີການຟື້ນຟູໄຟລ໌ກັບສະຖານະຂອງການແກ້ໄຂອື່ນ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບໍ່ມີຫຍັງໃຫ້ backout ຫຼືມີໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ແກ້ໄຂ.

ຕົວເລືອກ:

--ລວມເຂົ້າກັນ
ຜະສົມຜະສານກັບພໍ່ແມ່ທີ່ຂີ້ຮ້າຍເກົ່າຫຼັງຈາກ backout

-- ຫມັ້ນສັນຍາ
ສັນຍາຖ້າບໍ່ພົບຂໍ້ຂັດແຍ່ງ (DEPRECATED)

--no-commit
ບໍ່ຄໍາຫມັ້ນສັນຍາ

--ພໍ່ແມ່
ພໍ່ແມ່ທີ່ຈະເລືອກເອົາໃນເວລາທີ່ backing out merge (DEPRECATED)

-r,--rev
ການ​ແກ້​ໄຂ​ເພື່ອ backout​

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ແບ່ງອອກເປັນສອງສ່ວນ
ການ​ຄົ້ນ​ຫາ subdivision ຂອງ​ການ​ປ່ຽນ​ແປງ​:

hg bisect [-gbsr] [-U] [-c CMD] [REV]

ຄໍາສັ່ງນີ້ຊ່ວຍຊອກຫາຊຸດການປ່ຽນແປງທີ່ແນະນໍາບັນຫາ. ເພື່ອໃຊ້, ໃຫ້ໝາຍໄວທີ່ສຸດ
changeset ທີ່​ທ່ານ​ຮູ້​ຈັກ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ບັນ​ຫາ​ທີ່​ບໍ່​ດີ​, ຫຼັງ​ຈາກ​ນັ້ນ​ຫມາຍ​ການ​ປ່ຽນ​ແປງ​ຫລ້າ​ສຸດ​ທີ່​ເປັນ​
ປາດສະຈາກບັນຫາທີ່ດີ. Bisect ຈະປັບປຸງໄດເລກະທໍລີທີ່ເຮັດວຽກຂອງທ່ານເປັນການແກ້ໄຂສໍາລັບ
ການທົດສອບ (ເວັ້ນເສຍແຕ່ໄດ້ລະບຸທາງເລືອກ -U/--noupdate). ເມື່ອທ່ານໄດ້ປະຕິບັດການທົດສອບ,
ຫມາຍໄດເລກະທໍລີທີ່ເຮັດວຽກດີຫຼືບໍ່ດີ, ແລະ bisect ຈະປັບປຸງເປັນອັນອື່ນ
ການປ່ຽນແປງຜູ້ສະຫມັກຫຼືປະກາດວ່າມັນໄດ້ພົບເຫັນການແກ້ໄຂທີ່ບໍ່ດີ.

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

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

ບາງຕົວຢ່າງ:

· ເລີ່ມ​ຕົ້ນ​ການ​ແກ້​ໄຂ​ທີ່​ບໍ່​ດີ​ທີ່​ຮູ້​ຈັກ 34​, ແລະ​ການ​ປັບ​ປຸງ​ທີ່​ດີ 12​:

hg bisect --bad 34
hg bisect --ດີ 12

· ກ້າວ​ໜ້າ​ການ​ແກ້​ໄຂ​ໃນ​ປັດ​ຈຸ​ບັນ​ໂດຍ​ການ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ດັດ​ແກ້​ໃນ​ປັດ​ຈຸ​ບັນ​ເປັນ​ດີ​ຫຼື​ບໍ່​ດີ​:

hg bisect --ດີ
hg bisect --ບໍ່ດີ

· ໝາຍ​ການ​ດັດ​ແກ້​ໃນ​ປະ​ຈຸ​ບັນ, ຫຼື​ການ​ດັດ​ແກ້​ທີ່​ຮູ້​ຈັກ, ເພື່ອ​ໃຫ້​ຂ້າມ​ໄປ (ເຊັ່ນ ຖ້າ​ຫາກ​ວ່າ​ການ​ແກ້​ໄຂ​ນັ້ນ​ແມ່ນ
ບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກບັນຫາອື່ນ):

hg bisect --ຂ້າມ
hg bisect --ຂ້າມ 23

· ຂ້າມການດັດແກ້ທັງໝົດທີ່ບໍ່ແຕະຕ້ອງໄດເລກະທໍລີ ຟູ or ພາທະນາຍຄວາມ:

hg bisect --skip "!( file('path:foo') & file('path:bar'))"

·ລືມ bisection ໃນປັດຈຸບັນ:

hg bisect --reset

· ໃຊ້ 'ເຮັດ && ເຮັດການທົດສອບ' ເພື່ອຊອກຫາການແກ້ໄຂທໍາອິດທີ່ແຕກຫັກໂດຍອັດຕະໂນມັດ:

hg bisect --reset
hg bisect --bad 34
hg bisect --ດີ 12
hg bisect -- ຄໍາສັ່ງ "ເຮັດ & & ເຮັດການທົດສອບ"

· ເບິ່ງ​ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ທີ່​ມີ​ລັດ​ທີ່​ຮູ້​ຈັກ​ຢູ່​ແລ້ວ​ໃນ bisection ປະ​ຈຸ​ບັນ​:

hg log -r "bisect(pruned)"

· ເບິ່ງ​ການ​ປ່ຽນ​ແປງ​ໃນ​ປັດ​ຈຸ​ບັນ​ແມ່ນ bisected (ໂດຍ​ສະ​ເພາະ​ແມ່ນ​ເປັນ​ປະ​ໂຫຍດ​ຖ້າ​ຫາກ​ວ່າ​ການ​ແລ່ນ​ກັບ
-U/--nupdate):

hg log -r "bisect (ປະຈຸບັນ)"

· ເບິ່ງການປ່ຽນແປງທັງໝົດທີ່ມີສ່ວນຮ່ວມໃນ bisection ໃນປັດຈຸບັນ:

hg log -r "bisect(range)"

· ທ່ານຍັງສາມາດໄດ້ຮັບກາຟທີ່ສວຍງາມ:

hg log --graph -r "bisect(range)"

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສໍາລັບການເພີ່ມເຕີມກ່ຽວກັບ bisect() ຄຳ ສຳ ຄັນ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r, --ຣີເຊັດ
ຣີເຊັດລັດ bisect

-g, --ດີ
ຕະຫຼາດການປ່ຽນແປງທີ່ດີ

-b, -- ບໍ່ດີ
ການປ່ຽນແປງຕະຫຼາດທີ່ບໍ່ດີ

- ແມ່ນແລ້ວ, --ຂ້າມ
ຂ້າມຊຸດການປ່ຽນແປງການທົດສອບ

-e, -- ຂະຫຍາຍ
ຂະຫຍາຍຂອບເຂດ bisect

-c,-- ຄໍາສັ່ງ
ໃຊ້ຄໍາສັ່ງເພື່ອກວດເບິ່ງສະຖານະການປ່ຽນແປງ

-U, --ການອັບເດດ
ບໍ່ປັບປຸງເພື່ອເປົ້າຫມາຍ

bookmarks
ສ້າງບຸກມາກໃໝ່ ຫຼືລາຍຊື່ບຸກມາກທີ່ມີຢູ່:

hg bookmarks [OPTIONS]... [NAME]...

Bookmarks ແມ່ນປ້າຍຊື່ກ່ຽວກັບການປ່ຽນແປງເພື່ອຊ່ວຍຕິດຕາມສາຍການພັດທະນາ. Bookmarks ແມ່ນ
unversioned ແລະສາມາດຍ້າຍ, ປ່ຽນຊື່ແລະລຶບ. ການລຶບ ຫຼືຍ້າຍບຸກມາກບໍ່ມີ
ຜົນກະທົບຕໍ່ຊຸດການປ່ຽນແປງທີ່ກ່ຽວຂ້ອງ.

ການສ້າງ ຫຼືອັບເດດໃສ່ບຸກມາກເຮັດໃຫ້ມັນຖືກໝາຍວ່າ 'ເຄື່ອນໄຫວ'. ການເຄື່ອນໄຫວ
ບຸກມາກຖືກລະບຸດ້ວຍ '*'. ເມື່ອຄໍາຫມັ້ນສັນຍາຖືກເຮັດ, ບຸກມາກທີ່ເຄື່ອນໄຫວຈະກ້າວຫນ້າ
ຕໍ່ກັບຄໍາໝັ້ນສັນຍາໃໝ່. ທົ່ງພຽງ hg ການປັບປຸງ ຍັງຈະກ້າວຫນ້າ bookmark ທີ່ມີການເຄື່ອນໄຫວ, ຖ້າເປັນໄປໄດ້.
ການອັບເດດຢູ່ຫ່າງຈາກບຸກມາກຈະເຮັດໃຫ້ມັນຖືກປິດການນຳໃຊ້.

Bookmarks ສາມາດ pushed ແລະດຶງລະຫວ່າງ repositories (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການຊຸກຍູ້ ແລະ hg ຊ່ວຍເຫຼືອ ດຶງ
). ຖ້າບຸກມາກທີ່ແບ່ງປັນໄດ້ມີຄວາມແຕກຕ່າງ, 'ບຸກມາກທີ່ແຕກຕ່າງ' ໃໝ່ຂອງແບບຟອມ 'name@path'
ຈະຖືກສ້າງຂື້ນ. ການນໍາໃຊ້ hg ລວມ ຈະ​ແກ້​ໄຂ​ຄວາມ​ແຕກ​ຕ່າງ​ກັນ​.

ບຸກມາກຊື່ '@' ມີຄຸນສົມບັດພິເສດທີ່ hg clone ຈະກວດສອບມັນອອກໂດຍຄ່າເລີ່ມຕົ້ນ
ຖ້າມັນມີຢູ່.

ຕົວຢ່າງ:

·ສ້າງ bookmark ການເຄື່ອນໄຫວສໍາລັບເສັ້ນໃຫມ່ຂອງການພັດທະນາ:

hg book ຄຸນນະສົມບັດໃຫມ່

· ສ້າງບຸກມາກທີ່ບໍ່ເຄື່ອນໄຫວເປັນເຄື່ອງໝາຍສະຖານທີ່:

hg book -i ທົບທວນຄືນ

· ສ້າງບຸກມາກທີ່ບໍ່ເຄື່ອນໄຫວຢູ່ໃນຊຸດການປ່ຽນແປງອື່ນ:

hg book -r.^ ທົດສອບ

· ປ່ຽນຊື່ bookmark Turkey ເປັນຄ່ໍາ:

hg book -m ຄ່ໍາ Turkey

· ຍ້າຍ bookmark '@' ຈາກສາຂາອື່ນ:

hg book -f @

ຕົວເລືອກ:

-f, --ກຳລັງ
ຜົນບັງຄັບໃຊ້

-r,--rev
ການແກ້ໄຂການດໍາເນີນການ bookmark

-d, --ລຶບ
ລຶບບຸກມາກທີ່ໃຫ້ໄວ້

-m,--ປ່ຽນຊື່
ປ່ຽນຊື່ບຸກມາກທີ່ໃຫ້ໄວ້

-i, --ບໍ່ເຄື່ອນໄຫວ
ໝາຍບຸກມາກທີ່ບໍ່ເຄື່ອນໄຫວ

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

ນາມແຝງ: bookmark

ສາຂາ
ຕັ້ງ ຫຼືສະແດງຊື່ສາຂາປັດຈຸບັນ:

hg ສາຂາ [-fC] [NAME]

ໝາຍເຫດຊື່ສາຂາແມ່ນຖາວອນ ແລະທົ່ວໂລກ. ໃຊ້ hg Bookmark ເພື່ອສ້າງນ້ໍາຫນັກເບົາ
bookmark ແທນ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຄໍາ​ສັບ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບສາຂາທີ່ມີຊື່
ແລະ bookmarks.

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

ເວັ້ນເສຍແຕ່ວ່າ -f/--force ຈະຖືກລະບຸ, ສາຂາຈະບໍ່ໃຫ້ທ່ານຕັ້ງຊື່ສາຂາທີ່ມີຢູ່ແລ້ວ
ລາຄາ:.

ໃຊ້ -C/--clean ເພື່ອຣີເຊັດສາຂາໄດເຣັກທໍຣີທີ່ເຮັດວຽກເປັນຂອງແມ່ຂອງການເຮັດວຽກ
ໄດເລກະທໍລີ, ປະຕິເສດການປ່ຽນແປງສາຂາທີ່ຜ່ານມາ.

ໃຊ້ ຄຳ ສັ່ງ hg ການປັບປຸງ ເພື່ອປ່ຽນເປັນສາຂາທີ່ມີຢູ່ແລ້ວ. ໃຊ້ hg ຄໍາຫມັ້ນສັນຍາ -- ສາຂາ to
ໝາຍຫົວສາຂານີ້ວ່າປິດ. ໃນເວລາທີ່ຫົວຫນ້າສາຂາທັງຫມົດຖືກປິດ, ສາຂາຈະ
ພິຈາລະນາປິດ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ຕັ້ງຊື່ສາຂາເຖິງແມ່ນວ່າມັນເຮັດໃຫ້ສາຂາທີ່ມີຢູ່ແລ້ວ

-C, --ສະອາດ
ຣີເຊັດຊື່ສາຂາເປັນຊື່ສາຂາຫຼັກ

ສາຂາ
ລາຍຊື່ຄັງເກັບຊື່ສາຂາ:

ສາຂາ hg [-c]

ບອກສາຂາທີ່ມີຊື່ຂອງບ່ອນເກັບມ້ຽນ, ຊີ້ບອກວ່າອັນໃດບໍ່ເຄື່ອນໄຫວ. ຖ້າ -c/-- ປິດ
ໄດ້ຖືກລະບຸໄວ້, ລາຍຊື່ສາຂາທີ່ໄດ້ຖືກຫມາຍປິດ (ເບິ່ງ hg ຄໍາຫມັ້ນສັນຍາ
-- ສາຂາ).

ໃຊ້ ຄຳ ສັ່ງ hg ການປັບປຸງ ເພື່ອປ່ຽນເປັນສາຂາທີ່ມີຢູ່ແລ້ວ.

ກັບຄືນ 0.

ຕົວເລືອກ:

-ກ, --active
ສະ​ແດງ​ໃຫ້​ເຫັນ​ພຽງ​ແຕ່​ສາ​ຂາ​ທີ່​ບໍ່​ມີ​ການ​ລວມ​ຫົວ (DEPRECATED​)

-c, -- ປິດ
ສະແດງໃຫ້ເຫັນສາຂາປົກກະຕິແລະປິດ

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

ມັດ
ສ້າງໄຟລ໌ກຸ່ມການປ່ຽນແປງ:

hg bundle [-f] [-t TYPE] [-a] [-r REV]... [--base REV]... FILE [DEST]

ສ້າງໄຟລ໌ກຸ່ມການປ່ຽນແປງທີ່ເກັບກໍາການປ່ຽນແປງທີ່ຈະເພີ່ມໃສ່ບ່ອນເກັບມ້ຽນ.

ເພື່ອສ້າງຊຸດທີ່ມີຊຸດການປ່ຽນແປງທັງໝົດ, ໃຫ້ໃຊ້ -a/--all (ຫຼື --base null). ຖ້າບໍ່ດັ່ງນັ້ນ, hg
ສົມມຸດວ່າປາຍທາງຈະມີທຸກ nodes ທີ່ທ່ານລະບຸດ້ວຍ --base parameters.
ຖ້າບໍ່ດັ່ງນັ້ນ, hg ຈະສົມມຸດວ່າ repository ມີ nodes ທັງຫມົດໃນປາຍທາງ, ຫຼື
default-push/default ຖ້າບໍ່ມີຈຸດຫມາຍປາຍທາງຖືກລະບຸ.

ທ່ານສາມາດປ່ຽນຮູບແບບມັດດ້ວຍຕົວເລືອກ -t/-type. ທ່ານສາມາດກໍານົດການບີບອັດ, a
bundle version ຫຼືທັງສອງໂດຍໃຊ້ dash (comp-version). ວິທີການບີບອັດທີ່ມີຢູ່ແມ່ນ:
none, bzip2, ແລະ gzip (ຕາມຄ່າເລີ່ມຕົ້ນ, bundles ຖືກບີບອັດໂດຍໃຊ້ bzip2). ທີ່ມີຢູ່
ຮູບແບບແມ່ນ: v1, v2 (ຄ່າເລີ່ມຕົ້ນທີ່ຈະເຫມາະສົມທີ່ສຸດ).

ຫຼັງຈາກນັ້ນ, ໄຟລ໌ມັດສາມາດຖືກໂອນໂດຍໃຊ້ວິທີການທໍາມະດາແລະນໍາໃຊ້ກັບຄົນອື່ນ
repository ກັບ unbundle ຫຼືຄໍາສັ່ງດຶງ. ນີ້ແມ່ນເປັນປະໂຫຍດໃນເວລາທີ່ການຊຸກຍູ້ແລະດຶງໂດຍກົງ
ບໍ່ສາມາດໃຊ້ໄດ້ ຫຼືເມື່ອການສົ່ງອອກບ່ອນເກັບມ້ຽນທັງໝົດແມ່ນບໍ່ຕ້ອງການ.

ການ​ນໍາ​ໃຊ້ bundle ຈະ​ຮັກ​ສາ​ເນື້ອ​ໃນ​ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ລວມ​ທັງ​ການ​ອະ​ນຸ​ຍາດ​, ສໍາ​ເນົາ / ປ່ຽນ​ຊື່​
ຂໍ້​ມູນ​ຂ່າວ​ສານ​, ແລະ​ປະ​ຫວັດ​ສາດ​ການ​ປັບ​ປຸງ​.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບໍ່ພົບການປ່ຽນແປງ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ແລ່ນເຖິງແມ່ນວ່າຈຸດຫມາຍປາຍທາງບໍ່ກ່ຽວຂ້ອງ

-r,--rev
ຊຸດການປ່ຽນແປງທີ່ມີຈຸດປະສົງຈະເພີ່ມໃສ່ປາຍທາງ

-b,--ສາຂາ
ສາຂາສະເພາະທີ່ທ່ານຕ້ອງການມັດ

--ຖານ
ຊຸດການປ່ຽນແປງພື້ນຖານທີ່ສົມມຸດວ່າມີຢູ່ປາຍທາງ

-ກ, --ທັງໝົດ
bundle ຊຸດການປ່ຽນແປງທັງຫມົດໃນ repository

-t,--ປະເພດ
ປະເພດການບີບອັດມັດເພື່ອໃຊ້ (ຄ່າເລີ່ມຕົ້ນ: bzip2)

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

cat
ສົ່ງ​ອອກ​ການ​ແກ້​ໄຂ​ໃນ​ປະ​ຈຸ​ບັນ​ຫຼື​ການ​ໃຫ້​ຂອງ​ໄຟລ​໌​:

hg cat [ຕົວເລືອກ]... FILE...

ພິມໄຟລ໌ທີ່ລະບຸໄວ້ດັ່ງທີ່ເຂົາເຈົ້າຢູ່ໃນການດັດແກ້ທີ່ໃຫ້ໄວ້. ຖ້າບໍ່ມີການດັດແກ້ແມ່ນໃຫ້
ພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກຖືກນໍາໃຊ້.

ຜົນຜະລິດອາດຈະເປັນໄຟລ໌, ໃນກໍລະນີນີ້, ຊື່ຂອງໄຟລ໌ແມ່ນໃຫ້ໂດຍໃຊ້ຮູບແບບ
ສາຍ. ກົດ​ລະ​ບຽບ​ການ​ຈັດ​ຮູບ​ແບບ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

%%

ຕົວໜັງສື "%" ຕົວອັກສອນ

%s

ຊື່ພື້ນຖານຂອງໄຟລ໌ທີ່ຖືກພິມ

%d

dirname ຂອງໄຟລ໌ທີ່ກໍາລັງພິມ, ຫຼື '.' ຖ້າຢູ່ໃນຮາກ repository

%p

ຊື່ເສັ້ນທາງທີ່ກ່ຽວຂ້ອງກັບຮາກຂອງໄຟລ໌ທີ່ຖືກພິມອອກ

%H

ການ​ປ່ຽນ​ແປງ hash (40 ເລກ​ຖານ​ສິບ​ຫົກ​)

%R

ປ່ຽນ​ແປງ​ຈໍາ​ນວນ​ການ​ແກ້​ໄຂ​

%h

ການປ່ຽນຮູບແບບສັ້ນ hash (12 ຕົວເລກຖານສິບຫົກ)

%r

ເລກດັດແກ້ຊຸດການປ່ຽນແປງສູນ padded

%b

ຊື່ພື້ນຖານຂອງ repository ສົ່ງອອກ

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-o,-- ຜົນຜະລິດ
ພິມຜົນຜະລິດໄປຫາໄຟລ໌ທີ່ມີຊື່ຮູບແບບ

-r,--rev
ພິມການດັດແກ້ທີ່ໃຫ້ໄວ້

--ຖອດລະຫັດ
ນຳໃຊ້ການກັ່ນຕອງການຖອດລະຫັດທີ່ກົງກັນ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

clone
ເຮັດສໍາເນົາຂອງ repository ທີ່ມີຢູ່ແລ້ວ:

hg clone [ຕົວເລືອກ]... ແຫຼ່ງ [DEST]

ສ້າງສໍາເນົາຂອງ repository ທີ່ມີຢູ່ແລ້ວໃນໄດເລກະທໍລີໃຫມ່.

ຖ້າບໍ່ມີການລະບຸຊື່ໄດເລກະທໍລີປາຍທາງ, ມັນຈະເປັນຄ່າເລີ່ມຕົ້ນຂອງຊື່ພື້ນຖານຂອງແຫຼ່ງທີ່ມາ.

ສະຖານທີ່ຂອງແຫຼ່ງແມ່ນເພີ່ມໃສ່ repository ຂອງໃຫມ່ .hg/hgrc ໄຟລ໌, ເປັນຄ່າເລີ່ມຕົ້ນ
ທີ່ຈະໃຊ້ສໍາລັບການດຶງໃນອະນາຄົດ.

ພຽງແຕ່ເສັ້ນທາງທ້ອງຖິ່ນແລະ ssh:// URL ໄດ້ຮັບການສະຫນັບສະຫນູນເປັນຈຸດຫມາຍປາຍທາງ. ສໍາລັບ ssh:// ຈຸດ ໝາຍ ປາຍທາງ,
ບໍ່ມີໄດເລກະທໍລີທີ່ເຮັດວຽກຫຼື .hg/hgrc ຈະຖືກສ້າງຂື້ນໃນດ້ານຫ່າງໄກສອກຫຼີກ.

ຖ້າບ່ອນເກັບຂໍ້ມູນແຫຼ່ງມີ bookmark ທີ່ເອີ້ນວ່າ '@' ຕັ້ງ, ການແກ້ໄຂນັ້ນຈະຖືກກວດສອບ
ໃນ repository ໃຫມ່ໂດຍຄ່າເລີ່ມຕົ້ນ.

ເພື່ອກວດເບິ່ງເວີຊັນສະເພາະ, ໃຫ້ໃຊ້ -u/--update, ຫຼື -U/--noupdate ເພື່ອສ້າງໂຄນ.
ໂດຍບໍ່ມີໄດເລກະທໍລີເຮັດວຽກ.

ເພື່ອດຶງພຽງແຕ່ຊຸດຍ່ອຍຂອງຊຸດການປ່ຽນແປງ, ໃຫ້ລະບຸຕົວລະບຸການແກ້ໄຂຫນຶ່ງ ຫຼືຫຼາຍກວ່ານັ້ນດ້ວຍ
-r/--rev ຫຼືສາຂາທີ່ມີ -b/--ສາຂາ. clone ຜົນໄດ້ຮັບຈະມີພຽງແຕ່ລະບຸໄວ້
ການປ່ຽນແປງແລະບັນພະບຸລຸດຂອງພວກເຂົາ. ຕົວເລືອກເຫຼົ່ານີ້ (ຫຼື 'clone src#rev dest') ຫມາຍເຖິງ --pull, even
ສໍາລັບ repositories ແຫຼ່ງທ້ອງຖິ່ນ.

ໝາຍເຫດ ການລະບຸແທັກຈະຮວມເອົາຊຸດການປ່ຽນແປງທີ່ແທັກໄວ້ ແຕ່ບໍ່ແມ່ນຊຸດການປ່ຽນແປງທີ່ປະກອບດ້ວຍ
ໂຄດຄໍາສັ່ງ.

ສໍາລັບປະສິດທິພາບ, hardlinks ຖືກນໍາໃຊ້ສໍາລັບການ cloning ທຸກຄັ້ງທີ່ແຫຼ່ງແລະປາຍທາງເປີດ
ລະ​ບົບ​ໄຟລ​໌​ດຽວ​ກັນ (ຫມາຍ​ເຫດ​ນີ້​ໃຊ້​ໄດ້​ພຽງ​ແຕ່​ກັບ​ຂໍ້​ມູນ repository​, ບໍ່​ແມ່ນ​ການ​ເຮັດ​ວຽກ​
ໄດເລກະທໍລີ). ບາງລະບົບໄຟລ໌, ເຊັ່ນ AFS, ປະຕິບັດ hardlinking ບໍ່ຖືກຕ້ອງ, ແຕ່ເຮັດບໍ່ໄດ້
ລາຍງານຄວາມຜິດພາດ. ໃນກໍລະນີເຫຼົ່ານີ້, ນໍາໃຊ້ທາງເລືອກ --pull ເພື່ອຫຼີກເວັ້ນການ hardlinking.

ໃນບາງກໍລະນີ, ທ່ານສາມາດ clone repositories ແລະໄດເລກະທໍລີທີ່ເຮັດວຽກໂດຍໃຊ້ hardlinks ເຕັມ
ກັບ

$ cp -al REPO REPOCLONE

ນີ້ແມ່ນວິທີທີ່ໄວທີ່ສຸດເພື່ອ clone, ແຕ່ມັນບໍ່ປອດໄພສະເຫມີ. ການປະຕິບັດງານບໍ່ແມ່ນປະລໍາມະນູ
(ໃຫ້ແນ່ໃຈວ່າ REPO ບໍ່ໄດ້ຖືກດັດແກ້ໃນລະຫວ່າງການປະຕິບັດງານແມ່ນຂຶ້ນກັບທ່ານ) ແລະທ່ານຕ້ອງເຮັດ
ໃຫ້ແນ່ໃຈວ່າບັນນາທິການຂອງທ່ານທໍາລາຍ hardlinks (Emacs ແລະເຄື່ອງມື Linux Kernel ສ່ວນໃຫຍ່ເຮັດແນວນັ້ນ). ນອກຈາກນີ້, ນີ້ແມ່ນ
ບໍ່ເຂົ້າກັນໄດ້ກັບບາງສ່ວນຂະຫຍາຍທີ່ວາງ metadata ຂອງເຂົາເຈົ້າພາຍໃຕ້ໄດເລກະທໍລີ .hg,
ເຊັ່ນ mq.

Mercurial ຈະປັບປຸງໄດເລກະທໍລີທີ່ເຮັດວຽກເປັນການແກ້ໄຂທໍາອິດທີ່ໃຊ້ໄດ້ຈາກນີ້
ລາຍຊື່:

ກ. null ຖ້າ -U ຫຼືບ່ອນເກັບຂໍ້ມູນແຫຼ່ງບໍ່ມີການປ່ຽນແປງ

ຂ. ຖ້າ -u . ແລະບ່ອນເກັບມ້ຽນແຫຼ່ງແມ່ນທ້ອງຖິ່ນ, ພໍ່ແມ່ທໍາອິດຂອງບ່ອນເກັບມ້ຽນແຫຼ່ງ
ໄດເລກະທໍລີເຮັດວຽກ

ຄ. ຊຸດການປ່ຽນແປງທີ່ລະບຸດ້ວຍ -u (ຖ້າຊື່ສາຂາ, ນີ້ຫມາຍຄວາມວ່າຫົວຫລ້າສຸດຂອງນັ້ນ
ສາຂາ)

ງ. ຊຸດການປ່ຽນແປງທີ່ລະບຸດ້ວຍ -r

e. ຫົວປາຍສຸດທີ່ລະບຸດ້ວຍ -b

f. ຫົວປາຍສຸດທີ່ລະບຸດ້ວຍ syntax ແຫຼ່ງ url#branch

g. ການແກ້ໄຂທີ່ມີເຄື່ອງຫມາຍ '@', ຖ້າມີ

ຊ. ຫົວປາຍສຸດຂອງສາຂາເລີ່ມຕົ້ນ

i. ປາຍ

ເມື່ອການໂຄນຈາກເຊີບເວີທີ່ຮອງຮັບມັນ, Mercurial ອາດຈະດຶງຂໍ້ມູນທີ່ສ້າງຂຶ້ນກ່ອນມາຈາກ a
ເຊີບເວີ URL ທີ່ໂຄສະນາ. ໃນເວລາທີ່ນີ້ແມ່ນເຮັດ, hooks ປະຕິບັດງານກ່ຽວກັບການປ່ຽນແປງທີ່ເຂົ້າມາແລະ
changegroups ອາດຈະຍິງສອງຄັ້ງ, ຫນຶ່ງຄັ້ງສໍາລັບມັດທີ່ດຶງມາຈາກ URL ແລະອັນອື່ນສໍາລັບອັນໃດ
ຂໍ້ມູນເພີ່ມເຕີມບໍ່ໄດ້ດຶງມາຈາກ URL ນີ້. ນອກຈາກນັ້ນ, ຖ້າມີຂໍ້ຜິດພາດເກີດຂື້ນ, ຄັງເກັບມ້ຽນ
ອາດຈະຖືກ rolled ກັບໄປເປັນ clone ບາງສ່ວນ. ພຶດຕິກໍານີ້ອາດຈະມີການປ່ຽນແປງໃນການປ່ອຍໃນອະນາຄົດ. ເບິ່ງ hg
ຊ່ວຍເຫຼືອ -e clonebundle ສໍາລັບການຫຼາຍ.

ຕົວຢ່າງ:

· clone repository ໄລຍະໄກໄປຫາໄດເລກະທໍລີໃຫມ່ທີ່ມີຊື່ hg/:

hg clone http://selenic.com/hg

· ສ້າງ clone ທ້ອງຖິ່ນທີ່ມີນ້ໍາຫນັກເບົາ:

hg ໂຄງ​ການ clone / ໂຄງ​ການ​ຄຸນ​ນະ​ສົມ​ບັດ /

· clone ຈາກເສັ້ນທາງຢ່າງແທ້ຈິງໃນເຄື່ອງແມ່ຂ່າຍ ssh (ຫມາຍເຫດ double-slash):

hg clone ssh://user@server//home/projects/alpha/

·ເຮັດ clone ຄວາມໄວສູງຜ່ານ LAN ໃນຂະນະທີ່ກວດເບິ່ງສະບັບທີ່ລະບຸໄວ້:

hg clone --un compressed http://server/repo -u 1.5

· ສ້າງ repository ໂດຍບໍ່ມີການ changeets ຫຼັງຈາກການແກ້ໄຂໂດຍສະເພາະ:

hg clone -r 04e544 ທົດລອງ/ດີ/

· clone (ແລະ​ຕິດ​ຕາມ​) ສາ​ຂາ​ທີ່​ມີ​ຊື່​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​:

hg clone http://selenic.com/hg#ໝັ້ນຄົງ

ເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບລາຍລະອຽດກ່ຽວກັບການລະບຸ URLs.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-U, --ການອັບເດດ
clone ຈະປະກອບມີໄດເລກະທໍລີທີ່ຫວ່າງເປົ່າ (ພຽງແຕ່ repository)

-u,-- ອັບ​ເດດ
ການແກ້ໄຂ, ແທັກ, ຫຼືສາຂາທີ່ຈະກວດສອບ

-r,--rev
ລວມເອົາຊຸດການປ່ຽນແປງທີ່ລະບຸໄວ້

-b,--ສາຂາ
clone ພຽງແຕ່ສາຂາທີ່ລະບຸ

--ດຶງ ໃຊ້ pull protocol ເພື່ອສຳເນົາ metadata

-- ບໍ່ໄດ້ບີບອັດ
ໃຊ້ການໂອນຍ້າຍທີ່ບໍ່ໄດ້ບີບອັດ (ໄວຜ່ານ LAN)

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຄໍາຫມັ້ນສັນຍາ
ປະຕິບັດໄຟລ໌ທີ່ລະບຸໄວ້ຫຼືການປ່ຽນແປງທີ່ຍັງຄ້າງຄາທັງຫມົດ:

hg commit [OPTION]... [FILE]...

ສັນຍາການປ່ຽນແປງໄຟລ໌ທີ່ໃຫ້ໃສ່ໃນບ່ອນເກັບມ້ຽນ. ບໍ່ເຫມືອນກັບ SCM ສູນກາງ, ນີ້
ການດໍາເນີນງານແມ່ນການດໍາເນີນງານໃນທ້ອງຖິ່ນ. ເບິ່ງ hg ການຊຸກຍູ້ ສໍາລັບວິທີການແຈກຢາຍການປ່ຽນແປງຂອງທ່ານຢ່າງຈິງຈັງ.

ຖ້າບັນຊີລາຍຊື່ຂອງໄຟລ໌ຖືກລະເວັ້ນ, ການປ່ຽນແປງທັງຫມົດລາຍງານໂດຍ hg ສະຖານະພາບ ຈະມຸ່ງຫມັ້ນ.

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ກໍາ​ລັງ​ເຮັດ​ໃຫ້​ຜົນ​ໄດ້​ຮັບ​ຂອງ​ການ​ລວມ​ເຂົ້າ​ກັນ​, ຢ່າ​ໃຫ້​ຊື່​ໄຟລ​໌​ຫຼື -I/-X​
ຕົວກອງ

ຖ້າບໍ່ມີການລະບຸຂໍ້ຄວາມທີ່ສັນຍາໄວ້, Mercurial ຈະເລີ່ມບັນນາທິການທີ່ກຳນົດຄ່າຂອງເຈົ້າຢູ່ບ່ອນທີ່ເຈົ້າເຮັດໄດ້
ໃສ່ຂໍ້ຄວາມ. ໃນ​ກໍ​ລະ​ນີ​ທີ່​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂອງ​ທ່ານ​ລົ້ມ​ເຫຼວ​, ທ່ານ​ຈະ​ຊອກ​ຫາ​ສໍາ​ຮອງ​ຂໍ້​ຄວາມ​ຂອງ​ທ່ານ​ໃນ​
.hg/last-message.txt.

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

ທຸງ --amend ສາມາດຖືກໃຊ້ເພື່ອແກ້ໄຂພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກດ້ວຍໃຫມ່
commit ທີ່ປະກອບດ້ວຍການປ່ຽນແປງໃນ parent ນອກເຫນືອໄປຈາກທີ່ລາຍງານໃນປັດຈຸບັນໂດຍ
hg ສະຖານະພາບ, ຖ້າມີ. ສັນຍາເກົ່າຖືກເກັບໄວ້ໃນຊຸດສຳຮອງໃນ
.hg/strip-backup (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ມັດ ແລະ hg ຊ່ວຍເຫຼືອ ບໍ່ໄດ້ມັດ ກ່ຽວ​ກັບ​ວິ​ທີ​ການ​ຟື້ນ​ຟູ​ມັນ​)​.

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

ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະແກ້ໄຂການປ່ຽນແປງສາທາລະນະ (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ) ຫຼື​ການ​ປ່ຽນ​ແປງ​ທີ່​ມີ​
ເດັກນ້ອຍ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບໍ່ມີຫຍັງປ່ຽນແປງ.

ຕົວຢ່າງ:

· ມອບທຸກໄຟລ໌ທີ່ລົງທ້າຍດ້ວຍ .py:

hg commit --include "set:**.py"

·ຄໍາຫມັ້ນສັນຍາທັງຫມົດທີ່ບໍ່ແມ່ນສອງໄຟລ໌:

hg commit --exclude "set:binary()"

· ການ​ແກ້​ໄຂ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ໃນ​ປະ​ຈຸ​ບັນ​ແລະ​ກໍາ​ນົດ​ວັນ​ທີ່​ໃນ​ປັດ​ຈຸ​ບັນ​:

hg commit --amend --date now

ຕົວເລືອກ:

-A, --addremove
ໝາຍໄຟລ໌ໃໝ່/ທີ່ຂາດຫາຍໄປວ່າຖືກເພີ່ມ/ເອົາອອກກ່ອນການກະທຳ

-- ສາຂາ
ໝາຍຫົວສາຂາວ່າປິດ

--ປັບປຸງ
ແກ້ໄຂພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ

- ແມ່ນແລ້ວ, --ລັບ
ໃຊ້ໄລຍະລັບສໍາລັບຄໍາຫມັ້ນສັນຍາ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-i, --ໂຕ້ຕອບ
ໃຊ້ໂໝດໂຕ້ຕອບ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ci

config
ສະແດງການຕັ້ງຄ່າ config ປະສົມປະສານຈາກໄຟລ໌ hgrc ທັງຫມົດ:

hg config [-u] [NAME]...

ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ພິມຊື່ແລະຄ່າຂອງລາຍການ config ທັງຫມົດ.

ດ້ວຍໜຶ່ງອາກິວເມັນຂອງແບບຟອມ section.name, ພິມພຽງແຕ່ຄ່າຂອງລາຍການ config ນັ້ນ.

ດ້ວຍການໂຕ້ຖຽງຫຼາຍ, ພິມຊື່ແລະຄ່າຂອງລາຍການ config ທັງຫມົດທີ່ມີພາກສ່ວນທີ່ກົງກັນ
ຊື່.

ດ້ວຍ --edit, ເລີ່ມຕົວແກ້ໄຂໃນໄຟລ໌ config ລະດັບຜູ້ໃຊ້. ດ້ວຍ --global, ແກ້ໄຂ
ໄຟລ໌ config ໃນທົ່ວລະບົບ. ດ້ວຍ --local, ແກ້ໄຂໄຟລ໌ config ລະດັບ repository.

ດ້ວຍ --debug, ແຫຼ່ງ (ຊື່ໄຟລ໌ ແລະເລກແຖວ) ຖືກພິມອອກສໍາລັບແຕ່ລະລາຍການ config.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ config ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄຟລ໌ config.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າ NAME ບໍ່ມີ.

ຕົວເລືອກ:

-u, --ບໍ່ໜ້າເຊື່ອຖື
ສະແດງຕົວເລືອກການຕັ້ງຄ່າທີ່ບໍ່ເຊື່ອຖື

-e, --ດັດແກ້
ແກ້ໄຂການຕັ້ງຄ່າຜູ້ໃຊ້

-l, --ທ້ອງຖິ່ນ
ແກ້ໄຂການຕັ້ງຄ່າບ່ອນເກັບມ້ຽນ

-g, -- ໂລກ
ແກ້ໄຂການຕັ້ງຄ່າທົ່ວໂລກ

ນາມແຝງ: showconfig debugconfig

ຄັດລອກ
ໝາຍໄຟລ໌ທີ່ສຳເນົາໄວ້ສຳລັບຄຳໝັ້ນສັນຍາຄັ້ງຕໍ່ໄປ:

hg copy [OPTION]... [SOURCE]... DEST

ໝາຍວ່າມີສຳເນົາຂອງໄຟລ໌ແຫຼ່ງທີ່ມາ. ຖ້າ dest ເປັນໄດເລກະທໍລີ, ສໍາເນົາຈະຖືກໃສ່ໃນນັ້ນ
ໄດເລກະທໍລີ. ຖ້າ dest ເປັນໄຟລ໌, ແຫຼ່ງຕ້ອງເປັນໄຟລ໌ດຽວ.

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

ຄໍາສັ່ງນີ້ຈະມີຜົນກັບຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ. ເພື່ອຍົກເລີກການສຳເນົາກ່ອນນັ້ນ, ເບິ່ງ hg ກັບຄືນມາ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າພົບຂໍ້ຜິດພາດ.

ຕົວເລືອກ:

-A, -- ຫຼັງຈາກ
ບັນທຶກສໍາເນົາທີ່ເກີດຂຶ້ນແລ້ວ

-f, --ກຳລັງ
ບັງຄັບສຳເນົາໄຟລ໌ທີ່ມີການຈັດການທີ່ມີຢູ່ແລ້ວ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: cp

diff
diff repository (ຫຼືໄຟລ໌ທີ່ເລືອກ):

hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...

ສະແດງຄວາມແຕກຕ່າງລະຫວ່າງການແກ້ໄຂສໍາລັບໄຟລ໌ທີ່ລະບຸ.

ຄວາມແຕກຕ່າງລະຫວ່າງໄຟລ໌ຖືກສະແດງໂດຍໃຊ້ຮູບແບບຄວາມແຕກຕ່າງທີ່ເປັນເອກະພາບ.

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

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

ອີກທາງເລືອກ, ທ່ານສາມາດກໍານົດ -c/--change ດ້ວຍການດັດແກ້ເພື່ອເບິ່ງການປ່ຽນແປງໃນນັ້ນ
ການປ່ຽນແປງທີ່ກ່ຽວຂ້ອງກັບພໍ່ແມ່ທໍາອິດຂອງຕົນ.

ຖ້າບໍ່ມີທາງເລືອກ -a/--text, diff ຈະຫຼີກເວັ້ນການສ້າງຄວາມແຕກຕ່າງຂອງໄຟລ໌ທີ່ມັນກວດພົບ
ຄູ່. ດ້ວຍ -a, diff ຈະສ້າງຄວາມແຕກຕ່າງຢ່າງໃດກໍ່ຕາມ, ອາດຈະເປັນຜົນໄດ້ຮັບທີ່ບໍ່ຕ້ອງການ.

ໃຊ້ຕົວເລືອກ -g/--git ເພື່ອສ້າງຄວາມແຕກຕ່າງໃນຮູບແບບ git ຂະຫຍາຍ diff. ສໍາລັບການເພີ່ມເຕີມ
ຂໍ້​ມູນ​, ອ່ານ​ hg ຊ່ວຍເຫຼືອ ແຕກຕ່າງ.

ຕົວຢ່າງ:

·ປຽບທຽບໄຟລ໌ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນກັບພໍ່ແມ່ຂອງມັນ:

hg diff foo.c

·ປຽບທຽບສອງສະບັບປະຫວັດສາດຂອງໄດເລກະທໍລີ, ມີຂໍ້ມູນການປ່ຽນຊື່:

hg diff --git -r 1.0:1.2 lib/

· ໄດ້​ຮັບ​ການ​ປ່ຽນ​ແປງ​ສະ​ຖິ​ຕິ​ກ່ຽວ​ກັບ​ການ​ປ່ຽນ​ແປງ​ສຸດ​ທ້າຍ​ໃນ​ວັນ​ທີ​ໃດ​ຫນຶ່ງ​:

hg diff --stat -r "date('2 ພຶດສະພາ')"

· diff ໄຟລ໌ທີ່ເພີ່ມໃຫມ່ທັງຫມົດທີ່ປະກອບດ້ວຍຄໍາສໍາຄັນ:

hg diff "set:added() ແລະ grep(GNU)"

·ປຽບທຽບການດັດແກ້ແລະພໍ່ແມ່ຂອງມັນ:

hg diff -c 9353 # ປຽບທຽບກັບພໍ່ແມ່ທໍາອິດ
hg diff -r 9353^:9353 # ດຽວກັນໂດຍໃຊ້ syntax revset
hg diff -r 9353^2:9353 # ປຽບທຽບກັບພໍ່ແມ່ທີສອງ

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ການແກ້ໄຂ

-c,-- ການ​ປ່ຽນ​ແປງ​
ການ​ປ່ຽນ​ແປງ​ໂດຍ​ການ​ປັບ​ປຸງ​

-ກ, --ຂໍ້​ຄວາມ
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

--nodates
ຍົກເລີກວັນທີຈາກສ່ວນຫົວທີ່ແຕກຕ່າງ

--noprefix
omit a/ ແລະ b/ prefixes ຈາກ filenames

-p, --show-function
ສະແດງວ່າແຕ່ລະການປ່ຽນແປງຢູ່ໃນຫນ້າທີ່ໃດ

-- ປີ້ນ
ຜະລິດຄວາມແຕກຕ່າງທີ່ຍົກເລີກການປ່ຽນແປງ

-w, --ignore-all-space
ບໍ່ສົນໃຈພື້ນທີ່ສີຂາວເມື່ອປຽບທຽບເສັ້ນ

-b, --ignore-space-change
ບໍ່ສົນໃຈການປ່ຽນແປງຈໍານວນພື້ນທີ່ສີຂາວ

-B, --ignore-blank-lines
ບໍ່ສົນໃຈການປ່ຽນແປງຂອງແຖວທັງໝົດແມ່ນຫວ່າງເປົ່າ

-U,--ໂຮມ
ຈໍານວນແຖວຂອງບໍລິບົດທີ່ຈະສະແດງ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-- ຮາກ
ຜະລິດຄວາມແຕກຕ່າງທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີຍ່ອຍ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ການສົ່ງອອກ
ຖິ້ມສ່ວນຫົວ ແລະສ່ວນຕ່າງສຳລັບໜຶ່ງ ຫຼືຫຼາຍຊຸດການປ່ຽນແປງ:

hg ສົ່ງອອກ [ຕົວເລືອກ]... [-o OUTFILESPEC] [-r] [REV]...

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

ຂໍ້​ມູນ​ທີ່​ສະ​ແດງ​ໃຫ້​ເຫັນ​ຢູ່​ໃນ​ຫົວ​ຂໍ້​ການ​ປ່ຽນ​ແປງ​ແມ່ນ​: ຜູ້​ຂຽນ​, ວັນ​ທີ​, ຊື່​ສາ​ຂາ (ຖ້າ​ຫາກ​ວ່າ​
ບໍ່​ແມ່ນ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​)​, ການ​ປ່ຽນ​ແປງ hash​, ພໍ່​ແມ່ (s​) ແລະ​ຄໍາ​ຄິດ​ເຫັນ​.

ຫມາຍ​ເຫດ​ hg ການສົ່ງອອກ ອາດຈະສ້າງຜົນໄດ້ຮັບຄວາມແຕກຕ່າງທີ່ບໍ່ຄາດຄິດສໍາລັບການລວມຕົວປ່ຽນແປງ, ຕາມທີ່ມັນຈະ
ປຽບທຽບຊຸດການປ່ຽນແປງການຮວມກັບພໍ່ແມ່ທຳອິດຂອງມັນເທົ່ານັ້ນ.

ຜົນຜະລິດອາດຈະເປັນໄຟລ໌, ໃນກໍລະນີນີ້, ຊື່ຂອງໄຟລ໌ແມ່ນໃຫ້ໂດຍໃຊ້ຮູບແບບ
ສາຍ. ກົດລະບຽບການຈັດຮູບແບບມີດັ່ງນີ້:

%%

ຕົວໜັງສື "%" ຕົວອັກສອນ

%H

ການ​ປ່ຽນ​ແປງ hash (40 ເລກ​ຖານ​ສິບ​ຫົກ​)

%N

ຈໍາ​ນວນ​ຂອງ​ການ​ແກ້​ໄຂ​ທີ່​ຖືກ​ສ້າງ​ຂຶ້ນ​

%R

ປ່ຽນ​ແປງ​ຈໍາ​ນວນ​ການ​ແກ້​ໄຂ​

%b

ຊື່ພື້ນຖານຂອງ repository ສົ່ງອອກ

%h

ການປ່ຽນຮູບແບບສັ້ນ hash (12 ຕົວເລກຖານສິບຫົກ)

%m

ແຖວທຳອິດຂອງຂໍ້ຄວາມ commit (ສະເພາະຕົວອັກສອນທີ່ເປັນຕົວເລກ ແລະ ຕົວໜັງສືເທົ່ານັ້ນ)

%n

ເລກລໍາດັບສູນ padded, ເລີ່ມຈາກ 1

%r

ເລກດັດແກ້ຊຸດການປ່ຽນແປງສູນ padded

ຖ້າບໍ່ມີທາງເລືອກ -a/--text, ການສົ່ງອອກຈະຫຼີກເວັ້ນການສ້າງຄວາມແຕກຕ່າງຂອງໄຟລ໌ທີ່ມັນກວດພົບ
ຄູ່. ດ້ວຍ -a, ການສົ່ງອອກຈະສ້າງຄວາມແຕກຕ່າງຢ່າງໃດກໍ່ຕາມ, ອາດຈະເປັນຜົນໄດ້ຮັບທີ່ບໍ່ຕ້ອງການ.

ໃຊ້ຕົວເລືອກ -g/--git ເພື່ອສ້າງຄວາມແຕກຕ່າງໃນຮູບແບບ git ຂະຫຍາຍ diff. ເບິ່ງ hg ຊ່ວຍເຫຼືອ
ແຕກຕ່າງ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ດ້ວຍຕົວເລືອກ --switch-parent, ຄວາມແຕກຕ່າງຈະກົງກັນຂ້າມກັບພໍ່ແມ່ທີສອງ. ມັນສາມາດເປັນ
ເປັນປະໂຫຍດທີ່ຈະທົບທວນຄືນການລວມ.

ຕົວຢ່າງ:

· ນໍາ​ໃຊ້​ການ​ສົ່ງ​ອອກ​ແລະ​ນໍາ​ເຂົ້າ​ເພື່ອ​ການ​ປູກ​ພືດ​ແກ້​ໄຂ​ບັນ​ຫາ​ສາ​ຂາ​ປະ​ຈຸ​ບັນ​:

hg ສົ່ງອອກ -r 9353 | hg ການ​ນໍາ​ເຂົ້າ -

· ສົ່ງ​ອອກ​ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ລະ​ຫວ່າງ​ສອງ​ການ​ແກ້​ໄຂ​ກັບ​ໄຟລ​໌​ທີ່​ມີ​ຂໍ້​ມູນ​ການ​ປ່ຽນ​ຊື່​:

hg ສົ່ງອອກ --git -r 123:150 > change.txt

· ແບ່ງ​ປັນ​ການ​ປ່ຽນ​ແປງ​ອອກ​ເປັນ​ຊຸດ​ຂອງ​ການ​ເພີ້ມ​ທີ່​ມີ​ຊື່​ອະ​ທິ​ບາຍ​:

hg ສົ່ງອອກ -r "outgoing()" -o "%n-%m.patch"

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-o,-- ຜົນຜະລິດ
ພິມຜົນຜະລິດໄປຫາໄຟລ໌ທີ່ມີຊື່ຮູບແບບ

--ສະຫຼັບ-ພໍ່ແມ່
ຄວາມແຕກຕ່າງກັບພໍ່ແມ່ທີສອງ

-r,--rev
ການ​ປັບ​ປຸງ​ເພື່ອ​ສົ່ງ​ອອກ​

-ກ, --ຂໍ້​ຄວາມ
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

--nodates
ຍົກເລີກວັນທີຈາກສ່ວນຫົວທີ່ແຕກຕ່າງ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ໄຟ
ລາຍຊື່ໄຟລ໌ທີ່ຕິດຕາມ:

ໄຟລ໌ hg [ຕົວເລືອກ]... [ຮູບແບບ]...

ພິມໄຟລ໌ພາຍໃຕ້ການຄວບຄຸມ Mercurial ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກຫຼືການດັດແກ້ທີ່ລະບຸໄວ້
ຊື່​ກົງ​ກັບ​ຮູບ​ແບບ​ທີ່​ໄດ້​ຮັບ (ບໍ່​ລວມ​ເອົາ​ໄຟລ​໌​ທີ່​ເອົາ​ອອກ​)​.

ຖ້າບໍ່ມີຮູບແບບທີ່ໃຫ້ກົງກັນ, ຄໍາສັ່ງນີ້ຈະພິມຊື່ຂອງໄຟລ໌ທັງຫມົດພາຍໃຕ້
ການຄວບຄຸມ Mercurial ໃນໄດເລກະທໍລີເຮັດວຽກ.

ຕົວຢ່າງ:

·ລາຍຊື່ໄຟລ໌ທັງຫມົດພາຍໃຕ້ໄດເລກະທໍລີປະຈຸບັນ:

ໄຟລ໌ hg .

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ຂະ​ຫນາດ​ແລະ​ທຸງ​ສໍາ​ລັບ​ການ​ແກ້​ໄຂ​ໃນ​ປະ​ຈຸ​ບັນ​:

hg ໄຟລ໌ -vr .

·ລາຍຊື່ໄຟລ໌ທັງຫມົດທີ່ມີຊື່ README:

ໄຟລ໌ hg -I "**/README"

· ລາຍ​ຊື່​ໄຟລ​໌​ຖານ​ສອງ​ທັງ​ຫມົດ​:

hg ໄຟລ໌ "set:binary()"

·ຊອກຫາໄຟລ໌ທີ່ປະກອບດ້ວຍການສະແດງອອກປົກກະຕິ:

ໄຟລ໌ hg "set:grep('bob')"

· ຄົ້ນ​ຫາ​ຕິດ​ຕາມ​ເນື້ອ​ໃນ​ໄຟລ​໌​ທີ່​ມີ xargs ແລະ grep​:

hg ໄຟລ໌ -0 | xargs -0 grep foo

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ ແລະ hg ຊ່ວຍເຫຼືອ ຊຸດໄຟລ໌ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການລະບຸໄຟລ໌
ຮູບແບບ.

ຕອບ 0 ຖ້າພົບການຈັບຄູ່, 1 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຕົວເລືອກ:

-r,--rev
ຄົ້ນຫາ repository ຍ້ອນວ່າມັນຢູ່ໃນ REV

-0, --ພິມ0
ສິ້ນສຸດຊື່ໄຟລ໌ດ້ວຍ NUL, ສໍາລັບການນໍາໃຊ້ກັບ xargs

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ລືມ
ລືມໄຟລ໌ທີ່ລະບຸໄວ້ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ:

hg ລືມ [OPTION]... FILE...

ຫມາຍໄຟລ໌ທີ່ລະບຸໄວ້ເພື່ອບໍ່ໃຫ້ພວກມັນຖືກຕິດຕາມຫຼັງຈາກຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ.

ນີ້ພຽງແຕ່ເອົາໄຟລ໌ອອກຈາກສາຂາປະຈຸບັນ, ບໍ່ແມ່ນຈາກປະຫວັດໂຄງການທັງຫມົດ, ແລະ
ມັນບໍ່ລຶບພວກມັນອອກຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ເພື່ອລຶບໄຟລ໌ອອກຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ, ເບິ່ງ hg ເອົາ.

ເພື່ອຍົກເລີກການລືມກ່ອນທີ່ຈະເຮັດສັນຍາຕໍ່ໄປ, ເບິ່ງ hg ເພີ່ມ.

ຕົວຢ່າງ:

· ລືມໄຟລ໌ໄບນາຣີທີ່ເພີ່ມໃໝ່:

hg ລືມ "set:added() ແລະ binary()"

· ລືມໄຟລ໌ທີ່ຈະຖືກຍົກເວັ້ນໂດຍ .hgignore:

hg ລືມ "set:hgignore()"

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ການຕິດຕາ
ສຳເນົາການປ່ຽນແປງຈາກສາຂາອື່ນໃສ່ສາຂາປັດຈຸບັນ:

hg graft [OPTION]... [-r REV]... REV...

ຄໍາສັ່ງນີ້ໃຊ້ເຫດຜົນລວມຂອງ Mercurial ເພື່ອຄັດລອກການປ່ຽນແປງສ່ວນບຸກຄົນຈາກສາຂາອື່ນ
ໂດຍບໍ່ມີການລວມສາຂາຢູ່ໃນເສັ້ນສະແດງປະຫວັດສາດ. ນີ້ບາງຄັ້ງເອີ້ນວ່າ 'backporting' ຫຼື
'ເກັບ cherry'. ໂດຍຄ່າເລີ່ມຕົ້ນ, graft ຈະຄັດລອກຜູ້ໃຊ້, ວັນທີ, ແລະຄໍາອະທິບາຍຈາກແຫຼ່ງ
ການປ່ຽນແປງ.

ການປ່ຽນແປງທີ່ເປັນບັນພະບຸລຸດຂອງການປັບປຸງໃນປະຈຸບັນ, ທີ່ໄດ້ຮັບການ grafted ແລ້ວ, ຫຼື
ທີ່ຮວມກັນຈະຖືກຂ້າມໄປ.

ຖ້າ --log ຖືກ​ລະ​ບຸ​ໄວ້, ຂໍ້​ຄວາມ​ບັນ​ທຶກ​ຈະ​ມີ​ຄໍາ​ຄິດ​ເຫັນ​ຕໍ່​ທ້າຍ​ຂອງ​ຮູບ​ແບບ​ການ​:

(ແຕ່ງຈາກ CHANGESETHASH)

ຖ້າ -force ຖືກລະບຸ, ການປັບປຸງຈະຖືກສ້າງຂື້ນເຖິງແມ່ນວ່າພວກເຂົາເປັນບັນພະບຸລຸດແລ້ວ
ຫຼື​ໄດ້​ຮັບ​ການ grafted ກັບ​ຈຸດ​ຫມາຍ​ປາຍ​ທາງ​. ນີ້ແມ່ນເປັນປະໂຫຍດເມື່ອການດັດແກ້ມີຕັ້ງແຕ່ນັ້ນມາ
ຖືກ​ສະ​ຫນັບ​ສະ​ຫນູນ​ອອກ​.

ຖ້າ​ຫາກ​ວ່າ graft merge ຜົນ​ໃຫ້​ເກີດ​ຄວາມ​ຂັດ​ແຍ່ງ​, ຂະ​ບວນ​ການ graft ໄດ້​ຖືກ​ຂັດ​ຂວາງ​ດັ່ງ​ນັ້ນ​
ການຮວມປະຈຸບັນສາມາດແກ້ໄຂໄດ້ດ້ວຍຕົນເອງ. ເມື່ອຄວາມຂັດແຍ້ງທັງຫມົດຖືກແກ້ໄຂ, ການຕິດຂັດ
ຂະບວນການສາມາດສືບຕໍ່ໄດ້ດ້ວຍຕົວເລືອກ -c/--continue.

ໝາຍເຫດ ຕົວເລືອກ -c/--continue ບໍ່ໄດ້ນຳໃຊ້ຕົວເລືອກກ່ອນໜ້ານີ້ຄືນໃໝ່, ຍົກເວັ້ນສຳລັບ --force.

ຕົວຢ່າງ:

·ຄັດລອກການປ່ຽນແປງດຽວກັບສາຂາທີ່ຫມັ້ນຄົງແລະແກ້ໄຂຄໍາອະທິບາຍຂອງມັນ:

hg ປັບປຸງຄວາມຫມັ້ນຄົງ
hg graft --ດັດແກ້ 9393

· graft ຊ່ວງຂອງການປ່ຽນແປງທີ່ມີຂໍ້ຍົກເວັ້ນຫນຶ່ງ, ການປັບປຸງວັນທີ:

hg graft -D "2085:: 2093 ແລະບໍ່ 2091"

· ສືບຕໍ່ການສໍ້ລາດບັງຫຼວງຫຼັງຈາກການແກ້ໄຂຂໍ້ຂັດແຍ່ງ:

hg graft -c

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ແຫຼ່ງ​ຂອງ​ການ​ປ່ຽນ​ແປງ grafted​:

hg ບັນທຶກ --debug -r .

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ແກ້​ໄຂ​ຈັດ​ຮຽງ​ຕາມ​ວັນ​ທີ​:

hg log -r 'sort(all(), date)'

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ ແລະ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສໍາລັບເພີ່ມເຕີມກ່ຽວກັບການກໍານົດການດັດແກ້.

ຕອບ 0 ເມື່ອສຳເລັດສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ການ​ແກ້​ໄຂ​ການ​ຕິດ​ຕໍ່​ພົວ​ພັນ​

-c, --ສືບຕໍ່
ສືບຕໍ່ການຕິດພັນທີ່ຂັດຂວາງ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

--ບັນທຶກ ຕື່ມຂໍ້ມູນການຕິດຕາເພື່ອບັນທຶກຂໍ້ຄວາມ

-f, --ກຳລັງ
ບັງຄັບໃຫ້ກິນ

-D, --ວັນທີ
ບັນທຶກວັນທີປັດຈຸບັນເປັນວັນທີສັນຍາ

-U, -- ຜູ້ໃຊ້ປະຈຸບັນ
ບັນທຶກຜູ້ໃຊ້ປະຈຸບັນເປັນ committer

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

grep
ຄົ້ນ​ຫາ​ສໍາ​ລັບ​ຮູບ​ແບບ​ໃນ​ໄຟລ​໌​ທີ່​ກໍາ​ນົດ​ໄວ້​ແລະ​ການ​ແກ້​ໄຂ​:

hg grep [ຕົວເລືອກ]... ຮູບແບບ [ໄຟລ໌]...

ຄົ້ນຫາການດັດແກ້ໄຟລ໌ສໍາລັບການສະແດງອອກເປັນປົກກະຕິ.

ຄໍາສັ່ງນີ້ປະຕິບັດແຕກຕ່າງຈາກ Unix grep. ມັນຍອມຮັບພຽງແຕ່ Python / Perl regexps. ມັນ
ຄົ້ນຫາປະຫວັດການເກັບຮັກສາ, ບໍ່ແມ່ນໄດເລກະທໍລີທີ່ເຮັດວຽກ. ມັນພິມການດັດແກ້ສະ ເໝີ
ຕົວເລກທີ່ກົງກັນປາກົດ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, grep ພຽງແຕ່ພິມຜົນຜະລິດສໍາລັບການດັດແກ້ຄັ້ງທໍາອິດຂອງໄຟລ໌ທີ່ມັນພົບ a
ກົງກັນ. ເພື່ອເຮັດໃຫ້ມັນພິມທຸກການແກ້ໄຂທີ່ປະກອບດ້ວຍການປ່ຽນແປງໃນສະຖານະການຈັບຄູ່ ("-" ສໍາລັບ a
ການຈັບຄູ່ທີ່ກາຍເປັນການຈັບຄູ່, ຫຼື "+" ສໍາລັບການບໍ່ກົງກັນທີ່ກາຍເປັນການແຂ່ງຂັນ), ໃຊ້
--ທຸງທັງໝົດ.

ຕອບ 0 ຖ້າພົບການຈັບຄູ່, 1 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຕົວເລືອກ:

-0, --ພິມ0
ສິ້ນສຸດຊ່ອງຂໍ້ມູນດ້ວຍ NUL

--ທັງໝົດ ພິມການດັດແກ້ທັງຫມົດທີ່ກົງກັນ

-ກ, --ຂໍ້​ຄວາມ
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ

-f, --ຕິດຕາມ
ປະ​ຕິ​ບັດ​ຕາມ​ປະ​ຫວັດ​ສາດ​ການ​ປ່ຽນ​ແປງ​, ຫຼື​ປະ​ຫວັດ​ສາດ​ໄຟລ​໌​ໃນ​ທົ່ວ​ສໍາ​ເນົາ​ແລະ​ການ​ປ່ຽນ​ຊື່​

-i, -- ignore-case
ບໍ່ສົນໃຈກໍລະນີໃນເວລາທີ່ຈັບຄູ່

-l, --files-with-match
ພິມສະເພາະຊື່ໄຟລ໌ ແລະການແກ້ໄຂທີ່ກົງກັນ

-n, --ເລກແຖວ
ພິມຕົວເລກແຖວທີ່ກົງກັນ

-r,--rev
ພຽງແຕ່ຊອກຫາໄຟລ໌ທີ່ມີການປ່ຽນແປງພາຍໃນຂອບເຂດການແກ້ໄຂ

-u, -ຜູ້ໃຊ້
ລາຍຊື່ຜູ້ຂຽນ (ຍາວກັບ -v)

-d, - ວັນທີ
ບອກວັນທີ (ສັ້ນດ້ວຍ -q)

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຫົວຫນ້າ
ສະ​ແດງ​ໃຫ້​ເຫັນ​ຫົວ​ຫນ້າ​ສາ​ຂາ​:

hg ຫົວ [-ct] [-r STARTREV] [REV]...

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

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

ຖ້າ -c/--closed ຖືກລະບຸ, ໃຫ້ສະແດງຫົວສາຂາທີ່ໝາຍປິດ (ເບິ່ງ hg ຄໍາຫມັ້ນສັນຍາ
-- ສາຂາ).

ຖ້າ STARTREV ຖືກລະບຸ, ມີພຽງແຕ່ຫົວຫນ້າຜູ້ທີ່ເປັນລູກຫລານຂອງ STARTREV ເທົ່ານັ້ນ
ສະແດງ.

ຖ້າ -t/--topo ຖືກລະບຸ, ກົນໄກສາຂາທີ່ມີຊື່ຈະຖືກລະເລີຍແລະພຽງແຕ່ topological
ຫົວ (ຊຸດການປ່ຽນແປງທີ່ບໍ່ມີລູກ) ຈະຖືກສະແດງ.

ຕອບ 0 ຖ້າພົບຫົວທີ່ກົງກັນ, 1 ຖ້າບໍ່ແມ່ນ.

ຕົວເລືອກ:

-r,--rev
ສະ ແດງ ໃຫ້ ເຫັນ ພຽງ ແຕ່ ຫົວ ທີ່ ເປັນ ລູກ ຫລານ ຂອງ STARTREV

-t, --topo
ສະແດງໃຫ້ເຫັນຫົວ topological ເທົ່ານັ້ນ

-ກ, --active
ສະ​ແດງ​ຫົວ​ກິ່ງ​ທີ່​ມີ​ການ​ເຄື່ອນ​ໄຫວ​ເທົ່າ​ນັ້ນ (DEPRECATED​)

-c, -- ປິດ
ສະແດງໃຫ້ເຫັນຫົວສາຂາປົກກະຕິແລະປິດ

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

ຊ່ວຍເຫຼືອ
ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ຊ່ວຍ​ເຫຼືອ​ສໍາ​ລັບ​ຫົວ​ຂໍ້​ໃດ​ຫນຶ່ງ​ຫຼື​ສະ​ພາບ​ລວມ​ການ​ຊ່ວຍ​ເຫຼືອ​:

hg ຊ່ວຍ [-ecks] [TOPIC]

ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ພິມບັນຊີລາຍຊື່ຂອງຄໍາສັ່ງທີ່ມີຂໍ້ຄວາມຊ່ວຍເຫຼືອສັ້ນ.

ໃຫ້ຫົວຂໍ້, ສ່ວນຂະຫຍາຍ, ຫຼືຊື່ຄໍາສັ່ງ, ພິມການຊ່ວຍເຫຼືອສໍາລັບຫົວຂໍ້ນັ້ນ.

ຕອບ 0 ຖ້າສຳເລັດ.

ຕົວເລືອກ:

-e, --ສ່ວນຂະຫຍາຍ
ສະແດງໃຫ້ເຫັນພຽງແຕ່ການຊ່ວຍເຫຼືອສໍາລັບການຂະຫຍາຍ

-c, -- ຄໍາສັ່ງ
ສະແດງໃຫ້ເຫັນພຽງແຕ່ການຊ່ວຍເຫຼືອສໍາລັບຄໍາສັ່ງ

-k, -- ຄໍາສໍາຄັນ
ສະແດງຫົວຂໍ້ທີ່ກົງກັບຄໍາຫລັກ

- ແມ່ນແລ້ວ,--ລະບົບ
ສະແດງການຊ່ວຍເຫຼືອສໍາລັບເວທີສະເພາະ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

identify
ລະບຸໄດເລກະທໍລີທີ່ເຮັດວຽກຫຼືການດັດແກ້ທີ່ລະບຸໄວ້:

hg ລະບຸ [-nibtB] [-r REV] [SOURCE]

ພິມບົດສະຫຼຸບທີ່ລະບຸສະຖານະຂອງ repository ຢູ່ REV ໂດຍໃຊ້ຫນຶ່ງຫຼືສອງ hash ຂອງພໍ່ແມ່
identifiers, ຕາມດ້ວຍ "+" ຖ້າໄດເລກະທໍລີທີ່ເຮັດວຽກມີການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ, the
ຊື່ສາຂາ (ຖ້າບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນ), ບັນຊີລາຍຊື່ຂອງແທັກ, ແລະບັນຊີລາຍຊື່ຂອງ bookmarks.

ເມື່ອ REV ບໍ່ໄດ້ຖືກມອບໃຫ້, ພິມບົດສະຫຼຸບຂອງສະຖານະປັດຈຸບັນຂອງບ່ອນເກັບມ້ຽນ.

ການລະບຸເສັ້ນທາງໄປຫາຮາກບ່ອນເກັບມ້ຽນ ຫຼືຊຸດ Mercurial ຈະເຮັດໃຫ້ການຊອກຫາເຮັດວຽກຢູ່
repository/bundle ນັ້ນ.

ຕົວຢ່າງ:

·ສ້າງຕົວລະບຸການກໍ່ສ້າງສໍາລັບໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg id --id > build-id.dat

·ຊອກຫາການແກ້ໄຂທີ່ສອດຄ້ອງກັບແທັກ:

hg id -n -r 1.3

· ກວດ​ສອບ​ການ​ດັດ​ແກ້​ຫຼ້າ​ສຸດ​ຂອງ repository ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​:

hg id -r ປາຍ http://selenic.com/hg/

ເບິ່ງ hg log ສໍາລັບການສ້າງຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການດັດແກ້ສະເພາະ, ລວມທັງ hash ເຕັມ
ຕົວລະບຸ.

ຕອບ 0 ຖ້າສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ກໍານົດການແກ້ໄຂທີ່ກໍານົດໄວ້

-n, --ຕົວເລກ
ສະແດງຕົວເລກການແກ້ໄຂທ້ອງຖິ່ນ

-i, --id
ສະແດງ ID ການແກ້ໄຂທົ່ວໂລກ

-b, --ສາຂາ
ສາຂາສະແດງ

-t, --ແທັກ
ສະແດງແທັກ

-B, -- ບຸກມາກ
ສະແດງ bookmarks

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

ນາມແຝງ: id

ການນໍາເຂົ້າ
ການ​ນໍາ​ເຂົ້າ​ຊຸດ​ການ​ສັ່ງ​ຂອງ​ການ​ແກ້​ໄຂ​:

hg ນຳເຂົ້າ [OPTION]... PATCH...

ນໍາເຂົ້າບັນຊີລາຍຊື່ຂອງ patches ແລະ commit ໃຫ້ເຂົາເຈົ້າເປັນສ່ວນບຸກຄົນ (ເວັ້ນເສຍແຕ່ --no-commit ຖືກກໍານົດ).

ເພື່ອອ່ານ patch ຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ, ໃຊ້ "-" ເປັນຊື່ patch. ຖ້າ URL ຖືກລະບຸ, the
patch ຈະຖືກດາວໂຫຼດຈາກບ່ອນນັ້ນ.

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

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

ທ່ານ​ສາ​ມາດ​ນໍາ​ເຂົ້າ patch ໄດ້​ໂດຍ​ກົງ​ຈາກ​ຂໍ້​ຄວາມ​ເມລ​. ເຖິງແມ່ນວ່າ patches ເປັນໄຟລ໌ແນບເຮັດວຽກ (to
ການ​ນໍາ​ໃຊ້​ພາກ​ສ່ວນ​ຮ່າງ​ກາຍ​, ມັນ​ຈະ​ຕ້ອງ​ມີ​ປະ​ເພດ​ຕົວ​ອັກ​ສອນ / ທົ່ງ​ພຽງ​ຫຼື text / x-patch​)​. ຈາກ ແລະຫົວເລື່ອງ
ຂໍ້​ຄວາມ​ອີ​ເມລ​໌​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເປັນ committer ໄວ້​ໃນ​ຕອນ​ຕົ້ນ​ແລະ​ຂໍ້​ຄວາມ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​. ຂໍ້ຄວາມທັງໝົດ/ເນື້ອໃນທຳມະດາ
ພາກສ່ວນກ່ອນທີ່ຈະມີຄວາມແຕກຕ່າງທໍາອິດຖືກເພີ່ມໃສ່ຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາ.

ຖ້າ​ຫາກ​ວ່າ patch ທີ່​ນໍາ​ເຂົ້າ​ໄດ້​ຖືກ​ສ້າງ​ຂຶ້ນ​ໂດຍ hg ການສົ່ງອອກ, ຜູ້ໃຊ້ແລະຄໍາອະທິບາຍຈາກ patch override
ຄ່າຈາກສ່ວນຫົວຂໍ້ຄວາມ ແລະເນື້ອໃນ. ຄ່າທີ່ໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງທີ່ມີ -m/--ຂໍ້ຄວາມ ແລະ
-u/- ຜູ້ໃຊ້ແທນທີ່ສິ່ງເຫຼົ່ານີ້.

ຖ້າ --exact ຖືກລະບຸ, ການນໍາເຂົ້າຈະກໍານົດໄດເລກະທໍລີທີ່ເຮັດວຽກເປັນພໍ່ແມ່ຂອງແຕ່ລະ patch
ກ່ອນທີ່ຈະນໍາໃຊ້ມັນ, ແລະຈະຍົກເລີກຖ້າຫາກວ່າການປ່ຽນແປງຜົນໄດ້ຮັບມີ ID ທີ່ແຕກຕ່າງກັນກ່ວາ
ຫນຶ່ງທີ່ບັນທຶກໄວ້ໃນ patch ໄດ້. ອັນນີ້ອາດຈະເກີດຂຶ້ນຍ້ອນບັນຫາຊຸດຕົວລະຄອນ ຫຼືອື່ນໆ
ຂໍ້ບົກຜ່ອງໃນຮູບແບບການແກ້ໄຂຂໍ້ຄວາມ.

ໃຊ້ --partial ເພື່ອຮັບປະກັນຊຸດການປ່ຽນແປງຈະຖືກສ້າງຂຶ້ນຈາກ patch ເຖິງແມ່ນວ່າບາງ hunks ລົ້ມເຫລວ
ເພື່ອສະຫມັກ. Hunks ທີ່ບໍ່ສາມາດນຳໃຊ້ໄດ້ຈະຖືກຂຽນໃສ່ a ໄຟລ໌ .rej. ຂໍ້ຂັດແຍ່ງ
ຫຼັງຈາກນັ້ນສາມາດແກ້ໄຂດ້ວຍມືກ່ອນ hg ຄໍາຫມັ້ນສັນຍາ --ປັບປຸງ ແມ່ນດໍາເນີນການເພື່ອປັບປຸງການສ້າງ
ການປ່ຽນແປງ. ທຸງນີ້ມີຢູ່ເພື່ອໃຫ້ຄົນນຳເຂົ້າແພັດທີ່ນຳໃຊ້ບາງສ່ວນໂດຍບໍ່ໃຊ້
ສູນເສຍ metadata ທີ່ກ່ຽວຂ້ອງ (ຜູ້ຂຽນ, ວັນທີ, ຄໍາອະທິບາຍ, ...).

ຫມາຍເຫດເມື່ອບໍ່ມີ hunks ຖືກນໍາໃຊ້ຢ່າງສະອາດ, hg ການນໍາເຂົ້າ -- ບາງສ່ວນ ຈະສ້າງຊຸດການປ່ຽນແປງຫວ່າງເປົ່າ,
ການນໍາເຂົ້າພຽງແຕ່ metadata ແກ້ໄຂ.

ດ້ວຍ -s/-- ຄວາມຄ້າຍຄືກັນ, hg ຈະພະຍາຍາມຄົ້ນພົບການປ່ຽນຊື່ແລະສໍາເນົາໃນ patch ໃນ.
ວິທີການດຽວກັນກັບ hg ລົບອອກ.

ມັນເປັນໄປໄດ້ທີ່ຈະນໍາໃຊ້ໂຄງການ patch ພາຍນອກເພື່ອປະຕິບັດການ patch ໂດຍການຕັ້ງຄ່າ ui.patch
ທາງ​ເລືອກ​ການ​ຕັ້ງ​ຄ່າ​. ສໍາລັບເຄື່ອງມືພາຍໃນເລີ່ມຕົ້ນ, fuzz ຍັງສາມາດຕັ້ງຄ່າໄດ້ໂດຍຜ່ານ
patch.fuzz, ທະເລສາບ hg ຊ່ວຍເຫຼືອ config ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າ ແລະວິທີການ
ໃຊ້ຕົວເລືອກເຫຼົ່ານີ້.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ຕົວຢ່າງ:

·ນໍາເຂົ້າ patch ແບບດັ້ງເດີມຈາກເວັບໄຊທ໌ແລະກວດພົບການປ່ຽນຊື່:

hg ນໍາເຂົ້າ -s 80 http://example.com/bugfix.patch

·ນໍາເຂົ້າຊຸດການປ່ຽນແປງຈາກເຄື່ອງແມ່ຂ່າຍຂອງ hgweb:

hg ນໍາເຂົ້າ http://www.selenic.com/hg/rev/5ca8c111e9aa

· ນຳ ເຂົ້າ patches ທັງໝົດໃນ mbox ແບບ Unix:

hg ນໍາເຂົ້າ incoming-patches.mbox

· ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ຟື້ນ​ຟູ​ການ​ປ່ຽນ​ແປງ​ທີ່​ສົ່ງ​ອອກ​ຢ່າງ​ແທ້​ຈິງ (ບໍ່​ເປັນ​ໄປ​ໄດ້​ສະ​ເຫມີ​ໄປ​)​:

hg ນໍາເຂົ້າ --exact proposed-fix.patch

· ໃຊ້ເຄື່ອງມືພາຍນອກເພື່ອນຳໃຊ້ແພັກເກັດທີ່ສັບສົນເກີນໄປສຳລັບເຄື່ອງມືພາຍໃນເລີ່ມຕົ້ນ.

hg ນໍາເຂົ້າ --config ui.patch="patch --merge" fuzzy.patch

·ປ່ຽນ fuzzing ເລີ່ມຕົ້ນຈາກ 2 ເປັນ 7 ທີ່ເຄັ່ງຄັດຫນ້ອຍ

hg ນໍາເຂົ້າ --config ui.fuzz=7 fuzz.patch

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ໃນຄວາມສຳເລັດບາງສ່ວນ (ເບິ່ງ --partial).

ຕົວເລືອກ:

-p,--ເສັ້ນ
ທາງເລືອກແຖບໄດເລກະທໍລີສໍາລັບ patch. ນີ້ມີຄວາມຫມາຍດຽວກັນກັບທີ່ສອດຄ້ອງກັນ
ທາງ​ເລືອກ​ການ​ແກ້​ໄຂ (ຄ່າ​ເລີ່ມ​ຕົ້ນ​: 1​)

-b,--ຖານ
ເສັ້ນ​ທາງ​ພື້ນ​ຖານ (DEPRECATED)

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-f, --ກຳລັງ
ຂ້າມການກວດສອບສໍາລັບການປ່ຽນແປງທີ່ຍັງຄ້າງຄາທີ່ບໍ່ໄດ້ຕົກລົງ (DEPRECATED)

--no-commit
ຢ່າເຮັດ, ພຽງແຕ່ປັບປຸງໄດເລກະທໍລີທີ່ເຮັດວຽກ

--ທາງຜ່ານ
ນໍາໃຊ້ patch ໂດຍບໍ່ມີການສໍາຜັດກັບໄດເລກະທໍລີທີ່ເຮັດວຽກ

-- ບາງສ່ວນ
ຫມັ້ນສັນຍາເຖິງແມ່ນວ່າບາງ hunks ລົ້ມເຫລວ

--ແນ່ນອນ
ໃຊ້ patch ກັບ nodes ຈາກທີ່ມັນຖືກສ້າງຂຶ້ນ

-- ຄໍານໍາຫນ້າ
ນໍາໃຊ້ patch ກັບ subdirectory

--ສາຂາການນໍາເຂົ້າ
ໃຊ້ຂໍ້ມູນສາຂາໃດນຶ່ງໃນ patch (ໝາຍເຖິງໂດຍ --exact)

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

- ແມ່ນແລ້ວ,-- ຄວາມ​ຄ້າຍ​ຄື​ກັນ​
ເດົາປ່ຽນຊື່ໄຟລ໌ຕາມຄວາມຄ້າຍຄືກັນ (0<=s<=100)

ນາມແຝງ: patch

ເຂົ້າມາ
ສະແດງໃຫ້ເຫັນການປ່ຽນແປງໃຫມ່ທີ່ພົບເຫັນຢູ່ໃນແຫຼ່ງ:

hg ຂາເຂົ້າ [-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]

ສະ​ແດງ​ການ​ປ່ຽນ​ແປງ​ໃຫມ່​ທີ່​ພົບ​ເຫັນ​ຢູ່​ໃນ​ເສັ້ນ​ທາງ / URL ທີ່​ກໍາ​ນົດ​ໄວ້​ຫຼື​ສະ​ຖານ​ທີ່​ດຶງ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​. ເຫຼົ່ານີ້
ແມ່ນການປ່ຽນແປງທີ່ຈະຖືກດຶງອອກຖ້າມີການດຶງໃນເວລາທີ່ເຈົ້າອອກສິ່ງນີ້
ຄໍາສັ່ງ.

ເບິ່ງດຶງສໍາລັບລາຍລະອຽດຮູບແບບແຫຼ່ງທີ່ຖືກຕ້ອງ.

ດ້ວຍ -B/--bookmarks, ຜົນຂອງການປຽບທຽບບຸກມາກລະຫວ່າງທ້ອງຖິ່ນ ແລະທາງໄກ
repositories ຖືກສະແດງ. ດ້ວຍ -v/--verbose, ສະຖານະຍັງຖືກສະແດງສໍາລັບແຕ່ລະ bookmark
ຄືດັ່ງລຸ່ມນີ້:

BM1 01234567890a ເພີ່ມ
BM2 1234567890ab ກ້າວຫນ້າ
BM3 234567890abc diverged
BM4 34567890abcd ປ່ຽນ

ການປະຕິບັດຢູ່ໃນທ້ອງຖິ່ນໃນເວລາທີ່ດຶງແມ່ນຂຶ້ນກັບສະຖານະພາບຂອງແຕ່ລະ bookmark:

ເພີ່ມ

ດຶງ​ຈະ​ສ້າງ​ມັນ​

ກ້າວຫນ້າທາງດ້ານ

pull ຈະປັບປຸງມັນ

ແຕກຕ່າງ

pull ຈະສ້າງ bookmark ທີ່ແຕກຕ່າງກັນ

ປ່ຽນແປງ

ຜົນໄດ້ຮັບແມ່ນຂຶ້ນກັບການປ່ຽນແປງທາງໄກ

ຈາກຈຸດຂອງພຶດຕິກໍາການດຶງ, bookmark ທີ່ມີຢູ່ແລ້ວພຽງແຕ່ຢູ່ໃນຫ່າງໄກສອກຫຼີກ
repository ໄດ້ຖືກປະຕິບັດເປັນ ເພີ່ມ, ເຖິງແມ່ນວ່າມັນຈະຖືກລຶບຢູ່ໃນທ້ອງຖິ່ນ.

ສໍາລັບ repository ຫ່າງໄກສອກຫຼີກ, ການນໍາໃຊ້ --bundle ຫຼີກເວັ້ນການດາວໂຫຼດການປ່ຽນແປງສອງຄັ້ງຖ້າຫາກວ່າ
ຂາເຂົ້າແມ່ນຕິດຕາມດ້ວຍການດຶງ.

ຕົວຢ່າງ:

·​ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ປ່ຽນ​ແປງ​ທີ່​ມີ​ການ​ແກ້​ໄຂ​ແລະ​ລາຍ​ລະ​ອຽດ​ເຕັມ​ທີ່​:

hg ຂາເຂົ້າ -vp

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ປ່ຽນ​ແປງ​ທີ່​ມາ​ບໍ່​ລວມ​ທັງ​ການ​ລວມ​ເຂົ້າ​ກັນ​, ເກັບ​ຮັກ​ສາ​ຊຸດ​:

hg ໃນ -vpM --bundle incoming.hg
hg ດຶງ incoming.hg

· ບອກຫຍໍ້ການປ່ຽນແປງພາຍໃນຊຸດ:

hg ໃນການປ່ຽນແປງ.hg -T "{desc|firstline}\n"

ຕອບ 0 ຖ້າມີການປ່ຽນແປງທີ່ເຂົ້າມາ, 1 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ດໍາເນີນການເຖິງແມ່ນວ່າ repository ຫ່າງໄກສອກຫຼີກແມ່ນບໍ່ກ່ຽວຂ້ອງ

-n, --ໃໝ່ລ່າສຸດ-ທຳອິດ
ສະແດງໃຫ້ເຫັນສະຖິຕິໃຫມ່ທີ່ສຸດຄັ້ງທໍາອິດ

--ມັດ
ໄຟລ​໌​ທີ່​ຈະ​ເກັບ​ກໍາ​ຂໍ້​ມູນ​ເຂົ້າ​ໄປ​ໃນ​

-r,--rev
ຊຸດການປ່ຽນແປງທາງໄກທີ່ມີຈຸດປະສົງຈະເພີ່ມ

-B, -- ບຸກມາກ
ປຽບທຽບ bookmarks

-b,--ສາຂາ
ສາຂາສະເພາະທີ່ທ່ານຕ້ອງການດຶງ

-p, --patch
ສະແດງ patch

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-l,-- ຈຳກັດ
ຈໍາກັດຈໍານວນການປ່ຽນແປງທີ່ສະແດງ

-M, -- ບໍ່ລວມ
ບໍ່ສະແດງໃຫ້ເຫັນການລວມ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-G, --ກຣາຟ
ສະແດງການດັດແກ້ DAG

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ໃນ

ໃນ​ມັນ
ສ້າງ repository ໃຫມ່ໃນໄດເລກະທໍລີທີ່ໃຫ້:

hg init [-e CMD] [--remotecmd CMD] [DEST]

ເລີ່ມຕົ້ນບ່ອນເກັບມ້ຽນໃຫມ່ໃນໄດເລກະທໍລີທີ່ໃຫ້. ຖ້າບໍ່ມີໄດເລກະທໍລີທີ່ໃຫ້ໄວ້,
ມັນຈະຖືກສ້າງຂື້ນ.

ຖ້າບໍ່ມີໄດເລກະທໍລີຖືກໃຫ້, ໄດເລກະທໍລີປະຈຸບັນຖືກນໍາໃຊ້.

ມັນເປັນໄປໄດ້ທີ່ຈະລະບຸເປັນ ssh:// URL ເປັນປາຍທາງ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບການຫຼາຍ
ຂໍ້ມູນຂ່າວສານ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

ຊອກຫາສະຖານທີ່
ຊອກຫາໄຟລ໌ທີ່ກົງກັບຮູບແບບສະເພາະ (DEPRECATED):

hg ຊອກຫາ [ຕົວເລືອກ]... [ຮູບແບບ]...

ພິມໄຟລ໌ພາຍໃຕ້ການຄວບຄຸມ Mercurial ໃນໄດເລກະທໍລີເຮັດວຽກທີ່ມີຊື່ກົງກັບທີ່ໃຫ້
ຮູບແບບ.

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

ຖ້າບໍ່ມີຮູບແບບທີ່ໃຫ້ກົງກັນ, ຄໍາສັ່ງນີ້ຈະພິມຊື່ຂອງໄຟລ໌ທັງຫມົດພາຍໃຕ້
ການຄວບຄຸມ Mercurial ໃນໄດເລກະທໍລີເຮັດວຽກ.

ຖ້າທ່ານຕ້ອງການໃຫ້ຜົນຜະລິດຂອງຄໍາສັ່ງນີ້ເຂົ້າໄປໃນຄໍາສັ່ງ "xargs", ໃຊ້ຕົວເລືອກ -0
ທັງຄໍາສັ່ງນີ້ແລະ "xargs". ນີ້ຈະຫຼີກເວັ້ນບັນຫາຂອງ "xargs" ການປິ່ນປົວດຽວ
ຊື່ໄຟລ໌ທີ່ມີຊ່ອງຫວ່າງເປັນຫຼາຍຊື່ໄຟລ໌.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄຟ ສໍາລັບຄໍາສັ່ງທີ່ຫຼາກຫຼາຍຫຼາຍ.

ຕອບ 0 ຖ້າພົບການຈັບຄູ່, 1 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຕົວເລືອກ:

-r,--rev
ຄົ້ນຫາ repository ຍ້ອນວ່າມັນຢູ່ໃນ REV

-0, --ພິມ0
ສິ້ນສຸດຊື່ໄຟລ໌ດ້ວຍ NUL, ສໍາລັບການນໍາໃຊ້ກັບ xargs

-f, -- ເຕັມເສັ້ນທາງ
ພິມເສັ້ນທາງທີ່ສົມບູນຈາກຮາກລະບົບໄຟລ໌

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

log
ສະແດງປະຫວັດການແກ້ໄຂຂອງບ່ອນເກັບມ້ຽນທັງໝົດ ຫຼືໄຟລ໌:

ບັນທຶກ hg [ຕົວເລືອກ]... [FILE]

ພິມປະຫວັດການແກ້ໄຂຂອງໄຟລ໌ທີ່ລະບຸໄວ້ຫຼືໂຄງການທັງຫມົດ.

ຖ້າບໍ່ມີການກໍານົດຂອບເຂດການແກ້ໄຂ, ຄ່າເລີ່ມຕົ້ນແມ່ນ ປາຍ: 0 ເວັ້ນເສຍແຕ່ -follow ຖືກກໍານົດ, ໃນນັ້ນ
ກໍລະນີທີ່ພໍ່ແມ່ໄດເລກະທໍລີທີ່ເຮັດວຽກຖືກນໍາໃຊ້ເປັນການແກ້ໄຂເລີ່ມຕົ້ນ.

ປະຫວັດໄຟລ໌ຖືກສະແດງໂດຍບໍ່ໄດ້ປະຕິບັດຕາມການປ່ຽນຊື່ ຫຼືປະຫວັດການສຳເນົາຂອງໄຟລ໌. ໃຊ້ -f/--follow
ດ້ວຍຊື່ໄຟລ໌ເພື່ອຕິດຕາມປະຫວັດການປ່ຽນຊື່ ແລະສຳເນົາ. --ຕິດຕາມໂດຍບໍ່ມີຊື່ໄຟລ໌
ຈະສະແດງພຽງແຕ່ບັນພະບຸລຸດຫຼືລູກຫລານຂອງການປັບປຸງໃຫມ່ທີ່ເລີ່ມຕົ້ນ.

ໂດຍຄ່າເລີ່ມຕົ້ນຄໍາສັ່ງນີ້ພິມຈໍານວນການແກ້ໄຂແລະການປ່ຽນແປງ id, tags, ບໍ່ແມ່ນເລື່ອງເລັກນ້ອຍ
ພໍ່ແມ່, ຜູ້ໃຊ້, ວັນທີແລະເວລາ, ແລະບົດສະຫຼຸບສໍາລັບແຕ່ລະຄໍາຫມັ້ນສັນຍາ. ເມື່ອສະຫຼັບ -v/--verbose
ຖືກ​ນໍາ​ໃຊ້​, ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ໄຟລ​໌​ປ່ຽນ​ແປງ​ແລະ​ຂໍ້​ຄວາມ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຢ່າງ​ເຕັມ​ທີ່​ແມ່ນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​.

ດ້ວຍ --graph ການດັດແກ້ແມ່ນສະແດງເປັນ DAG ສິລະປະ ASCII ທີ່ມີການປ່ຽນແປງຫຼ້າສຸດຢູ່ທີ່
ດ້ານ​ເທິງ. 'o' ແມ່ນຊຸດການປ່ຽນແປງ, '@' ແມ່ນໄດເລກະທໍລີພໍ່ແມ່ທີ່ເຮັດວຽກ, 'x' ລ້າສະໄຫມ, ແລະ '+'
ເປັນຕົວແທນຂອງສ້ອມທີ່ຊຸດການປ່ຽນແປງຈາກເສັ້ນຂ້າງລຸ່ມນີ້ແມ່ນພໍ່ແມ່ຂອງ 'o' merge ສຸດ
ເສັ້ນດຽວກັນ.

ຫມາຍ​ເຫດ​ hg log --patch ອາດຈະສ້າງຜົນໄດ້ຮັບຄວາມແຕກຕ່າງທີ່ບໍ່ຄາດຄິດສໍາລັບການລວມຕົວປ່ຽນແປງ, ຕາມທີ່ມັນຈະ
ພຽງແຕ່ປຽບທຽບຊຸດການປ່ຽນແປງການລວມກັບພໍ່ແມ່ທໍາອິດຂອງມັນ. ນອກຈາກນີ້, ພຽງແຕ່ໄຟລ໌
ທີ່ແຕກຕ່າງຈາກພໍ່ແມ່ທັງສອງຈະປາກົດຢູ່ໃນໄຟລ໌:.

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

ບາງຕົວຢ່າງ:

· ການປ່ຽນແປງທີ່ມີຄໍາອະທິບາຍເຕັມຮູບແບບ ແລະລາຍການໄຟລ໌:

hg ບັນທຶກ -v

· ການ​ປ່ຽນ​ແປງ​ບັນ​ພະ​ບຸ​ລຸດ​ກັບ​ລະ​ບົບ​ການ​ເຮັດ​ວຽກ​:

hg ບັນທຶກ -f

· 10 ສຸດທ້າຍ commits ໃນສາຂາປະຈຸບັນ:

hg log -l 10 -b .

·ຊຸດການປ່ຽນແປງທີ່ສະແດງໃຫ້ເຫັນການດັດແກ້ທັງຫມົດຂອງໄຟລ໌, ລວມທັງການໂຍກຍ້າຍ:

hg log --removed file.c

· ທຸກ​ການ​ປ່ຽນ​ແປງ​ທີ່​ສໍາ​ຜັດ​ກັບ​ບັນ​ຊີ​ລາຍ​ການ​, ມີ​ຄວາມ​ແຕກ​ຕ່າງ​, ບໍ່​ລວມ​ທັງ​ການ​ລວມ​:

ບັນທຶກ hg -Mp lib/

·ຕົວເລກການແກ້ໄຂທັງຫມົດທີ່ກົງກັບຄໍາສໍາຄັນ:

hg log -k bug --ແມ່ແບບ "{rev}\n"

·ຕົວລະບຸ hash ເຕັມຂອງໄດເລກະທໍລີພໍ່ແມ່ທີ່ເຮັດວຽກ:

hg ບັນທຶກ -r . --ແມ່ແບບ "{node}\n"

·ລາຍຊື່ແມ່ແບບບັນທຶກທີ່ມີຢູ່:

hg ບັນທຶກ -T ບັນຊີລາຍຊື່

· ກວດເບິ່ງວ່າຊຸດການປ່ຽນແປງທີ່ລະບຸນັ້ນລວມຢູ່ໃນການປ່ອຍທີ່ແທັກແລ້ວບໍ່:

hg log -r "a21ccf ແລະບັນພະບຸລຸດ(1.9)"

· ຊອກຫາການປ່ຽນແປງທັງໝົດໂດຍຜູ້ໃຊ້ບາງຄົນໃນຂອບເຂດວັນທີ:

hg log -k alice -d "ເດືອນພຶດສະພາ 2008 ຫາເດືອນກໍລະກົດ 2008"

· ສະຫຼຸບຂອງການປ່ຽນແປງທັງໝົດຫຼັງຈາກແທັກສຸດທ້າຍ:

hg log -r "last(tagged():" --template "{desc|firstline}\n"

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ ແລະ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການກໍານົດແລະຄໍາສັ່ງ
ການປັບປຸງ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແມ່ແບບ ສໍາລັບເພີ່ມເຕີມກ່ຽວກັບຮູບແບບການຫຸ້ມຫໍ່ກ່ອນແລະການກໍານົດແມ່ແບບທີ່ກໍາຫນົດເອງ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-f, --ຕິດຕາມ
ປະ​ຕິ​ບັດ​ຕາມ​ປະ​ຫວັດ​ສາດ​ການ​ປ່ຽນ​ແປງ​, ຫຼື​ປະ​ຫວັດ​ສາດ​ໄຟລ​໌​ໃນ​ທົ່ວ​ສໍາ​ເນົາ​ແລະ​ການ​ປ່ຽນ​ຊື່​

-- ປະ​ຕິ​ບັດ​ຕາມ​ທໍາ​ອິດ​
ພຽງ​ແຕ່​ປະ​ຕິ​ບັດ​ຕາມ​ແມ່​ທໍາ​ອິດ​ຂອງ​ການ​ປ່ຽນ​ແປງ​ການ​ລວມ (DEPRECATED)

-d,- ວັນທີ
ສະແດງການດັດແກ້ທີ່ກົງກັບ spec ວັນທີ

-C, -- ສຳເນົາ
ສະ​ແດງ​ໄຟລ​໌​ສໍາ​ເນົາ​

-k,-- ຄໍາສໍາຄັນ
ຄົ້ນຫາຂໍ້ຄວາມທີ່ບໍ່ມີຕົວພິມນ້ອຍໃສ່ຕົວພິມນ້ອຍໃຫຍ່

-r,--rev
ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ດັດ​ແກ້​ທີ່​ກໍາ​ນົດ​ໄວ້​ຫຼື revset​

-- ເອົາ​ອອກ​
ລວມເອົາການດັດແກ້ທີ່ໄຟລ໌ຖືກເອົາອອກ

-m, -- only-merges
ສະ​ແດງ​ໃຫ້​ເຫັນ​ພຽງ​ແຕ່​ການ​ລວມ (DEPRECATED)

-u,-ຜູ້ໃຊ້
ການແກ້ໄຂທີ່ເຮັດໂດຍຜູ້ໃຊ້

--ສາຂາດຽວ
ສະແດງພຽງແຕ່ການປ່ຽນແປງພາຍໃນສາຂາທີ່ມີຊື່ (DEPRECATED)

-b,--ສາຂາ
ສະແດງການປ່ຽນແປງພາຍໃນສາຂາທີ່ມີຊື່

-P,--prune
ຢ່າສະແດງການດັດແກ້ຫຼືບັນພະບຸລຸດຂອງມັນ

-p, --patch
ສະແດງ patch

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-l,-- ຈຳກັດ
ຈໍາກັດຈໍານວນການປ່ຽນແປງທີ່ສະແດງ

-M, -- ບໍ່ລວມ
ບໍ່ສະແດງໃຫ້ເຫັນການລວມ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-G, --ກຣາຟ
ສະແດງການດັດແກ້ DAG

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ປະຫວັດສາດ

manifest
ອອກ​ບົດ​ລາຍ​ງານ​ການ​ແກ້​ໄຂ​ປະ​ຈຸ​ບັນ​ຫຼື​ທີ່​ໄດ້​ຮັບ​ຂອງ​ໂຄງ​ການ manifest​:

hg manifest [-r REV]

ພິມບັນຊີລາຍຊື່ຂອງໄຟລ໌ຄວບຄຸມສະບັບສໍາລັບການດັດແກ້ທີ່ໃຫ້. ຖ້າບໍ່ມີການດັດແກ້,
ພໍ່ແມ່ທໍາອິດຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກແມ່ນຖືກນໍາໃຊ້, ຫຼືການແກ້ໄຂ null ຖ້າບໍ່ມີການດັດແກ້
ເຊັກເອົາ.

ດ້ວຍ -v, ການອະນຸຍາດໄຟລ໌ພິມ, symlink ແລະ bits ທີ່ສາມາດປະຕິບັດໄດ້. ດ້ວຍ --debug, ພິມໄຟລ໌
ການ​ແກ້​ໄຂ hashes​.

ຖ້າທາງເລືອກ --all ຖືກລະບຸ, ບັນຊີລາຍຊື່ຂອງໄຟລ໌ທັງຫມົດຈາກການດັດແກ້ທັງຫມົດຈະຖືກພິມອອກ. ນີ້
ລວມມີໄຟລ໌ທີ່ຖືກລຶບ ແລະປ່ຽນຊື່.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ການ​ແກ້​ໄຂ​ເພື່ອ​ສະ​ແດງ​

--ທັງໝົດ ລາຍຊື່ໄຟລ໌ຈາກການດັດແກ້ທັງຫມົດ

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

ລວມ
ລວມການດັດແກ້ອື່ນເຂົ້າໄປໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg ຮວມ [-P] [[-r] REV]

ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນໄດ້ຖືກປັບປຸງດ້ວຍການປ່ຽນແປງທັງຫມົດທີ່ເຮັດໃນການແກ້ໄຂທີ່ຮ້ອງຂໍ
ນັບຕັ້ງແ​​ຕ່ການປັບປຸງ predecessor ທົ່ວໄປທີ່ຜ່ານມາ.

ໄຟລ໌ທີ່ມີການປ່ຽນແປງລະຫວ່າງພໍ່ແມ່ແມ່ນຖືກໝາຍວ່າມີການປ່ຽນແປງສໍາລັບຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ ແລະ a
commit ຕ້ອງໄດ້ຮັບການປະຕິບັດກ່ອນທີ່ຈະມີການປັບປຸງເພີ່ມເຕີມຕໍ່ກັບ repository ໄດ້ຖືກອະນຸຍາດ. ໄດ້
ຄໍາຫມັ້ນສັນຍາຕໍ່ໄປຈະມີສອງພໍ່ແມ່.

--ເຄື່ອງ​ມື ສາມາດໃຊ້ເພື່ອລະບຸເຄື່ອງມືການຮວມທີ່ໃຊ້ສຳລັບການຮວມໄຟລ໌. ມັນ overrides ໄດ້
ຕົວແປສະພາບແວດລ້ອມ HGMERGE ແລະໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ merge-ເຄື່ອງ​ມື​ ສໍາລັບການ
ຕົວເລືອກ

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

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແກ້ໄຂ ສໍາລັບຂໍ້ມູນກ່ຽວກັບການຈັດການຂໍ້ຂັດແຍ່ງຂອງໄຟລ໌.

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

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າມີໄຟລ໌ທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ບັງຄັບການລວມຕົວລວມທັງການປ່ຽນແປງທີ່ຍັງຄ້າງຄາ (DEPRECATED)

-r,--rev
ການ​ທົບ​ທວນ​ຄືນ​ທີ່​ຈະ​ລວມ​

-P, --ເບິ່ງຕົວຢ່າງ
ກວດ​ສອບ​ການ​ແກ້​ໄຂ​ທີ່​ຈະ​ລວມ (ບໍ່​ມີ​ການ​ລວມ​ແມ່ນ​ປະ​ຕິ​ບັດ​)

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

ລາຍຈ່າຍ
ສະແດງການປ່ຽນແປງທີ່ບໍ່ພົບໃນປາຍທາງ:

hg ຂາອອກ [-M] [-p] [-n] [-f] [-r REV] ... [DEST]

ສະ​ແດງ​ການ​ປ່ຽນ​ແປງ​ທີ່​ບໍ່​ໄດ້​ພົບ​ເຫັນ​ຢູ່​ໃນ repository ຈຸດ​ຫມາຍ​ປາຍ​ທາງ​ທີ່​ກໍາ​ນົດ​ໄວ້​ຫຼື​ການ​ກົດ​ດັນ​ໃນ​ຕອນ​ຕົ້ນ​
ສະຖານທີ່. ເຫຼົ່ານີ້ແມ່ນການປ່ຽນແປງທີ່ຈະໄດ້ຮັບການ pushed ຖ້າມີການຮ້ອງຂໍການຊຸກຍູ້.

ເບິ່ງການດຶງສໍາລັບລາຍລະອຽດຂອງຮູບແບບປາຍທາງທີ່ຖືກຕ້ອງ.

ດ້ວຍ -B/--bookmarks, ຜົນຂອງການປຽບທຽບບຸກມາກລະຫວ່າງທ້ອງຖິ່ນ ແລະທາງໄກ
repositories ຖືກສະແດງ. ດ້ວຍ -v/--verbose, ສະຖານະຍັງຖືກສະແດງສໍາລັບແຕ່ລະ bookmark
ຄືດັ່ງລຸ່ມນີ້:

BM1 01234567890a ເພີ່ມ
BM2 ຖືກລົບ
BM3 234567890abc ກ້າວຫນ້າ
BM4 34567890abcd diverged
BM5 4567890abcde ປ່ຽນ

ການປະຕິບັດໃນເວລາທີ່ pushing ແມ່ນຂຶ້ນກັບສະຖານະພາບຂອງແຕ່ລະ bookmark:

ເພີ່ມ

ຍູ້ດ້ວຍ -B ຈະສ້າງມັນ

ຖືກລຶບ

ຍູ້ດ້ວຍ -B ຈະລຶບມັນ

ກ້າວຫນ້າທາງດ້ານ

push ຈະປັບປຸງມັນ

ແຕກຕ່າງ

ຍູ້ດ້ວຍ -B ຈະປັບປຸງມັນ

ປ່ຽນແປງ

ຍູ້ດ້ວຍ -B ຈະປັບປຸງມັນ

ຈາກຈຸດຂອງພຶດຕິກໍາການຊຸກຍູ້, bookmarks ທີ່ມີຢູ່ພຽງແຕ່ຫ່າງໄກສອກຫຼີກ
repository ໄດ້ຖືກປະຕິບັດເປັນ ຖືກລຶບ, ເຖິງແມ່ນວ່າມັນເປັນຄວາມຈິງທີ່ເພີ່ມຈາກໄລຍະໄກ.

ຕອບ 0 ຖ້າມີການປ່ຽນແປງທີ່ກໍາລັງເກີດຂຶ້ນ, 1 ຖ້າບໍ່ດັ່ງນັ້ນ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ແລ່ນເຖິງແມ່ນວ່າຈຸດຫມາຍປາຍທາງບໍ່ກ່ຽວຂ້ອງ

-r,--rev
ຊຸດການປ່ຽນແປງທີ່ມີຈຸດປະສົງຈະລວມຢູ່ໃນປາຍທາງ

-n, --ໃໝ່ລ່າສຸດ-ທຳອິດ
ສະແດງໃຫ້ເຫັນສະຖິຕິໃຫມ່ທີ່ສຸດຄັ້ງທໍາອິດ

-B, -- ບຸກມາກ
ປຽບທຽບ bookmarks

-b,--ສາຂາ
ສາຂາສະເພາະທີ່ທ່ານຕ້ອງການຊຸກຍູ້

-p, --patch
ສະແດງ patch

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-l,-- ຈຳກັດ
ຈໍາກັດຈໍານວນການປ່ຽນແປງທີ່ສະແດງ

-M, -- ບໍ່ລວມ
ບໍ່ສະແດງໃຫ້ເຫັນການລວມ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-G, --ກຣາຟ
ສະແດງການດັດແກ້ DAG

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ອອກ

ພໍ່ແມ່
ສະແດງພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກຫຼືການແກ້ໄຂ (DEPRECATED):

ພໍ່ແມ່ hg [-r REV] [FILE]

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

ຄໍາສັ່ງນີ້ແມ່ນເທົ່າກັບ:

hg log -r "p1()+p2()" ຫຼື
hg log -r "p1(REV)+p2(REV)" ຫຼື
hg log -r "max(::p1() and file(FILE))+max(::p2() and file(FILE))" ຫຼື
hg log -r "max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))"

ເບິ່ງ hg ສະ​ຫຼຸບ​ສັງ​ລວມ ແລະ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສຳ ລັບຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ສະແດງໃຫ້ເຫັນພໍ່ແມ່ຂອງການແກ້ໄຂທີ່ກໍານົດໄວ້

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

ເສັ້ນທາງ
ສະແດງນາມແຝງສໍາລັບ repositories ຫ່າງໄກສອກຫຼີກ:

hg ເສັ້ນທາງ [NAME]

ສະແດງຄຳນິຍາມຂອງຊື່ເສັ້ນທາງສັນຍາລັກ NAME. ຖ້າບໍ່ມີຊື່, ສະແດງຄໍານິຍາມຂອງທັງຫມົດ
ຊື່ທີ່ມີຢູ່.

ທາງເລືອກ -q/--quiet ສະກັດກັ້ນຜົນຜະລິດທັງໝົດເມື່ອຊອກຫາ NAME ແລະສະແດງເສັ້ນທາງເທົ່ານັ້ນ
ຊື່ໃນເວລາທີ່ລາຍຊື່ຄໍານິຍາມທັງຫມົດ.

ຊື່ເສັ້ນທາງແມ່ນຖືກກໍານົດຢູ່ໃນສ່ວນ [ເສັ້ນທາງ] ຂອງໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານແລະໃນ
/etc/mercurial/hgrc. ຖ້າແລ່ນພາຍໃນບ່ອນເກັບມ້ຽນ, .hg/hgrc ຖືກນໍາໃຊ້, ເຊັ່ນດຽວກັນ.

ຊື່ເສັ້ນທາງ Default ແລະ default-push ມີ​ຄວາມ​ຫມາຍ​ພິ​ເສດ​. ໃນເວລາທີ່ປະຕິບັດການຊຸກຍູ້ຫຼື
ການ​ດໍາ​ເນີນ​ງານ​ດຶງ​, ພວກ​ເຂົາ​ເຈົ້າ​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເປັນ fallbacks ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ສະ​ຖານ​ທີ່​ໄດ້​ລະ​ບຸ​ໄວ້​ໃນ​
ເສັ້ນຄໍາສັ່ງ. ເມື່ອ​ໃດ​ default-push ຖືກກໍານົດ, ມັນຈະຖືກນໍາໃຊ້ສໍາລັບການຊຸກຍູ້ແລະ Default ຈະຖືກນໍາໃຊ້
ສໍາລັບດຶງ; ຖ້າບໍ່ດັ່ງນັ້ນ Default ຖືກໃຊ້ເປັນຕົວສຳຮອງສຳລັບທັງສອງ. ໃນເວລາທີ່ cloning repository,
ແຫຼ່ງ clone ແມ່ນຂຽນເປັນ Default in .hg/hgrc.

ຫມາຍ​ເຫດ​ Default ແລະ default-push ນຳໃຊ້ກັບຂາເຂົ້າທັງໝົດ (ຕົວຢ່າງ hg ເຂົ້າມາ) ແລະ​ຂາ​ອອກ​
(ຕົວຢ່າງ hg ລາຍຈ່າຍ, hg ອີ​ເມວ ແລະ hg ມັດ) ການ ດຳ ເນີນງານ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

ໂຄງການໄລຍະ
ຕັ້ງ ຫຼືສະແດງຊື່ໄລຍະປັດຈຸບັນ:

ໄລຍະ hg [-p|-d|-s] [-f] [-r] [REV...]

ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ສະແດງຊື່ໄລຍະຂອງການປັບປຸງປະຈຸບັນ.

ດ້ວຍໜຶ່ງໃນ -p/--public, -d/--draft ຫຼື -s/--secret, ປ່ຽນຄ່າໄລຍະຂອງ
ການ​ດັດ​ແກ້​ທີ່​ລະ​ບຸ​ໄວ້​.

ເວັ້ນເສຍແຕ່ຈະລະບຸ -f/--force, hg ໂຄງການໄລຍະ ຈະບໍ່ຍ້າຍຊຸດການປ່ຽນແປງຈາກໄລຍະຕ່ໍາໄປຫາໄລຍະຫນຶ່ງ
ໄລ​ຍະ​ທີ່​ສູງ​ກວ່າ​. ຂັ້ນ​ຕອນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

ສາທາລະນະ <ຮ່າງ <ລັບ

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບາງໄລຍະບໍ່ສາມາດປ່ຽນແປງໄດ້.

(ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບແນວຄວາມຄິດໄລຍະ, ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ.)

ຕົວເລືອກ:

-p, --ສາທາລະນະ
ຕັ້ງໄລຍະການປ່ຽນແປງເປັນສາທາລະນະ

-d, --ຮ່າງ
ຕັ້ງໄລຍະການປ່ຽນແປງເປັນສະບັບຮ່າງ

- ແມ່ນແລ້ວ, --ລັບ
ຕັ້ງໄລຍະການປ່ຽນແປງເປັນຄວາມລັບ

-f, --ກຳລັງ
ອະນຸຍາດໃຫ້ຍ້າຍເຂດແດນກັບຄືນໄປບ່ອນ

-r,--rev
ການ​ປັບ​ປຸງ​ເປົ້າ​ຫມາຍ​

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ດຶງ
ດຶງການປ່ຽນແປງຈາກແຫຼ່ງທີ່ລະບຸ:

hg ດຶງ [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]

ດຶງການປ່ຽນແປງຈາກ repository ຫ່າງໄກສອກຫຼີກເປັນທ້ອງຖິ່ນ.

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

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

ຖ້າ SOURCE ຖືກລະເວັ້ນ, ເສັ້ນທາງ 'ເລີ່ມຕົ້ນ' ຈະຖືກໃຊ້. ເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບການຫຼາຍ
ຂໍ້ມູນຂ່າວສານ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າການອັບເດດມີໄຟລ໌ທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ.

ຕົວເລືອກ:

-u, --ອັບເດດ
ອັບເດດເປັນຫົວສາຂາໃໝ່ຖ້າການປ່ຽນແປງຖືກດຶງ

-f, --ກຳລັງ
ດໍາເນີນການເຖິງແມ່ນວ່າໃນເວລາທີ່ repository ຫ່າງໄກສອກຫຼີກແມ່ນບໍ່ກ່ຽວຂ້ອງ

-r,--rev
ຊຸດການປ່ຽນແປງທາງໄກທີ່ມີຈຸດປະສົງຈະເພີ່ມ

-B,-- ບຸກມາກ
ບຸກມາກເພື່ອດຶງ

-b,--ສາຂາ
ສາຂາສະເພາະທີ່ທ່ານຕ້ອງການດຶງ

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ການຊຸກຍູ້
ຊຸກຍູ້ການປ່ຽນແປງໄປຫາຈຸດຫມາຍປາຍທາງທີ່ລະບຸໄວ້:

hg push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]

ຊຸກ​ດັນ​ການ​ປ່ຽນ​ແປງ​ຈາກ repository ທ້ອງ​ຖິ່ນ​ກັບ​ຈຸດ​ຫມາຍ​ປາຍ​ທາງ​ທີ່​ກໍາ​ນົດ​ໄວ້​.

ການປະຕິບັດງານນີ້ແມ່ນມີຄວາມສົມມາດໃນການດຶງ: ມັນຄືກັນກັບການດຶງໃນຈຸດຫມາຍປາຍທາງ
repository ຈາກປັດຈຸບັນ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, push ຈະບໍ່ອະນຸຍາດໃຫ້ສ້າງຫົວໃຫມ່ຢູ່ປາຍທາງ, ນັບຕັ້ງແຕ່ຫຼາຍ
ຫົວຈະເຮັດໃຫ້ບໍ່ຊັດເຈນວ່າຈະໃຊ້ຫົວໃດ. ໃນສະຖານະການນີ້, ແນະນໍາໃຫ້
ດຶງ​ແລະ​ລວມ​ກ່ອນ​ທີ່​ຈະ​ຊຸກ​ຍູ້​.

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

ຫມາຍເຫດຄວນເອົາໃຈໃສ່ເປັນພິເສດກັບທາງເລືອກ -f/-force, ເຊິ່ງຈະຍູ້ທັງຫມົດໃຫມ່
ຫົວ​ຫນ້າ​ໃນ​ທຸກ​ສາ​ຂາ​, ການ​ກະ​ທໍາ​ທີ່​ເກືອບ​ສະ​ເຫມີ​ໄປ​ຈະ​ເຮັດ​ໃຫ້​ເກີດ​ຄວາມ​ສັບ​ສົນ​ສໍາ​ລັບ​ການ​
ຜູ້ຮ່ວມມື.

ຖ້າ -r/--rev ຖືກໃຊ້, ການແກ້ໄຂທີ່ລະບຸໄວ້ແລະບັນພະບຸລຸດຂອງມັນທັງຫມົດຈະຖືກຍູ້ໄປຫາ.
repository ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​.

ຖ້າ -B/--bookmark ຖືກໃຊ້, ການແກ້ໄຂ bookmark ທີ່ລະບຸໄວ້, ບັນພະບຸລຸດຂອງມັນ, ແລະ
ບຸກມາກຈະຖືກຍູ້ໄປທີ່ບ່ອນເກັບຂໍ້ມູນທາງໄກ.

ກະລຸນາເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບລາຍລະອຽດທີ່ສໍາຄັນກ່ຽວກັບ ssh:// URLs. ຖ້າ DESTINATION ແມ່ນ
ຖືກລະເວັ້ນ, ເສັ້ນທາງເລີ່ມຕົ້ນຈະຖືກໃຊ້.

ຕອບ 0 ຖ້າການຊຸກຍູ້ສຳເລັດ, 1 ຖ້າບໍ່ມີຫຍັງໃຫ້ຍູ້.

ຕົວເລືອກ:

-f, --ກຳລັງ
ຍູ້ແຮງ

-r,--rev
ຊຸດການປ່ຽນແປງທີ່ມີຈຸດປະສົງຈະລວມຢູ່ໃນປາຍທາງ

-B,-- ບຸກມາກ
ບຸກມາກເພື່ອຍູ້

-b,--ສາຂາ
ສາຂາສະເພາະທີ່ທ່ານຕ້ອງການຊຸກຍູ້

--ສາຂາໃໝ່
ອະນຸຍາດໃຫ້ຊຸກຍູ້ສາຂາໃຫມ່

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ກູ້ຄືນ
ກັບຄືນທຸລະກໍາທີ່ຂັດຂວາງ:

hg ຟື້ນຕົວ

ຟື້ນຕົວຈາກຄໍາຫມັ້ນສັນຍາທີ່ຂັດຂວາງຫຼືດຶງ.

ຄໍາສັ່ງນີ້ພະຍາຍາມແກ້ໄຂສະຖານະຂອງ repository ຫຼັງຈາກການດໍາເນີນງານທີ່ຂັດຂວາງ. ມັນ​ຄວນ
ພຽງແຕ່ມີຄວາມຈໍາເປັນໃນເວລາທີ່ Mercurial ແນະນໍາມັນ.

ຕອບ 0 ຖ້າສຳເລັດ, 1 ຖ້າບໍ່ມີຫຍັງກູ້ ຫຼື ຢັ້ງຢືນວ່າລົ້ມເຫລວ.

ເອົາ
ເອົາໄຟລ໌ທີ່ລະບຸໄວ້ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ:

hg ເອົາ [OPTION]... FILE...

ຈັດຕາຕະລາງໄຟລ໌ທີ່ລະບຸໄວ້ສໍາລັບການໂຍກຍ້າຍອອກຈາກສາຂາປະຈຸບັນ.

ຄໍາ​ສັ່ງ​ນີ້​ກໍາ​ນົດ​ເວ​ລາ​ທີ່​ຈະ​ເອົາ​ໄຟລ​໌​ທີ່​ຈະ​ເອົາ​ອອກ​ໃນ​ຄໍາ​ສັ່ງ​ຄັ້ງ​ຕໍ່​ໄປ​. ເພື່ອຍົກເລີກການລຶບອອກ
ກ່ອນນັ້ນ, ເບິ່ງ hg ກັບຄືນມາ. ເພື່ອຍົກເລີກການເພີ່ມໄຟລ໌, ເບິ່ງ hg ລືມ.

-A/--after ສາມາດໃຊ້ເພື່ອເອົາພຽງແຕ່ໄຟລ໌ທີ່ຖືກລຶບໄປແລ້ວ, -f/--force ສາມາດ
ຖືກນໍາໃຊ້ເພື່ອບັງຄັບການລຶບ, ແລະ -Af ສາມາດນໍາໃຊ້ເພື່ອເອົາໄຟລ໌ອອກຈາກການແກ້ໄຂຕໍ່ໄປ
ໂດຍບໍ່ມີການລຶບພວກມັນອອກຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ຕາຕະລາງຕໍ່ໄປນີ້ລາຍລະອຽດກ່ຽວກັບພຶດຕິກໍາການໂຍກຍ້າຍສໍາລັບລັດໄຟລ໌ທີ່ແຕກຕ່າງກັນ (ຖັນ) ແລະ
ການປະສົມທາງເລືອກ (ແຖວ). ສະຖານະໄຟລ໌ຖືກເພີ່ມ [A], ສະອາດ [C], ດັດແກ້ [M] ແລະ
ຂາດ [!] (ຕາມການລາຍງານໂດຍ hg ສະຖານະພາບ). ການ​ປະ​ຕິ​ບັດ​ແມ່ນ​ເຕືອນ​, ເອົາ​ອອກ (ຈາກ​ສາ​ຂາ​) ແລະ​
ລຶບ (ຈາກ disk):

┌───────────┬───┬────┬────┬───┐
│ເລືອກ/ລັດ │ A │ C │ M │ ! │
├───────────┼───┼────┼────┼───┤
│ none │ W │ RD │ W │ R │
├───────────┼───┼────┼────┼───┤
│-f │ R │ RD │ RD │ R │
├───────────┼───┼────┼────┼───┤
│-A │ W │ W │ W │ R │
├───────────┼───┼────┼────┼───┤
│-Af │ R │ R │ R │ R │
└───────────┴───┴────┴────┴───┘

ຫມາຍ​ເຫດ​ hg ເອົາ ບໍ່ເຄີຍລຶບໄຟລ໌ໃນສະຖານະ Added [A] ຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ, ບໍ່ແມ່ນ
ເຖິງແມ່ນວ່າ --ກຳລັງ ຖືກກໍານົດ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າພົບການເຕືອນໃດໆ.

ຕົວເລືອກ:

-A, -- ຫຼັງຈາກ
ບັນທຶກການລຶບສໍາລັບໄຟລ໌ທີ່ຂາດຫາຍໄປ

-f, --ກຳລັງ
ເອົາ (ແລະລຶບ) ໄຟລ໌ເຖິງແມ່ນວ່າຈະເພີ່ມຫຼືດັດແກ້

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: rm

ປ່ຽນຊື່
ປ່ຽນຊື່ໄຟລ໌; ທຽບເທົ່າກັບການຄັດລອກ + ເອົາອອກ:

hg ປ່ຽນຊື່ [ຕົວເລືອກ]... ແຫຼ່ງຂໍ້ມູນ... DEST

ຫມາຍ dest ເປັນສໍາເນົາຂອງແຫຼ່ງຂໍ້ມູນ; ຫມາຍແຫຼ່ງສໍາລັບການລຶບ. ຖ້າ dest ເປັນໄດເລກະທໍລີ, ສຳເນົາ
ຖືກຈັດໃສ່ໃນໄດເລກະທໍລີນັ້ນ. ຖ້າ dest ເປັນໄຟລ໌, ມີພຽງແຫຼ່ງດຽວເທົ່ານັ້ນ.

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

ຄໍາສັ່ງນີ້ມີຜົນບັງຄັບໃຊ້ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ. ເພື່ອຍົກເລີກການປ່ຽນຊື່ກ່ອນນັ້ນ, ເບິ່ງ hg ກັບຄືນມາ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າພົບຂໍ້ຜິດພາດ.

ຕົວເລືອກ:

-A, -- ຫຼັງຈາກ
ບັນທຶກການປ່ຽນຊື່ທີ່ເກີດຂຶ້ນແລ້ວ

-f, --ກຳລັງ
ບັງຄັບສຳເນົາໄຟລ໌ທີ່ມີການຈັດການທີ່ມີຢູ່ແລ້ວ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ຍ້າຍ mv

ແກ້ໄຂ
redo merges ຫຼື​ຕັ້ງ / ເບິ່ງ​ສະ​ຖາ​ນະ​ການ​ລວມ​ຂອງ​ໄຟລ​໌​:

hg ແກ້ໄຂ [OPTION]... [FILE]...

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

ຄໍາສັ່ງການແກ້ໄຂສາມາດຖືກນໍາໃຊ້ໃນວິທີການດັ່ງຕໍ່ໄປນີ້:

· hg ແກ້ໄຂ [--ເຄື່ອງ​ມື ເຄື່ອງມື] ໄຟລ໌...: ພະຍາຍາມຮວມໄຟລ໌ທີ່ລະບຸໄວ້ຄືນໃໝ່, ການຍົກເລີກ
ຄວາມພະຍາຍາມລວມໃດໆທີ່ຜ່ານມາ. ການລວມເຂົ້າກັນໃໝ່ບໍ່ໄດ້ດໍາເນີນການສໍາລັບໄຟລ໌ທີ່ໝາຍໄວ້ແລ້ວເປັນ
ແກ້ໄຂແລ້ວ. ໃຊ້ --ທັງໝົດ/-a ເພື່ອເລືອກໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ແກ້ໄຂທັງໝົດ. --ເຄື່ອງ​ມື ສາມາດໃຊ້ເພື່ອລະບຸ
merge ເຄື່ອງ​ມື​ການ​ນໍາ​ໃຊ້​ສໍາ​ລັບ​ໄຟລ​໌​ທີ່​ໄດ້​ຮັບ​. ມັນ overrides ສະພາບແວດລ້ອມ HGMERGE ຕົວແປແລະ
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ທ່ານ​. ເນື້ອໃນໄຟລ໌ທີ່ຜ່ານມາຖືກບັນທຶກດ້ວຍ a .orig បច្ច័យ.

· hg ແກ້ໄຂ -m [ໄຟລ໌]: ໝາຍໄຟລ໌ວ່າໄດ້ຮັບການແກ້ໄຂແລ້ວ (ຕົວຢ່າງ: ຫຼັງຈາກໄດ້ດ້ວຍຕົນເອງ
ການ​ສ້ອມ​ແປງ​ໄຟລ​໌​)​. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອໝາຍໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ແກ້ໄຂທັງໝົດ.

· hg ແກ້ໄຂ -u [FILE]...: ໝາຍໄຟລ໌ວ່າບໍ່ໄດ້ແກ້ໄຂ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອຫມາຍການແກ້ໄຂທັງຫມົດ
ໄຟລ໌.

· hg ແກ້ໄຂ -l: ລາຍຊື່ໄຟລ໌ທີ່ມີ ຫຼືຍັງມີຂໍ້ຂັດແຍ່ງ. ໃນ​ບັນ​ຊີ​ລາຍ​ການ​ພິມ​, U =
ບໍ່​ໄດ້​ແກ້​ໄຂ​ແລະ​ R = ແກ້ໄຂ.

ຫມາຍເຫດ Mercurial ຈະບໍ່ປ່ອຍໃຫ້ທ່ານເຮັດໄຟລ໌ທີ່ມີການຂັດແຍ້ງການລວມທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ. ເຈົ້າ​ຕ້ອງ
ການນໍາໃຊ້ hg ແກ້ໄຂ -m ... ກ່ອນ​ທີ່​ທ່ານ​ຈະ​ສາ​ມາດ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຫຼັງ​ຈາກ​ທີ່​ຂັດ​ແຍ່ງ​ກັນ​ລວມ​.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າໄຟລ໌ໃດລົ້ມເຫລວຄວາມພະຍາຍາມແກ້ໄຂ.

ຕົວເລືອກ:

-ກ, --ທັງໝົດ
ເລືອກໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ແກ້ໄຂທັງໝົດ

-l, --ລາຍການ
ບັນຊີລາຍຊື່ຂອງໄຟລ໌ທີ່ຕ້ອງການການລວມເຂົ້າກັນ

-m, --ເຄື່ອງໝາຍ
ໝາຍໄຟລ໌ວ່າແກ້ໄຂແລ້ວ

-u, --ເຊົາໝາຍ
ໝາຍໄຟລ໌ວ່າບໍ່ໄດ້ແກ້ໄຂ

-n, --ບໍ່ມີສະຖານະ
ເຊື່ອງຄຳນຳໜ້າສະຖານະ

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ກັບຄືນມາ
ກູ້ໄຟລ໌ກັບຄືນສູ່ສະຖານະການຈ່າຍເງິນຂອງເຂົາເຈົ້າ:

hg ກັບຄືນ [OPTION]... [-r REV] [NAME]...

ຫມາຍເຫດເພື່ອກວດເບິ່ງການດັດແກ້ກ່ອນຫນ້ານີ້, ທ່ານຄວນໃຊ້ hg ການປັບປຸງ REV. ເພື່ອຍົກເລີກການ
uncommitted merge (ແລະສູນເສຍການປ່ຽນແປງຂອງທ່ານ), ໃຊ້ hg ການປັບປຸງ --ສະອາດ ..

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

ການ​ນໍາ​ໃຊ້​ທາງ​ເລືອກ -r/--rev ຫຼື -d/--date, ປ່ຽນ​ໄຟລ​໌​ທີ່​ໄດ້​ຮັບ​ຫຼື​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ເຂົາ​ເຈົ້າ​.
ລັດໃນການແກ້ໄຂສະເພາະ. ເນື່ອງຈາກວ່າ revert ບໍ່ປ່ຽນແປງໄດເລກະທໍລີທີ່ເຮັດວຽກ
ພໍ່ແມ່, ອັນນີ້ຈະເຮັດໃຫ້ໄຟລ໌ເຫຼົ່ານີ້ຖືກດັດແກ້. ນີ້ສາມາດເປັນປະໂຫຍດທີ່ຈະ "ກັບຄືນ"
ບາງ ຫຼືທັງໝົດຂອງການປ່ຽນແປງກ່ອນໜ້ານີ້. ເບິ່ງ hg backout ສໍາລັບວິທີການທີ່ກ່ຽວຂ້ອງ.

ໄຟລ໌ທີ່ຖືກແກ້ໄຂຈະຖືກບັນທຶກໄວ້ດ້ວຍຄຳຕໍ່ທ້າຍ .orig ກ່ອນທີ່ຈະກັບຄືນ. ເພື່ອປິດການສໍາຮອງຂໍ້ມູນເຫຼົ່ານີ້,
ໃຊ້ --no-backup.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ backout ສໍາລັບວິທີທີ່ຈະປີ້ນກັບຜົນກະທົບຂອງຊຸດການປ່ຽນແປງກ່ອນຫນ້ານີ້.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-ກ, --ທັງໝົດ
ປ່ຽນຄືນການປ່ຽນແປງທັງໝົດເມື່ອບໍ່ມີຂໍ້ໂຕ້ແຍ້ງໃຫ້

-d,- ວັນທີ
ວັນ​ທີ​ທີ່​ກົງ​ກັນ​ກັບ​ການ​ແກ້​ໄຂ​ທີ່​ສຸດ​

-r,--rev
ກັບຄືນໄປຫາການແກ້ໄຂທີ່ກໍານົດໄວ້

-C, --no-backup
ຢ່າບັນທຶກສໍາເນົາສໍາຮອງຂອງໄຟລ໌

-i, --ໂຕ້ຕອບ
ເລືອກການປ່ຽນແປງແບບໂຕ້ຕອບ (ແບບທົດລອງ)

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

rollback
ກັບຄືນການເຮັດທຸລະກໍາຫຼ້າສຸດ (ອັນຕະລາຍ) (DEPRECATED):

hg rollback

ກະລຸນາໃຊ້ hg ຄໍາຫມັ້ນສັນຍາ --ປັບປຸງ ແທນທີ່ຈະ rollback ເພື່ອແກ້ໄຂຄວາມຜິດພາດໃນຄໍາຫມັ້ນສັນຍາທີ່ຜ່ານມາ.

ຄໍາສັ່ງນີ້ຄວນຈະຖືກນໍາໃຊ້ຢ່າງລະມັດລະວັງ. ມີພຽງແຕ່ຫນຶ່ງລະດັບຂອງການ rollback, ແລະມີ
ບໍ່ມີວິທີທີ່ຈະຍົກເລີກການກັບຄືນ. ມັນຍັງຈະຟື້ນຟູຝຸ່ນໃນເວລາສຸດທ້າຍ
ການເຮັດທຸລະກໍາ, ສູນເສຍການປ່ຽນແປງ dirstate ນັບຕັ້ງແຕ່ເວລານັ້ນ. ຄໍາສັ່ງນີ້ບໍ່ປ່ຽນແປງ
ໄດເລກະທໍລີເຮັດວຽກ.

ທຸລະກໍາຖືກນໍາໃຊ້ເພື່ອ encapsulate ຜົນກະທົບຂອງຄໍາສັ່ງທັງຫມົດທີ່ສ້າງໃຫມ່
ການປ່ຽນແປງຫຼືເຜີຍແຜ່ການປ່ຽນແປງທີ່ມີຢູ່ແລ້ວເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນ.

ຕົວຢ່າງ, ຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນການເຮັດທຸລະກໍາ, ແລະຜົນກະທົບຂອງພວກມັນສາມາດມ້ວນໄດ້
ກັບຄືນໄປບ່ອນ:

· ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​

· ການ​ນໍາ​ເຂົ້າ​

· ດຶງ

· push (ມີ repository ນີ້​ເປັນ​ຈຸດ​ຫມາຍ​ປາຍ​ທາງ​)

· ຖອດຊຸດ

ເພື່ອຫຼີກເວັ້ນການສູນເສຍຂໍ້ມູນຖາວອນ, rollback ຈະປະຕິເສດການ rollback ການເຮັດທຸລະກໍາຖ້າຫາກວ່າມັນ
ບໍ່ໄດ້ເຊັກເອົາອອກ. ໃຊ້ --force ເພື່ອລົບລ້າງການປົກປ້ອງນີ້.

ຄໍາສັ່ງນີ້ບໍ່ໄດ້ມີຈຸດປະສົງສໍາລັບການນໍາໃຊ້ໃນ repositories ສາທາລະນະ. ເມື່ອການປ່ຽນແປງແມ່ນເຫັນໄດ້ສໍາລັບ
ດຶງ​ໂດຍ​ຜູ້​ໃຊ້​ອື່ນໆ​, rolling ການ​ເຮັດ​ທຸ​ລະ​ກໍາ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ຢູ່​ໃນ​ທ້ອງ​ຖິ່ນ​ແມ່ນ​ບໍ່​ມີ​ປະ​ສິດ​ທິ​ຜົນ (ຜູ້​ອື່ນ​ອາດ​ຈະ​
ໄດ້​ດຶງ​ເອົາ​ການ​ປ່ຽນ​ແປງ​ແລ້ວ). ນອກຈາກນັ້ນ, ການແຂ່ງຂັນແມ່ນເປັນໄປໄດ້ກັບຜູ້ອ່ານຂອງ
ຄັງເກັບມ້ຽນ; ຕົວຢ່າງເຊັ່ນການດຶງຢູ່ໃນຄວາມຄືບຫນ້າຈາກ repository ອາດຈະລົ້ມເຫລວຖ້າຫາກວ່າ rollback ແມ່ນ
ປະຕິບັດ.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບໍ່ມີຂໍ້ມູນ rollback.

ຕົວເລືອກ:

-n, -- ແລ່ນແຫ້ງ
ບໍ່ປະຕິບັດການປະຕິບັດ, ພຽງແຕ່ພິມຜົນຜະລິດ

-f, --ກຳລັງ
ບໍ່ສົນໃຈມາດຕະການຄວາມປອດໄພ

ຮາກ
ພິມຮາກ (ເທິງ) ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ:

hg ຮາກ

ພິມໄດເລກະທໍລີຮາກຂອງບ່ອນເກັບຂໍ້ມູນປັດຈຸບັນ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ບໍລິການ
ເລີ່ມເຊີບເວີເວັບແບບດ່ຽວ:

hg ໃຫ້ບໍລິການ [OPTION]...

ເລີ່ມຕົ້ນຕົວທ່ອງເວັບ HTTP repository ທ້ອງຖິ່ນແລະດຶງເຄື່ອງແມ່ຂ່າຍ. ທ່ານສາມາດໃຊ້ອັນນີ້ເພື່ອແບ່ງປັນສະເພາະ
ແລະ​ການ​ຊອກ​ຫາ​ຂອງ repositories​. ມັນແນະນໍາໃຫ້ໃຊ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ທີ່ແທ້ຈິງເພື່ອຮັບໃຊ້ a
repository ສໍາລັບໄລຍະເວລາທີ່ຍາວກວ່າ.

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

ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊີບເວີບັນທຶກການເຂົ້າເຖິງ stdout ແລະຄວາມຜິດພາດກັບ stderr. ໃຊ້
-A/--accesslog ແລະ -E/--errorlog ທາງເລືອກໃນການເຂົ້າສູ່ລະບົບໄຟລ໌.

ເພື່ອໃຫ້ເຊີບເວີເລືອກໝາຍເລກພອດຟຣີເພື່ອຟັງ, ໃຫ້ລະບຸໝາຍເລກພອດຂອງ 0; ໃນ
ກໍລະນີນີ້, ເຊີບເວີຈະພິມໝາຍເລກພອດທີ່ມັນໃຊ້.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-A,--accesslog
ຊື່ຂອງໄຟລ໌ບັນທຶກການເຂົ້າເຖິງທີ່ຈະຂຽນໃສ່

-d, --daemon
ແລ່ນເຊີບເວີໃນພື້ນຫຼັງ

--daemon-pipefds
ໃຊ້ພາຍໃນໂດຍໂຫມດ daemon

-E,--ບັນທຶກຄວາມຜິດພາດ
ຊື່ຂອງໄຟລ໌ບັນທຶກຄວາມຜິດພາດທີ່ຈະຂຽນໃສ່

-p,--ພອດ
ພອດເພື່ອຟັງ (ຄ່າເລີ່ມຕົ້ນ: 8000)

-ກ,--ທີ່ຢູ່
ທີ່ຢູ່ເພື່ອຟັງ (ຄ່າເລີ່ມຕົ້ນ: ການໂຕ້ຕອບທັງໝົດ)

-- ຄໍານໍາຫນ້າ
ເສັ້ນທາງນຳໜ້າເພື່ອຮັບໃຊ້ຈາກ (ຄ່າເລີ່ມຕົ້ນ: ຮາກເຊີບເວີ)

-n,--ຊື່
ຊື່ທີ່ຈະສະແດງຢູ່ໃນຫນ້າເວັບ (ຄ່າເລີ່ມຕົ້ນ: ໄດເລກະທໍລີທີ່ເຮັດວຽກ)

--web-conf
ຊື່ຂອງໄຟລ໌ hgweb config (ເບິ່ງ "hg help hgweb")

--webdir-conf
ຊື່ຂອງໄຟລ໌ hgweb config (DEPRECATED)

--pid-file
ຊື່ຂອງໄຟລ໌ທີ່ຈະຂຽນ ID ຂະບວນການ

--stdio
ສໍາ​ລັບ​ລູກ​ຄ້າ​ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​

--cmdserver
ສໍາ​ລັບ​ລູກ​ຄ້າ​ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​

-t,--ແມ່ແບບ
ແມ່ແບບເວັບທີ່ຈະໃຊ້

--ແບບ
ແບບແມ່ແບບທີ່ຈະໃຊ້

-6, --ipv6
ໃຊ້ IPv6 ນອກເໜືອໄປຈາກ IPv4

-- ໃບ​ຢັ້ງ​ຢືນ
ໄຟລ໌ໃບຢັ້ງຢືນ SSL

ສະຖານະພາບ
ສະແດງໄຟລ໌ທີ່ປ່ຽນແປງຢູ່ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ:

ສະຖານະ hg [ຕົວເລືອກ]... [FILE]...

ສະແດງສະຖານະຂອງໄຟລ໌ໃນບ່ອນເກັບມ້ຽນ. ຖ້າມີຊື່, ມີພຽງແຕ່ໄຟລ໌ທີ່ກົງກັນເທົ່ານັ້ນ
ສະແດງໃຫ້ເຫັນ. ໄຟລ໌ທີ່ສະອາດ ຫຼືຖືກລະເລີຍ ຫຼືແຫຼ່ງຂອງການດຳເນີນການສຳເນົາ/ຍ້າຍ, ບໍ່ແມ່ນ
ໃນລາຍການເວັ້ນເສຍແຕ່ວ່າ -c/--clean, -i/--ignored, -C/--copy ຫຼື -A/-- ທັງໝົດແມ່ນໃຫ້. ເວັ້ນເສຍແຕ່ທາງເລືອກ
ອະທິບາຍດ້ວຍ "ສະແດງເທົ່ານັ້ນ ... " ແມ່ນໃຫ້, ທາງເລືອກ -mardu ຖືກນໍາໃຊ້.

ທາງ​ເລືອກ -q/--quiet hides untracked (unknown and ignored) files ເວັ້ນ​ເສຍ​ແຕ່​ຈະ​ຮ້ອງ​ຂໍ​ຢ່າງ​ຊັດ​ເຈນ
ກັບ -u/--unknown ຫຼື -i/--ignored.

ຫມາຍ​ເຫດ​ hg ສະຖານະພາບ ອາດຈະປາກົດວ່າບໍ່ເຫັນດີກັບຄວາມແຕກຕ່າງຖ້າການອະນຸຍາດມີການປ່ຽນແປງຫຼືການລວມເຂົ້າກັນ
ໄດ້​ເກີດ​ຂຶ້ນ​. ຮູບແບບຄວາມແຕກຕ່າງມາດຕະຖານບໍ່ໄດ້ລາຍງານການປ່ຽນແປງການອະນຸຍາດ ແລະຄວາມແຕກຕ່າງ
ພຽງແຕ່ລາຍງານການປ່ຽນແປງທີ່ກ່ຽວຂ້ອງກັບພໍ່ແມ່ການລວມຕົວ.

ຖ້າມີການດັດແກ້ຫນຶ່ງ, ມັນຖືກນໍາໃຊ້ເປັນການປັບປຸງພື້ນຖານ. ຖ້າມີການດັດແກ້ສອງສະບັບ,
ຄວາມແຕກຕ່າງລະຫວ່າງພວກມັນຖືກສະແດງ. ທາງເລືອກ --change ຍັງສາມາດຖືກນໍາໃຊ້ເປັນທາງລັດ
ເພື່ອລາຍຊື່ໄຟລ໌ທີ່ມີການປ່ຽນແປງຂອງການແກ້ໄຂຈາກພໍ່ແມ່ທໍາອິດຂອງມັນ.

ລະຫັດທີ່ໃຊ້ເພື່ອສະແດງສະຖານະຂອງໄຟລ໌ແມ່ນ:

M = ດັດແກ້
A = ເພີ່ມ
R = ເອົາອອກ
C = ສະອາດ
! = ຫາຍ (ຖືກລຶບໂດຍຄໍາສັ່ງທີ່ບໍ່ແມ່ນ hg, ແຕ່ຍັງຖືກຕິດຕາມ)
? = ບໍ່​ໄດ້​ຕິດ​ຕາມ​
ຂ້ອຍ = ບໍ່ສົນໃຈ
= ຕົ້ນ​ກໍາ​ເນີດ​ຂອງ​ໄຟລ​໌​ທີ່​ຜ່ານ​ມາ (ມີ --copies​)

ຕົວຢ່າງ:

·ສະແດງການປ່ຽນແປງໃນໄດເລກະທໍລີທີ່ເຮັດວຽກທີ່ກ່ຽວຂ້ອງກັບຊຸດການປ່ຽນແປງ:

ສະຖານະ hg --rev 9353

·ສະແດງການປ່ຽນແປງໃນໄດເລກະທໍລີທີ່ເຮັດວຽກທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີປະຈຸບັນ (ເບິ່ງ hg ຊ່ວຍເຫຼືອ
ຮູບແບບການ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ):

ສະຖານະ hg:

·ສະແດງການປ່ຽນແປງທັງໝົດລວມທັງສຳເນົາໃນຊຸດການປ່ຽນແປງທີ່ມີຢູ່ແລ້ວ:

ສະຖານະ hg --copy --change 9353

·​ໄດ້​ຮັບ​ບັນ​ຊີ​ລາຍ​ການ​ແຍກ NUL ຂອງ​ໄຟລ​໌​ເພີ່ມ​, ທີ່​ເຫມາະ​ສົມ​ສໍາ​ລັບ xargs​:

ສະຖານະ hg -an0

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-A, --ທັງໝົດ
ສະແດງສະຖານະຂອງໄຟລ໌ທັງໝົດ

-m, --ດັດແກ້
ສະແດງພຽງແຕ່ໄຟລ໌ດັດແກ້

-ກ, --ເພີ່ມ
ສະແດງໃຫ້ເຫັນພຽງແຕ່ໄຟລ໌ທີ່ເພີ່ມ

-r, -- ເອົາ​ອອກ​
ສະແດງໃຫ້ເຫັນພຽງແຕ່ໄຟລ໌ທີ່ຖືກໂຍກຍ້າຍ

-d, --ລຶບແລ້ວ
ສະ​ແດງ​ໃຫ້​ເຫັນ​ພຽງ​ແຕ່​ລຶບ​ໄຟລ​໌ (ແຕ່​ຕິດ​ຕາມ​)​

-c, --ສະອາດ
ສະແດງພຽງແຕ່ໄຟລ໌ທີ່ບໍ່ມີການປ່ຽນແປງ

-u, --ບໍ່ຮູ້ຈັກ
ສະແດງໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກ (ບໍ່ໄດ້ຕິດຕາມ) ເທົ່ານັ້ນ

-i, --ລະເລີຍ
ສະແດງພຽງແຕ່ໄຟລ໌ທີ່ຖືກລະເລີຍ

-n, --ບໍ່ມີສະຖານະ
ເຊື່ອງຄຳນຳໜ້າສະຖານະ

-C, -- ສຳເນົາ
ສະແດງແຫຼ່ງໄຟລ໌ທີ່ສຳເນົາໄວ້

-0, --ພິມ0
ສິ້ນສຸດຊື່ໄຟລ໌ດ້ວຍ NUL, ສໍາລັບການນໍາໃຊ້ກັບ xargs

--rev
ສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງຈາກການທົບທວນ

-- ການ​ປ່ຽນ​ແປງ​
ລາຍຊື່ໄຟລ໌ທີ່ມີການປ່ຽນແປງຂອງການແກ້ໄຂ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: st

ສະ​ຫຼຸບ​ສັງ​ລວມ
ສະຫຼຸບສະຖານະການໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg ສັງລວມ [--remote]

ອັນນີ້ສ້າງບົດສະຫຼຸບສັ້ນໆຂອງສະຖານະໄດເລກະທໍລີທີ່ເຮັດວຽກ, ລວມທັງພໍ່ແມ່, ສາຂາ,
ຄໍາຫມັ້ນສັນຍາສະຖານະພາບ, ໄລຍະແລະການປັບປຸງທີ່ມີຢູ່.

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

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

--ໄລຍະໄກ
ກວດເບິ່ງການຍູ້ແລະດຶງ

ນາມແຝງ: ລວມ

ໂຄດ​ຄໍາ​ສັ່ງ
ເພີ່ມຫນຶ່ງຫຼືຫຼາຍແທັກສໍາລັບການດັດແກ້ປະຈຸບັນຫຼືໃຫ້:

hg tag [-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...

ຊື່ການແກ້ໄຂໂດຍສະເພາະໂດຍໃຊ້ .

Tags ຖືກນໍາໃຊ້ເພື່ອຕັ້ງຊື່ການແກ້ໄຂສະເພາະຂອງ repository ແລະເປັນປະໂຫຍດຫຼາຍກັບ
ປຽບທຽບການດັດແກ້ທີ່ແຕກຕ່າງກັນ, ເພື່ອກັບຄືນໄປຫາສະບັບກ່ອນຫນ້າທີ່ສໍາຄັນຫຼືເຄື່ອງຫມາຍສາຂາ
ຈຸດເປັນການປ່ອຍ, ແລະອື່ນໆ. ການປ່ຽນແທັກທີ່ມີຢູ່ແລ້ວໂດຍປົກກະຕິແມ່ນບໍ່ອະນຸຍາດໃຫ້; ໃຊ້ -f/--force
ເພື່ອ override.

ຖ້າບໍ່ມີການດັດແກ້, ພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກແມ່ນຖືກນໍາໃຊ້.

ເພື່ອອໍານວຍຄວາມສະດວກໃນການຄວບຄຸມເວີຊັນ, ການແຈກຢາຍ, ແລະການລວມເອົາແທັກ, ພວກມັນຖືກເກັບໄວ້ເປັນ a
ໄຟລ໌ທີ່ມີຊື່ວ່າ ".hgtags" ເຊິ່ງຖືກຈັດການຄ້າຍຄືກັນກັບໄຟລ໌ໂຄງການອື່ນໆແລະສາມາດເປັນ
ແກ້ໄຂດ້ວຍມືຖ້າຈໍາເປັນ. ນີ້ຍັງຫມາຍຄວາມວ່າ tagging ສ້າງຄໍາຫມັ້ນສັນຍາໃຫມ່. ໄຟລ໌
".hg/localtags" ຖືກນໍາໃຊ້ສໍາລັບ tags ທ້ອງຖິ່ນ (ບໍ່ໄດ້ແບ່ງປັນລະຫວ່າງ repositories).

ປ້າຍກຳກັບແມ່ນເຮັດຢູ່ຫົວຂອງສາຂາ. ຖ້າພໍ່ແມ່ຂອງການເຮັດວຽກ
ໄດເລກະທໍລີບໍ່ແມ່ນຫົວສາຂາ, hg ໂຄດ​ຄໍາ​ສັ່ງ ເອົາລູກອອກ; ໃຊ້ -f/--force ເພື່ອບັງຄັບແທັກທີ່ຕັ້ງໄວ້
ອີງໃສ່ຊຸດການປ່ຽນແປງທີ່ບໍ່ແມ່ນຫົວ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

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

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-f, --ກຳລັງ
ແທັກບັງຄັບ

-l, --ທ້ອງຖິ່ນ
ເຮັດໃຫ້ແທັກທ້ອງຖິ່ນ

-r,--rev
ການ​ແກ້​ໄຂ​ກັບ​ໂຄດ​ຄໍາ​ສັ່ງ​

-- ເອົາອອກ
ເອົາແທັກ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

tags
tags repository ລາຍ​ຊື່​:

ແທັກ hg

ນີ້ລາຍຊື່ທັງແທັກປົກກະຕິແລະທ້ອງຖິ່ນ. ເມື່ອສະວິດ -v/--verbose ຖືກນໍາໃຊ້, ທີສາມ
ຖັນ "ທ້ອງຖິ່ນ" ຖືກພິມສໍາລັບແທັກທ້ອງຖິ່ນ. ເມື່ອສະຫຼັບ -q/--quiet ຖືກໃຊ້, ພຽງແຕ່ໄດ້
ຊື່ແທັກຖືກພິມອອກ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ (ທົດລອງ)

ປາຍ
ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ແກ້​ໄຂ​ຄໍາ​ແນະ​ນໍາ (DEPRECATED):

hg ປາຍ [-p] [-g]

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

ຖ້າທ່ານຫາກໍ່ເຮັດຄໍາຫມັ້ນສັນຍາ, ຄໍາຫມັ້ນສັນຍານັ້ນຈະເປັນຄໍາແນະນໍາ. ຖ້າທ່ານພຽງແຕ່ດຶງ
ການປ່ຽນແປງຈາກ repository ອື່ນ, ປາຍຂອງ repository ກາຍເປັນຄໍາແນະນໍາໃນປະຈຸບັນ. ໄດ້
ແທັກ "tip" ແມ່ນພິເສດ ແລະບໍ່ສາມາດປ່ຽນຊື່ ຫຼືມອບໝາຍໃຫ້ກັບຊຸດການປ່ຽນແປງອື່ນໄດ້.

ຄໍາສັ່ງນີ້ຖືກປະຕິເສດ, ກະລຸນາໃຊ້ hg ຫົວຫນ້າ ແທນທີ່ຈະເປັນ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-p, --patch
ສະແດງ patch

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

ບໍ່ໄດ້ມັດ
ນຳໃຊ້ໜຶ່ງ ຫຼືຫຼາຍໄຟລ໌ກຸ່ມປ່ຽນ:

hg unbundle [-u] FILE...

ນຳໃຊ້ໜຶ່ງ ຫຼືຫຼາຍໄຟລ໌ກຸ່ມການປ່ຽນແປງທີ່ຖືກບີບອັດທີ່ສ້າງຂຶ້ນໂດຍຄຳສັ່ງ bundle.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າການອັບເດດມີໄຟລ໌ທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ.

ຕົວເລືອກ:

-u, --ອັບເດດ
ອັບເດດເປັນຫົວສາຂາໃໝ່ຖ້າຊຸດການປ່ຽນແປງຖືກຖອດອອກ

ການປັບປຸງ
ອັບເດດໄດເລກະທໍລີທີ່ເຮັດວຽກ (ຫຼືປ່ຽນການດັດແກ້):

ການປັບປຸງ hg [-c] [-C] [-d DATE] [[-r] REV]

ປັບປຸງໄດເລກະທໍລີການເຮັດວຽກຂອງ repository ກັບຊຸດການປ່ຽນແປງທີ່ລະບຸ. ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​ແມ່ນ​
ທີ່ລະບຸໄວ້, ອັບເດດກັບປາຍຂອງສາຂາທີ່ມີຊື່ໃນປັດຈຸບັນແລະຍ້າຍ bookmark ທີ່ໃຊ້ວຽກ (ເບິ່ງ
hg ຊ່ວຍເຫຼືອ bookmarks).

ການປັບປຸງກໍານົດການແກ້ໄຂພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກເປັນຊຸດການປ່ຽນແປງທີ່ລະບຸ (ເບິ່ງ hg
ຊ່ວຍເຫຼືອ ພໍ່ແມ່).

ຖ້າຊຸດການປ່ຽນແປງບໍ່ແມ່ນລູກຫລານຫຼືບັນພະບຸລຸດຂອງພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ, the
ການອັບເດດຖືກຍົກເລີກ. ດ້ວຍຕົວເລືອກ -c/--check, ໄດເລກະທໍລີທີ່ເຮັດວຽກຖືກກວດສອບ
ການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ; ຖ້າບໍ່ພົບ, ໄດເລກະທໍລີທີ່ເຮັດວຽກຈະຖືກປັບປຸງເປັນທີ່ກໍານົດໄວ້
ການປ່ຽນແປງ.

ກົດລະບຽບຕໍ່ໄປນີ້ນຳໃຊ້ເມື່ອໄດເລກະທໍລີທີ່ເຮັດວຽກມີການປ່ຽນແປງທີ່ບໍ່ສອດຄ່ອງ:

1. ຖ້າບໍ່ລະບຸ -c/--check ຫຼື -C/--clean, ແລະຖ້າຊຸດການປ່ຽນແປງທີ່ຮ້ອງຂໍແມ່ນເປັນ.
ບັນພະບຸລຸດຫຼືລູກຫລານຂອງພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ, ການປ່ຽນແປງທີ່ບໍ່ສອດຄ່ອງແມ່ນ
ຮວມເຂົ້າໄປໃນຊຸດການປ່ຽນແປງທີ່ຮ້ອງຂໍ ແລະຜົນໄດ້ຮັບທີ່ຖືກລວມເຂົ້າກັນນັ້ນຖືກປະໄວ້ໂດຍບໍ່ຕັ້ງໃຈ. ຖ້າ
ການປ່ຽນແປງທີ່ຮ້ອງຂໍບໍ່ແມ່ນບັນພະບຸລຸດຫຼືຜູ້ສືບເຊື້ອສາຍ (ນັ້ນແມ່ນ, ມັນແມ່ນກ່ຽວກັບຄົນອື່ນ
ສາຂາ), ການປັບປຸງໄດ້ຖືກຍົກເລີກແລະການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງຈະຖືກຮັກສາໄວ້.

2. ດ້ວຍທາງເລືອກ -c/--check, ການປັບປຸງໄດ້ຖືກຍົກເລີກແລະການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ
ຮັກສາໄວ້.

3. ດ້ວຍຕົວເລືອກ -C/--clean, ການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງຈະຖືກຍົກເລີກ ແລະລະບົບການເຮັດວຽກ
ໄດ້ຖືກປັບປຸງເປັນຊຸດການປ່ຽນແປງທີ່ຮ້ອງຂໍ.

ເພື່ອຍົກເລີກການຮວມທີ່ບໍ່ໄດ້ຜູກມັດ (ແລະສູນເສຍການປ່ຽນແປງຂອງທ່ານ), ໃຫ້ໃຊ້ hg ການປັບປຸງ --ສະອາດ ..

ໃຊ້ null ເປັນຊຸດການປ່ຽນແປງເພື່ອເອົາໄດເລກະທໍລີທີ່ເຮັດວຽກ (ເຊັ່ນ: hg clone -U).

ຖ້າທ່ານຕ້ອງການປ່ຽນພຽງແຕ່ໄຟລ໌ດຽວໄປຫາການແກ້ໄຂເກົ່າ, ໃຫ້ໃຊ້ hg ກັບຄືນມາ [-ຣ REV] NAME.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າມີໄຟລ໌ທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ.

ຕົວເລືອກ:

-C, --ສະອາດ
ຍົກ​ເລີກ​ການ​ປ່ຽນ​ແປງ​ທີ່​ບໍ່​ໄດ້​ຮັບ​ການ​ອະ​ນຸ​ຍາດ (ບໍ່​ມີ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​)

-c, --ກວດ​ສອບ
ປັບປຸງໃຫ້ທັນທົ່ວສາຂາຖ້າບໍ່ມີການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ

-d,- ວັນທີ
ວັນ​ທີ​ທີ່​ກົງ​ກັນ​ກັບ​ການ​ແກ້​ໄຂ​ທີ່​ສຸດ​

-r,--rev
ການແກ້ໄຂ

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

ນາມແຝງ: up checkout co

ກວດສອບ
ກວດ​ສອບ​ຄວາມ​ສົມ​ບູນ​ຂອງ repository​:

hg ກວດສອບ

ກວດສອບຄວາມສົມບູນຂອງ repository ໃນປັດຈຸບັນ.

ນີ້ຈະປະຕິບັດການກວດສອບຢ່າງກວ້າງຂວາງຂອງຄວາມສົມບູນຂອງ repository, ກວດສອບ hashes ໄດ້
ແລະ checksums ຂອງແຕ່ລະລາຍການໃນ changelog, manifest, ແລະໄຟລ໌ຕິດຕາມ, ເຊັ່ນດຽວກັນກັບ
ຄວາມຊື່ສັດຂອງ crosslinks ແລະດັດຊະນີຂອງພວກເຂົາ.

ກະລຸນາເບິ່ງ https://mercurial-scm.org/wiki/RepositoryCorruption ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ
ການຟື້ນຟູຈາກການສໍ້ລາດບັງຫຼວງຂອງ repository ໄດ້.

ຕອບ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າພົບຂໍ້ຜິດພາດ.

ສະບັບພາສາ
ສະບັບຜົນຜະລິດແລະຂໍ້ມູນລິຂະສິດ:

ສະບັບ hg

ສະບັບຜົນຜະລິດແລະຂໍ້ມູນລິຂະສິດ

DATE ຮູບແບບ


ບາງຄໍາສັ່ງອະນຸຍາດໃຫ້ຜູ້ໃຊ້ກໍານົດວັນທີ, ເຊັ່ນ:

· backout, ຄໍາຫມັ້ນສັນຍາ, ນໍາເຂົ້າ, tag: ກໍານົດວັນທີຄໍາຫມັ້ນສັນຍາ.

· ບັນທຶກ, ປ່ຽນຄືນ, ປັບປຸງ: ເລືອກການດັດແກ້ຕາມວັນທີ.

ຮູບແບບວັນທີຫຼາຍແມ່ນຖືກຕ້ອງ. ນີ້ແມ່ນບາງຕົວຢ່າງ:

· ພຸດ Dec 6 13:18:29 2006 (ສົມມຸດເຂດເວລາທ້ອງຖິ່ນ)

· Dec 6 13:18 -0600 (ສົມ​ມຸດ​ວ່າ​ປີ​, ການ​ຊົດ​ເຊີຍ​ເວ​ລາ​ສະ​ຫນອງ​ໃຫ້​)

· Dec 6 13:18 UTC (UTC ແລະ GMT ແມ່ນນາມແຝງສໍາລັບ +0000)

· Dec 6 (ທ່ຽງຄືນ)

· 13:18 (ສົມ​ມຸດ​ວ່າ​ມື້​ນີ້​)

· 3:39 (ສົມມຸດ 3:39 ໂມງເຊົ້າ)

· 3: 39pm (15: 39)

· 2006-12-06 13:18:29 (ຮູບແບບ ISO 8601)

· 2006-12-6 13:18

· 2006-12-6

· 12​-6

· 12/6

· 12/6/6 (ທັນວາ 6 2006)

· ໃນມື້ນີ້ (ທ່ຽງຄືນ)

· ມື້​ວານ​ນີ້ (ທ່ຽງຄືນ)

· ໃນປັດຈຸບັນ - ດຽວ​ນີ້

ສຸດທ້າຍ, ມີຮູບແບບພາຍໃນຂອງ Mercurial:

· 1165411109 0 (Wed Dec 6 13:18:29 2006 UTC)

ນີ້ແມ່ນຮູບແບບການເປັນຕົວແທນພາຍໃນສໍາລັບວັນທີ. ຕົວເລກທໍາອິດແມ່ນຈໍານວນຂອງ
ວິນາທີນັບຕັ້ງແຕ່ຍຸກ (1970-01-01 00:00 UTC). ອັນທີສອງແມ່ນການຊົດເຊີຍຂອງທ້ອງຖິ່ນ
ເຂດເວລາ, ໃນວິນາທີຕາເວັນຕົກຂອງ UTC (ເປັນລົບຖ້າເຂດເວລາຢູ່ທາງຕາເວັນອອກຂອງ UTC).

ຄໍາສັ່ງບັນທຶກຍັງຍອມຮັບຊ່ວງວັນທີ:

· <DATE - ຢູ່​ຫຼື​ກ່ອນ​ວັນ​ທີ / ເວ​ລາ​ທີ່​ກໍາ​ນົດ​ໄວ້​

· >DATE - ໃນ​ຫຼື​ຫຼັງ​ຈາກ​ວັນ​ທີ / ເວ​ລາ​ທີ່​ໃຫ້​

· DATE to DATE - ຊ່ວງວັນທີ, ລວມທັງ

· -ມື້ - ພາຍໃນຈໍານວນມື້ຂອງມື້ນີ້

DIFF ຮູບແບບ


ຮູບແບບເລີ່ມຕົ້ນຂອງ Mercurial ສໍາລັບການສະແດງການປ່ຽນແປງລະຫວ່າງສອງສະບັບຂອງໄຟລ໌ແມ່ນ
ເຂົ້າກັນໄດ້ກັບຮູບແບບເອກະພາບຂອງ GNU diff, ເຊິ່ງສາມາດນໍາໃຊ້ໄດ້ໂດຍ GNU patch ແລະຈໍານວນຫຼາຍ
ເຄື່ອງມືມາດຕະຖານອື່ນໆ.

ໃນຂະນະທີ່ຮູບແບບມາດຕະຖານນີ້ມັກຈະພຽງພໍ, ມັນບໍ່ໄດ້ເຂົ້າລະຫັດຂໍ້ມູນຕໍ່ໄປນີ້:

·ສະຖານະການປະຕິບັດແລະ bits ການອະນຸຍາດອື່ນໆ

· ສຳເນົາ ຫຼືປ່ຽນຊື່ຂໍ້ມູນ

· ການ​ປ່ຽນ​ແປງ​ໃນ​ໄຟລ​໌​ຖານ​ສອງ​

·ການສ້າງຫຼືລຶບໄຟລ໌ເປົ່າ

Mercurial ຍັງສະຫນັບສະຫນູນຮູບແບບຄວາມແຕກຕ່າງທີ່ຂະຫຍາຍອອກໄປຈາກ git VCS ທີ່ແກ້ໄຂເຫຼົ່ານີ້
ຂໍ້ຈໍາກັດ. ຮູບແບບ git diff ບໍ່ໄດ້ຖືກຜະລິດໂດຍຄ່າເລີ່ມຕົ້ນເພາະວ່າເຄື່ອງມືທີ່ແຜ່ຂະຫຍາຍບໍ່ຫຼາຍປານໃດ
ຍັງບໍ່ເຂົ້າໃຈຮູບແບບນີ້.

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

ເພື່ອເຮັດໃຫ້ Mercurial ຜະລິດຮູບແບບ git ຂະຫຍາຍ diff, ໃຊ້ທາງເລືອກ --git ທີ່ມີຢູ່ສໍາລັບ
ຫຼາຍຄໍາສັ່ງ, ຫຼືຕັ້ງ 'git = True' ໃນສ່ວນ [diff] ຂອງໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ. ເຈົ້າ
ບໍ່ຈໍາເປັນຕ້ອງກໍານົດຕົວເລືອກນີ້ເມື່ອນໍາເຂົ້າຄວາມແຕກຕ່າງໃນຮູບແບບນີ້ຫຼືໃຊ້ພວກມັນຢູ່ໃນ mq
ການຂະຫຍາຍ.

ENVIRONMENT ຄວາມຮັບຜິດຊອບ


HG ເສັ້ນທາງໄປສູ່ການປະຕິບັດ 'hg', ຜ່ານອັດຕະໂນມັດໃນເວລາທີ່ແລ່ນ hooks, ສ່ວນຂະຫຍາຍຫຼື
ເຄື່ອງ​ມື​ພາຍ​ນອກ​. ຖ້າບໍ່ໄດ້ຕັ້ງ ຫຼືຫວ່າງເປົ່າ, ນີ້ແມ່ນຊື່ຂອງ hg executable ຖ້າມັນຖືກແຊ່ແຂງ,
ຫຼື​ການ​ປະ​ຕິ​ບັດ​ທີ່​ມີ​ຊື່ 'hg' (ມີ %PATHEXT% [ຄ່າ​ເລີ່ມ​ຕົ້ນ​ເປັນ COM/EXE/BAT/CMD]
ສ່ວນຂະຫຍາຍຢູ່ໃນ Windows) ຖືກຄົ້ນຫາ.

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

(ເຊົາຮອງຮັບ, ໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ)

HGENCODING
ອັນນີ້ລົບລ້າງການຕັ້ງຄ່າສະຖານທີ່ເລີ່ມຕົ້ນທີ່ພົບໂດຍ Mercurial. ການຕັ້ງຄ່ານີ້ແມ່ນ
ໃຊ້ເພື່ອແປງຂໍ້ມູນລວມທັງຊື່ຜູ້ໃຊ້, ຄໍາອະທິບາຍຊຸດການປ່ຽນແປງ, ຊື່ແທັກ, ແລະ
ສາຂາ. ການ​ຕັ້ງ​ຄ່າ​ນີ້​ສາ​ມາດ​ຖືກ​ລົບ​ລ້າງ​ດ້ວຍ --encoding ທາງ​ເລືອກ​ເສັ້ນ​ຄໍາ​ສັ່ງ.

HGENCODINGMODE
ນີ້ກໍານົດພຶດຕິກໍາຂອງ Mercurial ສໍາລັບການຈັດການຕົວອັກສອນທີ່ບໍ່ຮູ້ຈັກໃນຂະນະທີ່ການປ່ຽນລະຫັດ
ການປ້ອນຂໍ້ມູນຂອງຜູ້ໃຊ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ເຄັ່ງຄັດ", ເຊິ່ງເຮັດໃຫ້ Mercurial ເອົາລູກອອກຖ້າມັນເຮັດບໍ່ໄດ້
ແຜນທີ່ລັກສະນະ. ການຕັ້ງຄ່າອື່ນໆລວມມີ "ແທນທີ່", ເຊິ່ງແທນທີ່ບໍ່ຮູ້
ຕົວອັກສອນ, ແລະ "ບໍ່ສົນໃຈ", ເຊິ່ງຫຼຸດລົງພວກມັນ. ການຕັ້ງຄ່ານີ້ສາມາດຖືກລົບລ້າງດ້ວຍ
--encodingmode ທາງເລືອກແຖວຄໍາສັ່ງ.

HGENCODINGAMBIGOUS
ນີ້ກໍານົດພຶດຕິກໍາຂອງ Mercurial ສໍາລັບການຈັດການຕົວອັກສອນທີ່ມີຄວາມກວ້າງ "ບໍ່ຊັດເຈນ" ເຊັ່ນ
ຕົວອັກສອນລາຕິນສຳນຽງດ້ວຍຕົວອັກສອນອາຊີຕາເວັນອອກ. ໂດຍຄ່າເລີ່ມຕົ້ນ, Mercurial ຖືວ່າ
ຕົວອັກສອນທີ່ບໍ່ຊັດເຈນແມ່ນແຄບ, ຕັ້ງຕົວແປນີ້ເປັນ "ກວ້າງ" ຖ້າຕົວອັກສອນດັ່ງກ່າວ
ເຮັດໃຫ້ເກີດບັນຫາການຈັດຮູບແບບ.

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

(ເຊົາຮອງຮັບ, ໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ)

HGRCPATH
ບັນຊີລາຍຊື່ຂອງໄຟລ໌ຫຼືໄດເລກະທໍລີເພື່ອຊອກຫາໄຟລ໌ການຕັ້ງຄ່າ. ຕົວແຍກລາຍການແມ່ນ
":" ສຸດ Unix, ";" ໃນ Windows. ຖ້າ HGRCPATH ບໍ່ໄດ້ຖືກຕັ້ງ, ເສັ້ນທາງການຊອກຫາມາດຕະຖານຂອງເວທີ
ຖືກນໍາໃຊ້. ຖ້າຫວ່າງເປົ່າ, ພຽງແຕ່ອ່ານ .hg/hgrc ຈາກບ່ອນເກັບຂໍ້ມູນປັດຈຸບັນ.

ສໍາລັບແຕ່ລະອົງປະກອບໃນ HGRCPATH:

· ຖ້າມັນເປັນໄດເຣັກທໍຣີ, ໄຟລ໌ທັງໝົດທີ່ລົງທ້າຍດ້ວຍ .rc ຈະຖືກເພີ່ມເຂົ້າ

·ຖ້າບໍ່ດັ່ງນັ້ນ, ໄຟລ໌ຕົວມັນເອງຈະຖືກເພີ່ມ

HGPLAIN
ເມື່ອຕັ້ງ, ນີ້ຈະປິດການໃຊ້ງານການຕັ້ງຄ່າໃດໆທີ່ອາດຈະປ່ຽນແປງ Mercurial
ຜົນຜະລິດເລີ່ມຕົ້ນ. ນີ້ລວມມີການເຂົ້າລະຫັດ, ຄ່າເລີ່ມຕົ້ນ, ໂໝດ verbose, ໂໝດດີບັກ, ງຽບ
ໂຫມດ, tracebacks, ແລະທ້ອງຖິ່ນ. ນີ້ສາມາດເປັນປະໂຫຍດໃນເວລາຂຽນ script ກັບ
Mercurial ໃນໃບຫນ້າຂອງການຕັ້ງຄ່າຜູ້ໃຊ້ທີ່ມີຢູ່ແລ້ວ.

ຕົວເລືອກທຽບເທົ່າທີ່ຕັ້ງຜ່ານທຸງແຖວຄຳສັ່ງ ຫຼືຕົວແປສະພາບແວດລ້ອມບໍ່ແມ່ນ
ເກີນ.

HGPLAIN ຍົກເວັ້ນ
ນີ້ແມ່ນລາຍການຄຸນສົມບັດທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດເພື່ອເກັບຮັກສາໄວ້ເມື່ອ HGPLAIN ຖືກເປີດໃຊ້.
ໃນປັດຈຸບັນ, ມູນຄ່າຕໍ່ໄປນີ້ແມ່ນສະຫນັບສະຫນູນ:

alias

ຢ່າເອົານາມແຝງອອກ.

i18n

ຮັກສາຄວາມເປັນສາກົນ.

revsetalias

ຢ່າເອົານາມແຝງຄືນ.

ການຕັ້ງຄ່າ HGPLAINEXCEPT ເປັນອັນໃດກໍໄດ້ (ແມ້ແຕ່ສະຕຣິງຫວ່າງເປົ່າ) ຈະເປີດໃຊ້ໂໝດທຳມະດາ.

HGUSER ນີ້ແມ່ນສະຕຣິງທີ່ໃຊ້ເປັນຜູ້ຂຽນຂອງຄໍາຫມັ້ນສັນຍາ. ຖ້າບໍ່ໄດ້ຕັ້ງ, ຄ່າທີ່ມີຢູ່
ຈະຖືກພິຈາລະນາໃນຄໍາສັ່ງນີ້:

· HGUSER (ເຊົາຮອງຮັບ)

· ໄຟລ໌ການຕັ້ງຄ່າຈາກ HGRCPATH

· ອີເມວ

·​ການ​ໂຕ້​ຕອບ​ກະ​ຕຸ້ນ​

· LOGNAME (ກັບ @ຊື່ເຈົ້າພາບ ຕໍ່ທ້າຍ)

(ເຊົາຮອງຮັບ, ໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ)

ອີ​ເມວ ອາດຈະຖືກນໍາໃຊ້ເປັນຜູ້ຂຽນຂອງຄໍາຫມັ້ນສັນຍາ; ເບິ່ງ HGUSER.

LOGNAME
ອາດຈະຖືກນໍາໃຊ້ເປັນຜູ້ຂຽນຂອງຄໍາຫມັ້ນສັນຍາ; ເບິ່ງ HGUSER.

VISUAL ນີ້ແມ່ນຊື່ຂອງບັນນາທິການທີ່ຈະໃຊ້ໃນເວລາເຮັດ. ເບິ່ງ EDITOR.

EDITOR ບາງຄັ້ງ Mercurial ຕ້ອງການເປີດໄຟລ໌ຂໍ້ຄວາມໃນບັນນາທິການເພື່ອໃຫ້ຜູ້ໃຊ້ດັດແປງ,
ສໍາລັບຕົວຢ່າງ, ໃນເວລາທີ່ຂຽນຂໍ້ຄວາມ. ບັນນາທິການທີ່ມັນໃຊ້ແມ່ນຖືກກໍານົດໂດຍ
ເບິ່ງຕົວແປສະພາບແວດລ້ອມ HGEDITOR, VISUAL ແລະ EDITOR, ໃນຄໍາສັ່ງນັ້ນ.
ອັນທໍາອິດທີ່ບໍ່ຫວ່າງຖືກເລືອກ. ຖ້າພວກມັນທັງໝົດຫວ່າງເປົ່າ, ບັນນາທິການຈະກຳນົດຄ່າເລີ່ມຕົ້ນ
'sensible-editor'.

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

ການ ນຳ ໃຊ້ ເພີ່ມເຕີມ ຄຸນ​ລັກ​ສະ​ນະ


Mercurial ມີຄວາມສາມາດໃນການເພີ່ມຄຸນສົມບັດໃຫມ່ໂດຍຜ່ານການນໍາໃຊ້ການຂະຫຍາຍ. ສ່ວນຂະຫຍາຍ
ອາດຈະເພີ່ມຄໍາສັ່ງໃຫມ່, ເພີ່ມທາງເລືອກໃນຄໍາສັ່ງທີ່ມີຢູ່ແລ້ວ, ການປ່ຽນແປງພຶດຕິກໍາເລີ່ມຕົ້ນຂອງ
ຄໍາສັ່ງ, ຫຼືປະຕິບັດ hooks.

ເພື່ອເປີດໃຊ້ສ່ວນຂະຫຍາຍ "foo", ບໍ່ວ່າຈະສົ່ງກັບ Mercurial ຫຼືໃນເສັ້ນທາງຄົ້ນຫາ Python,
ສ້າງລາຍການສໍາລັບມັນຢູ່ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ, ເຊັ່ນນີ້:

[ສ່ວນຂະຫຍາຍ]
foo =

ທ່ານຍັງສາມາດລະບຸເສັ້ນທາງເຕັມໄປຫາສ່ວນຂະຫຍາຍໄດ້:

[ສ່ວນຂະຫຍາຍ]
myfeature = ~/.hgext/myfeature.py

ເບິ່ງ hg ຊ່ວຍເຫຼືອ config ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າ.

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

ເພື່ອປິດການໃຊ້ງານສ່ວນຂະຫຍາຍທີ່ເປີດຢູ່ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງຂອບເຂດທີ່ກວ້າງຂວາງ,
prepend ເສັ້ນທາງຂອງມັນກັບ !:

[ສ່ວນຂະຫຍາຍ]
# ປິດການໃຊ້ງານແຖບສ່ວນຂະຫຍາຍທີ່ຢູ່ໃນ /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# ເຊັ່ນດຽວກັນ, ແຕ່ບໍ່ມີເສັ້ນທາງທີ່ຖືກສະຫນອງສໍາລັບການຂະຫຍາຍ baz
ບາສ = !

ສ່ວນຂະຫຍາຍທີ່ຖືກປິດໃຊ້ງານ:

acl hooks ສໍາລັບການຄວບຄຸມການເຂົ້າເຖິງ repository

ກ່ອງ ດຳ
ບັນທຶກເຫດການ repository ກັບ blackbox ສໍາລັບ debugging

ບັກຊິລາ
hooks ສໍາ​ລັບ​ການ​ເຊື່ອມ​ໂຍງ​ກັບ Bugzilla bug tracker​

ເຊັນເຊີ ລົບ​ເນື້ອ​ໃນ​ໄຟລ​໌​ໃນ​ການ​ແກ້​ໄຂ​ທີ່​ໃຫ້​

churn ຄໍາສັ່ງເພື່ອສະແດງສະຖິຕິກ່ຽວກັບປະຫວັດສາດ repository

clonebundle
ໂຄສະນາມັດທີ່ຜະລິດໄວ້ກ່ອນເພື່ອໂຄນແກ່ນ

ສີ colorize ຜົນຜະລິດຈາກບາງຄໍາສັ່ງ

ແປງ
ນໍາເຂົ້າການດັດແກ້ຈາກບ່ອນເກັບມ້ຽນ VCS ຕ່າງປະເທດເຂົ້າໄປໃນ Mercurial

ອີອລ ຈັດການແຖວໃໝ່ໂດຍອັດຕະໂນມັດໃນໄຟລ໌ບ່ອນເກັບມ້ຽນ

extdiff
ຄໍາສັ່ງອະນຸຍາດໃຫ້ໂຄງການພາຍນອກປຽບທຽບການດັດແກ້

ຄວາມຈິງ
http authentication ກັບ factotum

gpg ຄໍາສັ່ງທີ່ຈະເຊັນແລະກວດສອບການປ່ຽນແປງ

hgcia hooks ສໍາລັບການເຊື່ອມໂຍງກັບການບໍລິການແຈ້ງການ CIA.vc

hgk ຄົ້ນຫາບ່ອນເກັບມ້ຽນໃນແບບກຣາຟິກ

ຈຸດເດັ່ນ
ການເນັ້ນໄວຍະກອນສໍາລັບ hgweb (ຕ້ອງການ Pygments)

ກວດແກ້
ການແກ້ໄຂປະຫວັດສາດແບບໂຕ້ຕອບ

ຄໍາ
ຂະຫຍາຍຄໍາສໍາຄັນໃນໄຟລ໌ທີ່ຕິດຕາມ

ໄຟລ໌ຂະຫນາດໃຫຍ່
ຕິດຕາມໄຟລ໌ໄບນາຣີຂະຫນາດໃຫຍ່

mq ຈັດການ stack ຂອງ patches ໄດ້

ແຈ້ງ hooks ສໍາລັບການສົ່ງອີເມວແຈ້ງການຊຸກຍູ້

pager ຄົ້ນຫາຜົນໄດ້ຮັບຄໍາສັ່ງກັບ pager ພາຍນອກ

ລະເບີດຝັງດິນ
ຄໍາສັ່ງທີ່ຈະສົ່ງຊຸດການປ່ຽນແປງເປັນ (ຊຸດຂອງ) ອີເມວແກ້ໄຂ

purge ຄໍາສັ່ງທີ່ຈະລຶບໄຟລ໌ untracked ຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ

ປະຕິເສດ ຄໍາສັ່ງໃຫ້ຍ້າຍຊຸດຂອງການແກ້ໄຂໄປຫາບັນພະບຸລຸດທີ່ແຕກຕ່າງກັນ

ການບັນທຶກ ຄໍາສັ່ງເພື່ອໂຕ້ຕອບເລືອກການປ່ຽນແປງສໍາລັບ commit/qrefresh

ເຊື່ອມຕໍ່ຄືນໃໝ່ recreates hardlinks ລະຫວ່າງ clones repository

schemes
ຂະຫຍາຍໂຄງການທີ່ມີທາງລັດໄປຫາ swarms ເກັບຮັກສາ

share ແບ່ງປັນປະຫວັດທົ່ວໄປລະຫວ່າງຫຼາຍໄດເລກະທໍລີທີ່ເຮັດວຽກ

ເກັບໄວ້ ບັນທຶກແລະຟື້ນຟູການປ່ຽນແປງໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ

ອອກ ການ​ປ່ຽນ​ແປງ​ແຖບ​ແລະ​ລູກ​ຫລານ​ຂອງ​ເຂົາ​ເຈົ້າ​ຈາກ​ປະ​ຫວັດ​ສາດ​

ການຖ່າຍທອດ
ຄໍາສັ່ງໃຫ້ transplant ການປ່ຽນແປງຈາກສາຂາອື່ນ

win32mbcs
ອະນຸຍາດໃຫ້ໃຊ້ເສັ້ນທາງ MBCS ດ້ວຍການເຂົ້າລະຫັດທີ່ມີບັນຫາ

zeroconf
ຄົ້ນພົບແລະໂຄສະນາ repositories ໃນເຄືອຂ່າຍທ້ອງຖິ່ນ

ລະບຸ ເອກະສານ ຊຸດ


Mercurial ສະຫນັບສະຫນູນພາສາທີ່ເປັນປະໂຫຍດສໍາລັບການເລືອກຊຸດຂອງໄຟລ໌.

ເຊັ່ນດຽວກັນກັບຮູບແບບໄຟລ໌ອື່ນໆ, ປະເພດຮູບແບບນີ້ແມ່ນສະແດງໂດຍຄໍານໍາຫນ້າ, 'ຊຸດ:'. ພາສາ
ສະ​ຫນັບ​ສະ​ຫນູນ​ຈໍາ​ນວນ​ຂອງ​ການ​ຄາດ​ຄະ​ເນ​ທີ່​ເຂົ້າ​ຮ່ວມ​ໂດຍ infix operators​. ວົງເລັບສາມາດເປັນ
ໃຊ້ສໍາລັບການຈັດກຸ່ມ.

ຕົວລະບຸເຊັ່ນຊື່ໄຟລ໌ຫຼືຮູບແບບຕ້ອງຖືກອ້າງອີງດ້ວຍວົງຢືມດຽວຫຼືຄູ່ຖ້າ
ພວກມັນມີຕົວລະຄອນນອກ [.*{}[]?/\_a-zA-Z0-9\x80-\xff] ຫຼືຖ້າພວກເຂົາກົງກັບຫນຶ່ງໃນ
ຄາດ​ຄະ​ເນ​ທີ່​ກໍາ​ນົດ​ໄວ້​ລ່ວງ​ຫນ້າ​. ໂດຍທົ່ວໄປແລ້ວນີ້ໃຊ້ກັບຮູບແບບໄຟລ໌ອື່ນນອກຈາກ globs ແລະ
ການໂຕ້ຖຽງສໍາລັບ predicates.

ຕົວອັກສອນພິເສດສາມາດຖືກນໍາໃຊ້ໃນຕົວລະບຸທີ່ອ້າງອີງໂດຍການຫລົບຫນີ, ເຊັ່ນ: \n is
ແປເປັນແຖວໃໝ່. ເພື່ອປ້ອງກັນບໍ່ໃຫ້ພວກມັນຖືກຕີຄວາມໝາຍ, ສະຕຣິງສາມາດຖືກນຳໜ້າໄດ້
ກັບ r, ຕົວຢ່າງ r'...'.

ມີຕົວປະຕິບັດການຄໍານໍາຫນ້າອັນດຽວ:

ບໍ່ x

ໄຟລ໌ບໍ່ຢູ່ໃນ x. ຮູບແບບສັ້ນແມ່ນ ! x.

ເຫຼົ່ານີ້ແມ່ນຕົວປະຕິບັດການ infix ສະຫນັບສະຫນູນ:

x ແລະ y

ຈຸດຕັດກັນຂອງໄຟລ໌ໃນ x ແລະ y. ຮູບແບບສັ້ນແມ່ນ x & y.

x or y

ສະຫະພັນຂອງໄຟລ໌ໃນ x ແລະ y. ມີສອງຮູບແບບສັ້ນທາງເລືອກ: x | y ແລະ x +
y.

x - y

ໄຟລ໌ໃນ x ແຕ່ບໍ່ແມ່ນຢູ່ໃນ y.

ຕົວຊີ້ບອກຕໍ່ໄປນີ້ແມ່ນຮອງຮັບ:

ເພີ່ມ()

ໄຟລ໌ທີ່ເພີ່ມຕາມ hg ສະຖານະພາບ.

ຄູ່()

ໄຟລ໌ທີ່ເບິ່ງຄືວ່າເປັນໄບນາຣີ (ປະກອບດ້ວຍ NUL bytes).

ສະອາດ()

ໄຟລ໌ທີ່ສະອາດຕາມ hg ສະຖານະພາບ.

ສຳເນົາ()

ໄຟລ໌ທີ່ບັນທຶກໄວ້ວ່າຖືກສຳເນົາ.

ລຶບແລ້ວ()

ນາມແຝງສໍາລັບ ຂາດ().

ການເຂົ້າລະຫັດ(ຊື່)

ໄຟລ໌ສາມາດຖືກຖອດລະຫັດຢ່າງສໍາເລັດຜົນດ້ວຍການເຂົ້າລະຫັດຕົວອັກສອນໃຫ້. ອາດຈະບໍ່
ເປັນປະໂຫຍດສໍາລັບການເຂົ້າລະຫັດອື່ນນອກຈາກ ASCII ແລະ UTF-8.

eol(ແບບ)

ໄຟລ໌ມີແຖວໃໝ່ຂອງຮູບແບບທີ່ໃຫ້ (dos, unix, mac). ໄຟລ​໌​ຖານ​ສອງ​ແມ່ນ​
ບໍ່ຮວມ, ໄຟລ໌ທີ່ມີສ່ວນທ້າຍແຖວປະສົມກົງກັນຫຼາຍຮູບແບບ.

exec()

ໄຟລ໌ທີ່ຖືກໝາຍວ່າສາມາດປະຕິບັດໄດ້.

grep(regex)

ໄຟລ໌ປະກອບມີການສະແດງອອກປົກກະຕິທີ່ໃຫ້.

hgignore()

ໄຟລ໌ທີ່ກົງກັບຮູບແບບ .hgignore ທີ່ໃຊ້ຢູ່.

ບໍ່ສົນໃຈ()

ໄຟລ໌ທີ່ຖືກລະເລີຍຕາມ hg ສະຖານະພາບ. ໄຟລ໌ເຫຼົ່ານີ້ຈະຖືກພິຈາລະນາພຽງແຕ່ຖ້າ
predicate ນີ້ຖືກນໍາໃຊ້.

ຂາດ()

ໄຟລ໌ທີ່ຂາດຫາຍໄປຕາມ hg ສະຖານະພາບ.

ດັດແກ້()

ໄຟລ໌ທີ່ຖືກດັດແກ້ຕາມ hg ສະຖານະພາບ.

ແບບພົກພາ()

ໄຟລ໌ທີ່ມີຊື່ແບບພົກພາ. (ອັນນີ້ບໍ່ລວມເອົາຊື່ໄຟລ໌ກັບກໍລະນີ
ການ​ປະ​ທະ​ກັນ​.)

ເອົາອອກ()

ໄຟລ໌ທີ່ຖືກໂຍກຍ້າຍອອກຕາມ hg ສະຖານະພາບ.

ແກ້ໄຂ()

ໄຟລ໌ທີ່ຖືກຫມາຍແກ້ໄຂຕາມ hg ແກ້ໄຂ -l.

ຂະໜາດ(ສະແດງອອກ)

ຂະ​ຫນາດ​ໄຟລ​໌​ກົງ​ກັບ​ການ​ສະ​ແດງ​ອອກ​ໃຫ້​. ຕົວຢ່າງ:

· 1k (ໄຟລ໌ຈາກ 1024 ຫາ 2047 bytes)

· < 20k (ໄຟລ໌ນ້ອຍກວ່າ 20480 bytes)

· >= .5MB (ໄຟລ໌ຢ່າງໜ້ອຍ 524288 bytes)

· 4k - 1MB (ໄຟລ໌ຈາກ 4096 bytes ຫາ 1048576 bytes)

subrepo([ຮູບແບບ])

ຄັງເກັບຍ່ອຍທີ່ມີເສັ້ນທາງກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້.

symlink()

ໄຟລ໌ທີ່ຖືກຫມາຍເປັນ symlink.

ບໍ່ຮູ້ຈັກ()

ໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກອີງຕາມ hg ສະຖານະພາບ. ໄຟລ໌ເຫຼົ່ານີ້ຈະຖືກພິຈາລະນາພຽງແຕ່ຖ້າ
predicate ນີ້ຖືກນໍາໃຊ້.

ຍັງບໍ່ໄດ້ແກ້ໄຂ()

ໄຟລ໌ທີ່ຖືກໝາຍວ່າບໍ່ໄດ້ຮັບການແກ້ໄຂຕາມ hg ແກ້ໄຂ -l.

ບາງຄໍາຖາມຕົວຢ່າງ:

·ສະແດງສະຖານະຂອງໄຟລ໌ທີ່ເບິ່ງຄືວ່າເປັນຖານສອງໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ:

ສະຖານະ hg -A "set:binary()"

· ລືມໄຟລ໌ທີ່ຢູ່ໃນ .hgignore ແຕ່ຖືກຕິດຕາມແລ້ວ:

hg ລືມ "set:hgignore() ແລະບໍ່ໄດ້ລະເລີຍ()"

·ຊອກຫາໄຟລ໌ຂໍ້ຄວາມທີ່ມີສະຕຣິງ:

hg ໄຟລ໌ "ຕັ້ງ:grep(magic) ແລະບໍ່ແມ່ນສອງ ()"

· ຊອກຫາໄຟລ໌ C ໃນການເຂົ້າລະຫັດທີ່ບໍ່ໄດ້ມາດຕະຖານ:

ໄຟລ໌ hg "ຕັ້ງ:**.c ແລະບໍ່ໄດ້ເຂົ້າລະຫັດ('UTF-8')"

·ກັບຄືນສໍາເນົາຂອງໄຟລ໌ສອງຂະຫນາດໃຫຍ່:

hg revert "set:copied() and binary() and size('>1M')"

· ເອົາໄຟລ໌ທີ່ລະບຸໄວ້ໃນ foo.lst ທີ່ມີຕົວອັກສອນ a ຫຼື b:

hg ເອົາ "set: 'listfile:foo.lst' ແລະ (**a* ຫຼື **b*)"

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ.

GLOSSARY


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

Bookmark
Bookmarks ແມ່ນຕົວຊີ້ໄປຫາຄໍາຫມັ້ນສັນຍາບາງຢ່າງທີ່ເຄື່ອນຍ້າຍໃນເວລາທີ່ຄໍາຫມັ້ນສັນຍາ. ພວກ​ເຂົາ​ແມ່ນ
ຄ້າຍ​ຄື​ກັນ​ກັບ tags ໃນ​ທີ່​ມັນ​ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ນໍາ​ໃຊ້​ຊື່ bookmark ໃນ​ທຸກ​ບ່ອນ​ທີ່
Mercurial ຄາດວ່າຈະເປັນ ID ການປ່ຽນແປງ, ເຊັ່ນ, ກັບ hg ການປັບປຸງ. ບໍ່ຄືກັບ tags, bookmarks ຍ້າຍ
ພ້ອມ​ກັນ​ໃນ​ເວ​ລາ​ທີ່​ທ່ານ​ເຮັດ​ໃຫ້​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​.

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

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

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

ຕົວຢ່າງ: "ສາຂາທົດລອງ."

(Verb) ການ​ປະ​ຕິ​ບັດ​ຂອງ​ການ​ສ້າງ​ການ​ປ່ຽນ​ແປງ​ຂອງ​ເດັກ​ນ້ອຍ​ທີ່​ເຮັດ​ໃຫ້​ພໍ່​ແມ່​ຂອງ​ຕົນ​
ຫຼາຍ​ກວ່າ​ຫນຶ່ງ​ເດັກ​ນ້ອຍ​.

ຕົວຢ່າງ: "ຂ້ອຍຈະໄປສາຂາ X."

ສາຂາ, anonymous
ທຸກໆຄັ້ງທີ່ມີການປ່ຽນແປງໃຫມ່ຂອງເດັກແມ່ນສ້າງຂຶ້ນຈາກພໍ່ແມ່ທີ່ບໍ່ແມ່ນຫົວຫນ້າແລະ
ຊື່ຂອງສາຂາບໍ່ໄດ້ມີການປ່ຽນແປງ, ສາຂາທີ່ບໍ່ເປີດເຜີຍຊື່ໃຫມ່ແມ່ນຖືກສ້າງຂຶ້ນ.

ສາຂາ, ປິດ
ສາຂາ​ທີ່​ມີ​ຊື່​ວ່າ​ຫົວ​ສາຂາ​ໄດ້​ປິດ​ໝົດ.

ສາຂາ, Default
ສາຂາໄດ້ມອບໝາຍໃຫ້ກັບຊຸດການປ່ຽນແປງເມື່ອບໍ່ມີຊື່ກ່ອນໜ້ານີ້.

ສາຂາ ຫົວຫນ້າ
ເບິ່ງ 'ຫົວ, ສາຂາ'.

ສາຂາ, ບໍ່ເຄື່ອນໄຫວ
ຖ້າສາຂາທີ່ມີຊື່ບໍ່ມີຫົວດ້ານ topological, ມັນຖືວ່າບໍ່ມີການເຄື່ອນໄຫວ. ເປັນ
ຕົວຢ່າງ, ສາຂາຄຸນສົມບັດກາຍເປັນ inactive ເມື່ອມັນຖືກລວມເຂົ້າເປັນຄ່າເລີ່ມຕົ້ນ
ສາຂາ. ໄດ້ hg ສາຂາ ຄໍາສັ່ງສະແດງໃຫ້ເຫັນສາຂາທີ່ບໍ່ມີການເຄື່ອນໄຫວໂດຍຄ່າເລີ່ມຕົ້ນ, ເຖິງແມ່ນວ່າພວກເຂົາສາມາດເຮັດໄດ້
ຖືກເຊື່ອງໄວ້ດ້ວຍ hg ສາຂາ --active.

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

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

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

ສາຂາ ປາຍ
ເບິ່ງ 'ເຄັດລັບ, ສາຂາ'.

ສາຂາ, topological
ທຸກໆຄັ້ງທີ່ມີການປ່ຽນແປງໃຫມ່ຂອງເດັກແມ່ນສ້າງຂຶ້ນຈາກພໍ່ແມ່ທີ່ບໍ່ແມ່ນຫົວຫນ້າ, ໃໝ່
ສາຂາ topological ຖືກສ້າງຂື້ນ. ຖ້າສາຂາ topological ຖືກຕັ້ງຊື່, ມັນຈະກາຍເປັນຊື່
ສາຂາ. ຖ້າສາຂາ topological ບໍ່ມີຊື່, ມັນຈະກາຍເປັນສາຂາທີ່ບໍ່ເປີດເຜີຍຊື່
ໃນປັດຈຸບັນ, ອາດຈະເປັນຄ່າເລີ່ມຕົ້ນ, ສາຂາ.

ການປ່ຽນແປງ
ບັນທຶກຂອງຊຸດການປ່ຽນແປງໃນລໍາດັບທີ່ພວກເຂົາຖືກເພີ່ມໃສ່ບ່ອນເກັບມ້ຽນ.
ນີ້ປະກອບມີລາຍລະອຽດເຊັ່ນ: changeset id, author, commit message, date, and list
ຂອງ​ໄຟລ​໌​ທີ່​ມີ​ການ​ປ່ຽນ​ແປງ​.

ຊຸດການປ່ຽນແປງ
ພາບຖ່າຍຂອງສະຖານະຂອງບ່ອນເກັບມ້ຽນທີ່ໃຊ້ເພື່ອບັນທຶກການປ່ຽນແປງ.

ການ​ປ່ຽນ​ແປງ​, ເດັກ
converse ຂອງ parent changeset: ຖ້າ P ເປັນພໍ່ແມ່ຂອງ C, ຫຼັງຈາກນັ້ນ C ແມ່ນລູກຂອງ P.
ບໍ່ຈຳກັດຈຳນວນເດັກນ້ອຍທີ່ຊຸດການປ່ຽນແປງອາດມີ.

ຊຸດການປ່ຽນແປງ id
ແຮຊ SHA-1 ທີ່ລະບຸຊຸດການປ່ຽນແປງທີ່ເປັນເອກະລັກ. ມັນອາດຈະເປັນຕົວແທນ
"ຍາວ" 40 ຕົວເລກເລກຖານສິບຫົກ, ຫຼື "ສັ້ນ" 12 ຕົວເລກເລກຖານສິບຫົກ.

ການ​ປ່ຽນ​ແປງ​, ລວມ
ຊຸດການປ່ຽນແປງກັບພໍ່ແມ່ສອງຄົນ. ອັນນີ້ເກີດຂຶ້ນເມື່ອມີການຜູກມັດ.

ການ​ປ່ຽນ​ແປງ​, ພໍ່ແມ່
ການທົບທວນທີ່ຊຸດການປ່ຽນແປງຂອງເດັກນ້ອຍແມ່ນອີງໃສ່. ໂດຍສະເພາະ, ຊຸດການປ່ຽນແປງຂອງພໍ່ແມ່
ຂອງ changeset C ແມ່ນຊຸດການປ່ຽນແປງທີ່ node ທັນທີກ່ອນ C ໃນ DAG.
ການປ່ຽນແປງມີພໍ່ແມ່ສູງສຸດສອງຄົນ.

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

ຕົວຢ່າງ: "ຂ້ອຍໃຊ້ checkout X."

(Verb) ການປັບປຸງໄດເລກະທໍລີທີ່ເຮັດວຽກເປັນຊຸດການປ່ຽນແປງສະເພາະ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການປັບປຸງ.

ຕົວຢ່າງ: "ຂ້ອຍຈະກວດເບິ່ງການປ່ຽນແປງ X."

ເດັກ ການປ່ຽນແປງ
ເບິ່ງ 'Changeset, ເດັກ'.

ປິດ ການປ່ຽນແປງ
ເບິ່ງ 'ຫົວຫນ້າ, ສາຂາປິດ'.

ປິດ ສາຂາ
ເບິ່ງ 'ສາຂາ, ປິດ'.

Clone (ນາມ) ສຳເນົາທັງໝົດ ຫຼືບາງສ່ວນຂອງບ່ອນເກັບມ້ຽນ. clone ບາງສ່ວນຈະຕ້ອງຢູ່ໃນ
ຮູບແບບການດັດແກ້ແລະບັນພະບຸລຸດຂອງມັນ.

ຕົວຢ່າງ: "ໂຄນນ໌ຂອງເຈົ້າທັນສະໄໝແລ້ວບໍ?"

(verb) ຂະ​ບວນ​ການ​ຂອງ​ການ​ສ້າງ clone​, ການ​ນໍາ​ໃຊ້​ hg clone.

ຕົວຢ່າງ: "ຂ້ອຍຈະໂຄນບ່ອນເກັບມ້ຽນ."

ປິດ ສາຂາ ຫົວຫນ້າ
ເບິ່ງ 'ຫົວຫນ້າ, ສາຂາປິດ'.

ຄໍາຫມັ້ນສັນຍາ (ນາມ) ຄຳສັບຄ້າຍຄືກັນກັບຊຸດການປ່ຽນແປງ.

ຕົວຢ່າງ: "ມີຂໍ້ຜິດພາດຖືກແກ້ໄຂໃນຄໍາຫມັ້ນສັນຍາທີ່ຜ່ານມາຂອງເຈົ້າບໍ?"

(Verb) ການ​ປະ​ຕິ​ບັດ​ຂອງ​ການ​ບັນ​ທຶກ​ການ​ປ່ຽນ​ແປງ​ເປັນ repository​. ເມື່ອໄຟລ໌ຖືກສັນຍາໃນ a
ໄດເລກະທໍລີເຮັດວຽກ, Mercurial ຊອກຫາຄວາມແຕກຕ່າງລະຫວ່າງໄຟລ໌ທີ່ຫມັ້ນສັນຍາແລະ
ຊຸດການປ່ຽນແປງຂອງພໍ່ແມ່ຂອງພວກເຂົາ, ສ້າງຊຸດການປ່ຽນແປງໃຫມ່ໃນບ່ອນເກັບມ້ຽນ.

ຕົວຢ່າງ: "ທ່ານຄວນເຮັດການປ່ຽນແປງເຫຼົ່ານັ້ນດຽວນີ້."

Cset ຕົວຫຍໍ້ທົ່ວໄປຂອງຄໍາສັບການປ່ຽນແປງ.

DAG repository ຂອງການປ່ຽນແປງຂອງລະບົບການຄວບຄຸມສະບັບແຈກຢາຍ (DVCS) ສາມາດເປັນ
ອະ​ທິ​ບາຍ​ເປັນ​ເສັ້ນ​ທາງ​ເສັ້ນ acyclic graph (DAG), ປະ​ກອບ​ດ້ວຍ nodes ແລະ edges, ບ່ອນ​ທີ່
nodes ສອດຄ້ອງກັບ changeets ແລະ edges imply a parent -> child relation. ນີ້
ເສັ້ນສະແດງສາມາດເບິ່ງເຫັນໄດ້ໂດຍເຄື່ອງມືກາຟິກເຊັ່ນ: hg log --ກຣາຟ. ໃນ Mercurial,
DAG ຖືກຈໍາກັດໂດຍຂໍ້ກໍານົດສໍາລັບເດັກນ້ອຍທີ່ຈະມີພໍ່ແມ່ສອງຄົນ.

Deprecated
ຄຸນສົມບັດຖືກລຶບອອກຈາກເອກະສານ, ແຕ່ບໍ່ໄດ້ກຳນົດເວລາໃຫ້ລຶບອອກ.

ມາດຕະຖານ ສາຂາ
ເບິ່ງ 'ສາຂາ, ຄ່າເລີ່ມຕົ້ນ'.

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

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

ຕົວຢ່າງ: "ເຈົ້າເຫັນການແກ້ໄຂຂອງຂ້ອຍໃນຄວາມແຕກຕ່າງບໍ?"

(Verb) Diffing two changeets ແມ່ນການກະທຳຂອງການສ້າງ diff ຫຼື patch.

ຕົວຢ່າງ: "ຖ້າທ່ານແຕກຕ່າງກັບ changeset X, ທ່ານຈະເຫັນສິ່ງທີ່ຂ້ອຍຫມາຍເຖິງ."

ໄດເລກະທໍລີ, ການເຮັດວຽກ
ໄດເລກະທໍລີທີ່ເຮັດວຽກສະແດງເຖິງສະຖານະຂອງໄຟລ໌ທີ່ຕິດຕາມໂດຍ Mercurial, ນັ້ນ
ຈະຖືກບັນທຶກໄວ້ໃນຄໍາຫມັ້ນສັນຍາຕໍ່ໄປ. ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນເບື້ອງຕົ້ນແມ່ນສອດຄ່ອງກັບ
ພາບຖ່າຍຢູ່ໃນຊຸດການປ່ຽນແປງທີ່ມີຢູ່ແລ້ວ, ເອີ້ນວ່າພໍ່ແມ່ຂອງການເຮັດວຽກ
ໄດເລກະທໍລີ. ເບິ່ງ 'ພໍ່ແມ່, ໄດເລກະທໍລີທີ່ເຮັດວຽກ'. ລັດອາດຈະຖືກດັດແກ້ໂດຍການປ່ຽນແປງ
ໄຟລ໌ທີ່ນໍາສະເຫນີດ້ວຍຕົນເອງຫຼືໂດຍການລວມເຂົ້າກັນ. metadata ຂອງ repository ມີຢູ່ໃນ
ໄດເລກະທໍລີ .hg ພາຍໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ຮ່າງ ການ​ປ່ຽນ​ແປງ​ໃນ​ໄລ​ຍະ​ຮ່າງ​ບໍ່​ໄດ້​ຖືກ​ແບ່ງ​ປັນ​ກັບ repositories ເຜີຍ​ແຜ່​ແລະ​
ດັ່ງນັ້ນອາດຈະຖືກປ່ຽນແປງຢ່າງປອດໄພໂດຍການຂະຫຍາຍການດັດແກ້ປະຫວັດສາດ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ.

ທົດລອງ
ຄຸນນະສົມບັດທີ່ອາດຈະມີການປ່ຽນແປງຫຼືຖືກໂຍກຍ້າຍອອກໃນພາຍຫຼັງ.

ເສັ້ນສະແດງ ເບິ່ງ DAG ແລະ hg log --ກຣາຟ.

ຫົວ ຄຳ ວ່າ 'ຫົວ' ອາດຈະຖືກໃຊ້ເພື່ອ ໝາຍ ເຖິງທັງຫົວສາຂາຫຼືຫົວເກັບຮັກສາ,
ຂຶ້ນກັບສະພາບການ. ເບິ່ງ 'ຫົວ, ສາຂາ' ແລະ 'ຫົວ, ບ່ອນເກັບມ້ຽນ' ສໍາລັບສະເພາະ
ຄໍານິຍາມ.

ຫົວຫນ້າແມ່ນບ່ອນທີ່ການພັດທະນາໂດຍທົ່ວໄປເກີດຂຶ້ນແລະເປັນເປົ້າຫມາຍປົກກະຕິສໍາລັບ
ປັບປຸງແລະລວມການດໍາເນີນງານ.

ຫົວ ໜ້າ, ສາຂາ
ຊຸດການປ່ຽນແປງທີ່ບໍ່ມີເຊື້ອສາຍໃນສາຂາທີ່ມີຊື່ດຽວກັນ.

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

ຫົວປິດສາມາດເປີດຄືນໄດ້ໂດຍການເຮັດການປ່ຽນແປງໃຫມ່ເປັນລູກຂອງ
ຊຸດການປ່ຽນແປງທີ່ໝາຍຫົວວ່າປິດ.

ຫົວ ໜ້າ, repository
ຫົວ topological ທີ່ຍັງບໍ່ໄດ້ປິດ.

ຫົວ ໜ້າ, topological
ຊຸດການປ່ຽນແປງທີ່ບໍ່ມີເດັກນ້ອຍຢູ່ໃນບ່ອນເກັບມ້ຽນ.

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

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

ປ່ຽນແປງໄດ້ ປະຫວັດສາດ
ເບິ່ງ 'ປະຫວັດສາດ, ບໍ່ປ່ຽນແປງ'.

ປ້ອນຂໍ້ມູນ ການປ່ຽນແປງ
ເບິ່ງ 'Changeset, merge'.

Manifest
ແຕ່ລະຊຸດການປ່ຽນແປງມີ manifest, ເຊິ່ງແມ່ນບັນຊີລາຍຊື່ຂອງໄຟລ໌ທີ່ຖືກຕິດຕາມໂດຍ
ການປ່ຽນແປງ.

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

ຊື່ ສາຂາ
ເບິ່ງ 'ສາຂາ, ຊື່'.

null ການປ່ຽນແປງ
ຊຸດການປ່ຽນແປງຫວ່າງເປົ່າ. ມັນເປັນສະຖານະແມ່ຂອງ repositories ເລີ່ມຕົ້ນໃຫມ່ແລະ
repositories ບໍ່ມີການກວດກາຄືນ. ດັ່ງນັ້ນຈຶ່ງເປັນພໍ່ແມ່ຂອງການປ່ຽນແປງຮາກ
ແລະບັນພະບຸລຸດທີ່ມີປະສິດຕິຜົນໃນເວລາລວມຕົວປ່ຽນແປງທີ່ບໍ່ກ່ຽວຂ້ອງ. ສາມາດຖືກກໍານົດໂດຍ
ນາມແຝງ 'null' ຫຼືໂດຍການປ່ຽນແປງ ID '000000000000'.

ພໍ່ແມ່ ເບິ່ງ 'Changeset, parent'.

ພໍ່ແມ່ ການປ່ຽນແປງ
ເບິ່ງ 'Changeset, parent'.

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

Patch (ຄຳນາມ) ຜະລິດຕະພັນຂອງການດຳເນີນງານທີ່ແຕກຕ່າງ.

ຕົວຢ່າງ: "ຂ້ອຍໄດ້ສົ່ງ patch ຂອງຂ້ອຍໃຫ້ເຈົ້າ."

(Verb) ຂະ​ບວນ​ການ​ຂອງ​ການ​ນໍາ​ໃຊ້​ໄຟລ​໌ patch ເພື່ອ​ປ່ຽນ​ການ​ປ່ຽນ​ແປງ​ຫນຶ່ງ​ໄປ​ເປັນ​ອີກ​.

ຕົວຢ່າງ: "ທ່ານຈະຕ້ອງແກ້ໄຂການດັດແກ້ນັ້ນ."

ໄລຍະ ສະຖານະຕໍ່ການປ່ຽນແປງທີ່ຕິດຕາມວ່າຊຸດການປ່ຽນແປງເປັນແນວໃດ ຫຼືຄວນຖືກແບ່ງປັນ. ເບິ່ງ
hg ຊ່ວຍເຫຼືອ ໄລຍະ.

ສາທາລະນະ ການປ່ຽນແປງໃນໄລຍະສາທາລະນະໄດ້ຖືກແບ່ງປັນກັບ repositories ເຜີຍແຜ່ແລະ
ດັ່ງນັ້ນຈຶ່ງຖືວ່າບໍ່ສາມາດປ່ຽນແປງໄດ້. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ.

ດຶງ ການດໍາເນີນງານທີ່ມີການປ່ຽນແປງໃນ repository ຫ່າງໄກສອກຫຼີກທີ່ບໍ່ໄດ້ຢູ່ໃນທ້ອງຖິ່ນ
repository ໄດ້ຖືກນໍາເອົາເຂົ້າໄປໃນ repository ທ້ອງຖິ່ນ. ໃຫ້ສັງເກດວ່າການດໍາເນີນງານນີ້ໂດຍບໍ່ມີການ
arguments ພິເສດພຽງແຕ່ປັບປຸງ repository, ມັນບໍ່ໄດ້ປັບປຸງໄຟລ໌ໃນ
ໄດເລກະທໍລີເຮັດວຽກ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ດຶງ.

Push ການດໍາເນີນງານທີ່ມີການປ່ຽນແປງຢູ່ໃນບ່ອນເກັບມ້ຽນທ້ອງຖິ່ນທີ່ບໍ່ໄດ້ຢູ່ໃນຫ່າງໄກສອກຫຼີກ
repository ຖືກສົ່ງໄປຫາ repository ຫ່າງໄກສອກຫຼີກ. ໃຫ້ສັງເກດວ່າການດໍາເນີນງານນີ້ພຽງແຕ່ເພີ່ມ
ການປ່ຽນແປງທີ່ໄດ້ປະຕິບັດຢູ່ໃນທ້ອງຖິ່ນກັບ repository ຫ່າງໄກສອກຫຼີກ. ບໍ່ໄດ້ຕັ້ງໃຈ
ການປ່ຽນແປງບໍ່ໄດ້ຖືກສົ່ງ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການຊຸກຍູ້.

Repository
ເມຕາເດຕາທີ່ອະທິບາຍສະຖານະທີ່ບັນທຶກໄວ້ທັງໝົດຂອງຄໍເລັກຊັນໄຟລ໌. ແຕ່ລະບັນທຶກ
ລັດແມ່ນສະແດງໂດຍຊຸດການປ່ຽນແປງ. A repository ແມ່ນປົກກະຕິແລ້ວ (ແຕ່ບໍ່ແມ່ນສະເຫມີໄປ) ພົບ
ໃນ .ຊg ໄດເລກະທໍລີຍ່ອຍຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ. ທຸກໆລັດທີ່ບັນທຶກໄວ້ສາມາດຖືກສ້າງຄືນໄດ້
ໂດຍ "ປັບປຸງ" ໄດເລກະທໍລີທີ່ເຮັດວຽກກັບຊຸດການປ່ຽນແປງສະເພາະ.

Repository ຫົວຫນ້າ
ເບິ່ງ 'ຫົວຫນ້າ, repository'.

ການແກ້ໄຂ
ສະຖານະຂອງບ່ອນເກັບມ້ຽນຢູ່ໃນບາງເວລາ. ສາມາດປັບປຸງການແກ້ໄຂກ່ອນໜ້ານີ້ໄດ້
ໂດຍ​ການ​ນໍາ​ໃຊ້ hg ການປັບປຸງ. ເບິ່ງ 'ເລກດັດແກ້'; ເບິ່ງ 'Changeset' ນຳ.

ການແກ້ໄຂ ຈໍານວນ
ຈໍານວນເຕັມນີ້ຈະກໍານົດຊຸດການປ່ຽນແປງໃນບ່ອນເກັບມ້ຽນສະເພາະ. ມັນ
ເປັນຕົວແທນຂອງຄໍາສັ່ງທີ່ການປ່ຽນແປງໄດ້ຖືກເພີ່ມໃສ່ບ່ອນເກັບມ້ຽນ, ເລີ່ມຕົ້ນດ້ວຍ
ຈໍານວນການແກ້ໄຂ 0. ໃຫ້ສັງເກດວ່າຈໍານວນການແກ້ໄຂອາດຈະແຕກຕ່າງກັນໃນແຕ່ລະ clone ຂອງ
ຄັງເກັບມ້ຽນ. ເພື່ອກໍານົດການປ່ຽນແປງທີ່ເປັນເອກະລັກລະຫວ່າງ clones ທີ່ແຕກຕ່າງກັນ, ເບິ່ງ
'ປ່ຽນ ID'.

Revlog ກົນໄກການເກັບຮັກສາປະຫວັດສາດທີ່ໃຊ້ໂດຍ Mercurial. ມັນເປັນຮູບແບບຂອງການເຂົ້າລະຫັດ delta, ກັບ
ບາງຄັ້ງການດັດແກ້ຂໍ້ມູນເຕັມທີ່ຕາມດ້ວຍ delta ຂອງແຕ່ລະການປັບປຸງຢ່າງຕໍ່ເນື່ອງ. ມັນ
ລວມມີຂໍ້ມູນ ແລະດັດຊະນີຊີ້ໄປຫາຂໍ້ມູນ.

ຂຽນ ໃໝ່ ປະຫວັດສາດ
ເບິ່ງ 'ປະຫວັດສາດ, ຂຽນຄືນ'.

ຮາກ ຊຸດການປ່ຽນແປງທີ່ມີພຽງແຕ່ຊຸດການປ່ຽນແປງ null ເປັນພໍ່ແມ່ຂອງມັນ. repositories ສ່ວນໃຫຍ່ມີ
ພຽງແຕ່ຊຸດການປ່ຽນແປງຮາກດຽວ.

Secret ການ​ປ່ຽນ​ແປງ​ໃນ​ໄລ​ຍະ​ລັບ​ອາດ​ຈະ​ບໍ່​ໄດ້​ຮັບ​ການ​ແບ່ງ​ປັນ​ໂດຍ​ການ​ຊຸກ​ຍູ້​, ດຶງ​, ຫຼື clone​. ເບິ່ງ hg
ຊ່ວຍເຫຼືອ ໄລຍະ.

Tag ຊື່ທາງເລືອກທີ່ໃຫ້ກັບຊຸດການປ່ຽນແປງ. ແທັກສາມາດຖືກນໍາໃຊ້ໃນທຸກສະຖານທີ່
Mercurial ຄາດວ່າຈະເປັນ ID ການປ່ຽນແປງ, ເຊັ່ນ, ກັບ hg ການປັບປຸງ. ການສ້າງແທັກແມ່ນ
ເກັບຮັກສາໄວ້ໃນປະຫວັດສາດແລະດັ່ງນັ້ນຈຶ່ງຈະຖືກແບ່ງປັນໂດຍອັດຕະໂນມັດກັບຄົນອື່ນໂດຍໃຊ້ push
ແລະດຶງ.

ເຄັດລັບ ຊຸດການປ່ຽນແປງທີ່ມີຈໍານວນການແກ້ໄຂສູງສຸດ. ມັນແມ່ນການປ່ຽນແປງຫຼ້າສຸດ
ເພີ່ມຢູ່ໃນບ່ອນເກັບມ້ຽນ.

ເຄັດລັບ, ສາຂາ
ຫົວຫນ້າສາຂາທີ່ມີຈໍານວນການແກ້ໄຂສູງສຸດ. ເມື່ອຊື່ສາຂາ
ໃຊ້ເປັນຕົວລະບຸການແກ້ໄຂ, ມັນຫມາຍເຖິງປາຍສາຂາ. ເບິ່ງ 'ສາຂາ,
ຫົວ'. ຈົ່ງຈື່ໄວ້ວ່າເນື່ອງຈາກຕົວເລກການແກ້ໄຂອາດຈະແຕກຕ່າງກັນຢູ່ໃນບ່ອນເກັບມ້ຽນທີ່ແຕກຕ່າງກັນ
clones, ປາຍສາຂາອາດຈະແຕກຕ່າງກັນໃນ repositories cloned ທີ່ແຕກຕ່າງກັນ.

ການປັບປຸງ (ນາມ) ຄຳສັບຄ້າຍຄືກັນຂອງຊຸດການປ່ຽນແປງ.

ຕົວຢ່າງ: "ຂ້ອຍໄດ້ຊຸກຍູ້ການອັບເດດ."

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

ຕົວຢ່າງ: "ທ່ານຄວນປັບປຸງ."

ການເຮັດວຽກ ລະບົບ
ເບິ່ງ 'ໄດເລກະທໍລີ, ເຮັດວຽກ'.

ການເຮັດວຽກ ລະບົບ ພໍ່ແມ່
ເບິ່ງ 'ພໍ່ແມ່, ໄດເລກະທໍລີທີ່ເຮັດວຽກ'.

SYNTAX FOR MERCURIAL ບໍ່ສົນໃຈ ເອກະສານ


Synopsis
ລະບົບ Mercurial ໃຊ້ໄຟລ໌ທີ່ເອີ້ນວ່າ .ບໍ່ສົນໃຈ ໃນໄດເລກະທໍລີຮາກຂອງ repository ກັບ
ຄວບຄຸມພຶດຕິກໍາຂອງມັນເມື່ອມັນຊອກຫາໄຟລ໌ທີ່ມັນບໍ່ໄດ້ຖືກຕິດຕາມ.

ລາຍລະອຽດ
ໄດເລກະທໍລີທີ່ເຮັດວຽກຂອງບ່ອນເກັບມ້ຽນ Mercurial ມັກຈະມີໄຟລ໌ທີ່ບໍ່ຄວນ
ຕິດຕາມໂດຍ Mercurial. ເຫຼົ່ານີ້ລວມມີໄຟລ໌ສໍາຮອງຂໍ້ມູນທີ່ສ້າງໂດຍບັນນາທິການແລະຜະລິດຕະພັນກໍ່ສ້າງ
ສ້າງໂດຍ compilers. ໄຟລ໌ເຫຼົ່ານີ້ສາມາດຖືກລະເລີຍໂດຍລາຍຊື່ພວກມັນຢູ່ໃນ a .ບໍ່ສົນໃຈ ຍື່ນໃນ
ຮາກຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ. ໄດ້ .ບໍ່ສົນໃຈ ໄຟລ໌ຕ້ອງຖືກສ້າງດ້ວຍຕົນເອງ. ມັນ​ແມ່ນ
ໂດຍປົກກະຕິຈະຢູ່ພາຍໃຕ້ການຄວບຄຸມເວີຊັນ, ດັ່ງນັ້ນການຕັ້ງຄ່າຈະຂະຫຍາຍໄປສູ່ອັນອື່ນ
repositories ທີ່ມີການຊຸກຍູ້ແລະດຶງ.

ໄຟລ໌ທີ່ບໍ່ໄດ້ຕິດຕາມຈະຖືກລະເລີຍຖ້າຫາກວ່າເສັ້ນທາງຂອງມັນກ່ຽວຂ້ອງກັບໄດເລກະທໍລີຮາກຂອງ repository, ຫຼືໃດໆ
prefix path ຂອງເສັ້ນທາງນັ້ນ, ຖືກຈັບຄູ່ກັບຮູບແບບໃດນຶ່ງໃນ .ບໍ່ສົນໃຈ.

ຕົວຢ່າງ, ເວົ້າວ່າພວກເຮົາມີໄຟລ໌ທີ່ບໍ່ໄດ້ຕິດຕາມ, file.c, ຢູ່ a/b/file.c ພາຍໃນ repository ຂອງພວກເຮົາ.
Mercurial ຈະບໍ່ສົນໃຈ file.c ຖ້າ​ຫາກ​ວ່າ​ຮູບ​ແບບ​ໃດ​ຫນຶ່ງ​ໃນ​ .ບໍ່ສົນໃຈ ກົງກັນ a/b/file.c, a / b or a.

ນອກຈາກນັ້ນ, ໄຟລ໌ການຕັ້ງຄ່າ Mercurial ສາມາດອ້າງອີງຊຸດຂອງແຕ່ລະຜູ້ໃຊ້ ຫຼືທົ່ວໂລກ
ບໍ່ສົນໃຈໄຟລ໌. ເບິ່ງ ບໍ່ສົນໃຈ ປຸ່ມການຕັ້ງຄ່າເທິງ [ui] ພາກສ່ວນຂອງ hg ຊ່ວຍເຫຼືອ config ສໍາລັບການ
ລາຍລະອຽດກ່ຽວກັບວິທີການກໍານົດໄຟລ໌ເຫຼົ່ານີ້.

ເພື່ອຄວບຄຸມການຈັດການໄຟລ໌ທີ່ມັນຄຸ້ມຄອງຂອງ Mercurial, ຄໍາສັ່ງຈໍານວນຫຼາຍສະຫນັບສະຫນູນ -I ແລະ
-X ທາງເລືອກ; ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແລະ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ ສໍາລັບລາຍລະອຽດ.

ໄຟລ໌ທີ່ຖືກຕິດຕາມແລ້ວບໍ່ໄດ້ຮັບຜົນກະທົບຈາກ .hgignore, ເຖິງແມ່ນວ່າພວກມັນຈະປາກົດຢູ່ໃນ
.ບໍ່ສົນໃຈ. ໄຟລ໌ X untracked ສາມາດຖືກເພີ່ມຢ່າງຈະແຈ້ງດ້ວຍ hg ເພີ່ມ X, ເຖິງແມ່ນວ່າ X ຈະເປັນ
ຍົກເວັ້ນໂດຍຮູບແບບໃນ .hgignore.

syntax
ໄຟລ໌ທີ່ບໍ່ສົນໃຈແມ່ນໄຟລ໌ຂໍ້ຄວາມທໍາມະດາທີ່ປະກອບດ້ວຍບັນຊີລາຍຊື່ຂອງຮູບແບບ, ມີຮູບແບບຫນຶ່ງຕໍ່
ສາຍ. ເສັ້ນຫວ່າງຖືກຂ້າມ. ໄດ້ # ລັກ​ສະ​ນະ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ປິ່ນ​ປົວ​ເປັນ​ລັກ​ສະ​ນະ​ຄໍາ​ຄິດ​ເຫັນ​, ແລະ​
\ ລັກ​ສະ​ນະ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ປິ່ນ​ປົວ​ເປັນ​ລັກ​ສະ​ນະ​ການ​ຫນີ​.

Mercurial ສະຫນັບສະຫນູນ syntax ຮູບແບບຫຼາຍ. syntax ເລີ່ມຕົ້ນທີ່ໃຊ້ແມ່ນ Python/Perl-style
ການສະແດງອອກເປັນປົກກະຕິ.

ເພື່ອປ່ຽນ syntax ທີ່ໃຊ້, ໃຊ້ເສັ້ນຂອງແບບຟອມຕໍ່ໄປນີ້:

syntax: NAME

ບ່ອນທີ່ NAME ແມ່ນ ໜຶ່ງ ໃນສິ່ງຕໍ່ໄປນີ້:

regexp

ການສະແດງອອກປົກກະຕິ, syntax Python/Perl.

ໂລກ

ໂລກແບບແກະ.

syntax ທີ່ເລືອກຈະຍັງຄົງມີຜົນເມື່ອວິເຄາະທຸກຮູບແບບທີ່ປະຕິບັດຕາມ, ຈົນກ່ວາແບບອື່ນ
syntax ຖືກເລືອກ.

ທັງ glob ຫຼື regexp ບໍ່ໄດ້ຮາກຖານ. ຮູບແບບ glob-syntax ຂອງແບບຟອມ *.ຄ ຈະ
ກົງກັບໄຟລ໌ທີ່ລົງທ້າຍດ້ວຍ .c ໃນໄດເລກະທໍລີໃດກໍ່ຕາມ, ແລະຮູບແບບ regexp ຂອງແບບຟອມ \.c$ ຈະ​ເຮັດ
ຄື​ກັນ. ເພື່ອປົ່ງຮາກອອກຕາມຮູບແບບ regexp, ເລີ່ມຕົ້ນມັນດ້ວຍ ^.

ໄດເລກະທໍລີຍ່ອຍສາມາດມີການຕັ້ງຄ່າ .hgignore ຂອງຕົນເອງໂດຍການເພີ່ມ
subinclude:path/to/subdir/.hgignore ຮາກ .ບໍ່ສົນໃຈ, ທະເລສາບ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ ສໍາລັບການ
ລາຍລະອຽດກ່ຽວກັບ ຍ່ອຍ: ແລະ ປະກອບມີ:.

ຫມາຍເຫດຮູບແບບທີ່ລະບຸໄວ້ໃນອັນອື່ນທີ່ບໍ່ແມ່ນ .ບໍ່ສົນໃຈ ແມ່ນຮາກຖານຢູ່ສະ ເໝີ. ກະລຸນາເບິ່ງ hg ຊ່ວຍເຫຼືອ
ຮູບແບບການ ສໍາລັບລາຍລະອຽດ.

ຍົກຕົວຢ່າງ
ນີ້ແມ່ນຕົວຢ່າງ ignore file.

# ໃຊ້ glob syntax.
syntax: glob

*.elc
*.pyc
*~

# ສະຫຼັບໄປໃຊ້ syntax regexp.
syntax: regexp
^\.pc/

ການຕັ້ງຄ່າ HGWEB


ເຊີບເວີເວັບພາຍໃນຂອງ Mercurial, hgweb, ສາມາດຮັບໃຊ້ໄດ້ທັງ repository ດຽວ, ຫຼືຕົ້ນໄມ້ຂອງ
ຄັງເກັບມ້ຽນ. ໃນກໍລະນີທີສອງ, ເສັ້ນທາງ repository ແລະທາງເລືອກທົ່ວໂລກສາມາດຖືກກໍານົດໂດຍໃຊ້
ໄຟລ໌ການຕັ້ງຄ່າສະເພາະທີ່ພົບເລື້ອຍກັບ hg ບໍລິການ, hgweb.wsgi, hgweb.cgi ແລະ hgweb.fcgi.

ໄຟລ໌ນີ້ໃຊ້ syntax ດຽວກັນກັບໄຟລ໌ການຕັ້ງຄ່າ Mercurial ອື່ນໆແຕ່ຮັບຮູ້ພຽງແຕ່
ພາກສ່ວນຕໍ່ໄປນີ້:

·ເວັບ

· ເສັ້ນທາງ

· ການ​ເກັບ​ກໍາ​ຂໍ້​ມູນ​

ໄດ້ ເວັບໄຊຕ໌ ທາງເລືອກແມ່ນໄດ້ອະທິບາຍຢ່າງລະອຽດຢູ່ໃນ hg ຊ່ວຍເຫຼືອ config.

ໄດ້ ເສັ້ນທາງ ພາກສ່ວນແຜນທີ່ URL ໄປຫາເສັ້ນທາງຂອງ repositories ໃນລະບົບໄຟລ໌. hgweb ຈະ
ບໍ່ເປີດເຜີຍລະບົບໄຟລ໌ໂດຍກົງ - ມີພຽງແຕ່ບ່ອນເກັບມ້ຽນ Mercurial ເທົ່ານັ້ນທີ່ສາມາດເຜີຍແຜ່ໄດ້ແລະພຽງແຕ່
ອີງ​ຕາມ​ການ​ຕັ້ງ​ຄ່າ​.

ເບື້ອງຊ້າຍແມ່ນເສັ້ນທາງໃນ URL. ໃຫ້ສັງເກດວ່າ hgweb ສະຫງວນ subpaths ເຊັ່ນ or
ເອກະສານ, ພະຍາຍາມໃຊ້ຊື່ທີ່ແຕກຕ່າງກັນສໍາລັບ repositories nested ເພື່ອຫຼີກເວັ້ນການຜົນກະທົບທີ່ສັບສົນ.

ເບື້ອງຂວາແມ່ນເສັ້ນທາງໃນລະບົບໄຟລ໌. ຖ້າເສັ້ນທາງທີ່ລະບຸໄວ້ສິ້ນສຸດລົງດ້ວຍ * or **
ລະບົບໄຟລ໌ຈະຖືກຄົ້ນຫາ recursively ສໍາລັບ repositories ຂ້າງລຸ່ມນີ້ຈຸດນັ້ນ. ກັບ * it
ຈະບໍ່ recurse ເຂົ້າໄປໃນ repositories ມັນພົບເຫັນ (ຍົກເວັ້ນສໍາລັບ .hg/patches). ກັບ ** ມັນ​ຈະ
ຄົ້ນຫາພາຍໃນ repository ໄດເລກະທໍລີເຮັດວຽກແລະອາດຈະຊອກຫາ subrepositories.

ໃນຕົວຢ່າງນີ້:

[ເສັ້ນທາງ]
/projects/a = /srv/tmprepos/a
/projects/b = c:/repos/b
/ = /srv/repos/*
/user/bob = /home/bob/repos/**

·ສອງລາຍການທໍາອິດເຮັດໃຫ້ສອງ repositories ໃນໄດເລກະທໍລີທີ່ແຕກຕ່າງກັນປາກົດຢູ່ພາຍໃຕ້
ໄດເລກະທໍລີດຽວກັນໃນການໂຕ້ຕອບເວັບ

· ເຂົ້າທີສາມຈະເຜີຍແຜ່ທຸກບ່ອນເກັບມ້ຽນ Mercurial ທີ່ພົບເຫັນຢູ່ໃນ /srv/repos/, for
ຕົວຢ່າງບ່ອນເກັບມ້ຽນ /srv/repos/quux/ ຈະປາກົດເປັນ http://server/quux/

· ເຂົ້າທີສີ່ຈະເຜີຍແຜ່ທັງສອງ http://server/user/bob/quux/ ແລະ
http://server/user/bob/quux/testsubrepo/

ໄດ້ ຊັນ ພາກສ່ວນຖືກຄັດຄ້ານ ແລະຖືກແທນທີ່ໂດຍ ເສັ້ນທາງ.

URL ແລະ ສາມັນ Arguments
URL ພາຍໃຕ້ແຕ່ລະ repository ມີແບບຟອມ /{command}[/{arguments}] ບ່ອນທີ່ {ຄໍາສັ່ງ}
ເປັນຕົວແທນຂອງຊື່ຂອງຄໍາສັ່ງຫຼື handler ແລະ {arguments} ເປັນຕົວແທນຂອງຈໍານວນຂອງ
ຕົວກໍານົດການ URL ເພີ່ມເຕີມຕໍ່ກັບຄໍາສັ່ງນັ້ນ.

ເຊີບເວີເວັບມີຮູບແບບເລີ່ມຕົ້ນທີ່ກ່ຽວຂ້ອງກັບມັນ. ຮູບແບບແຜນທີ່ກັບຄໍເລັກຊັນຂອງຊື່
ແມ່ແບບ. ແຕ່ລະແມ່ແບບແມ່ນໃຊ້ເພື່ອສະແດງຂໍ້ມູນສະເພາະໃດໜຶ່ງ, ເຊັ່ນຊຸດການປ່ຽນແປງ
ຫຼືຄວາມແຕກຕ່າງ.

ຮູບແບບສໍາລັບການຮ້ອງຂໍໃນປະຈຸບັນສາມາດຂຽນທັບໄດ້ສອງວິທີ. ທໍາອິດ, ຖ້າ {ຄໍາສັ່ງ}
ປະກອບມີຂີດໝາຍ (-), ຂໍ້ຄວາມກ່ອນ hyphen ກໍານົດຮູບແບບ. ຍົກ​ຕົວ​ຢ່າງ,
/ atom-log ຈະ render ໄດ້ log ຕົວຈັດການຄໍາສັ່ງກັບ ປະ​ລໍາ​ມະ​ນູ ແບບ. ວິທີທີສອງເພື່ອກໍານົດ
ແບບແມ່ນຢູ່ກັບ ແບບ query string argument. ຍົກ​ຕົວ​ຢ່າງ, /log?style=ປະລໍາມະນູ. ໄດ້
ຕົວກໍານົດການ hyphenated URL ແມ່ນຕ້ອງການ.

ບໍ່ແມ່ນແມ່ແບບທັງໝົດສາມາດໃຊ້ໄດ້ກັບທຸກຮູບແບບ. ພະຍາຍາມໃຊ້ຮູບແບບທີ່ບໍ່ເປັນ
ມີແມ່ແບບທັງຫມົດທີ່ຖືກກໍານົດໄວ້ອາດຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນການສະແດງຫນ້າ.

ຄໍາສັ່ງຈໍານວນຫຼາຍໃຊ້ເວລາ a {ດັດແກ້} ຕົວກໍານົດການ URL. ນີ້ກໍານົດຊຸດການປ່ຽນແປງທີ່ຈະດໍາເນີນການ.
ອັນນີ້ຖືກລະບຸທົ່ວໄປເປັນຕົວຫຍໍ້ຂອງເລກຖານສິບຫົກຕົວເລກສັ້ນ 12 ຕົວເລກສຳລັບເຕັມ 40.
ຕົວລະບຸການດັດແກ້ທີ່ເປັນເອກະລັກ. ຢ່າງໃດກໍຕາມ, ມູນຄ່າໃດໆທີ່ອະທິບາຍໂດຍ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ
ປົກກະຕິເຮັດວຽກ.

ຄໍາສັ່ງ ແລະ URL
ຄຳສັ່ງເວັບຕໍ່ໄປນີ້ ແລະ URL ຂອງມັນສາມາດໃຊ້ໄດ້:

/annotate/{revision}/{path}
ສະແດງຂໍ້ມູນຊຸດການປ່ຽນແປງສຳລັບແຕ່ລະແຖວໃນໄຟລ໌.

ໄດ້ ໝາຍເຫດ ແມ່ແບບຖືກສະແດງ.

/archive/{revision}.{format}[/{path}]
ໄດ້​ຮັບ​ການ​ເກັບ​ກໍາ​ຂໍ້​ມູນ​ຂອງ​ເນື້ອ​ໃນ repository​.

ເນື້ອຫາແລະປະເພດຂອງການເກັບແມ່ນຖືກກໍານົດໂດຍພາລາມິເຕີເສັ້ນທາງ URL. ຮູບແບບ ເປັນ
ການຂະຫຍາຍໄຟລ໌ຂອງປະເພດແຟ້ມຈັດເກັບທີ່ຈະສ້າງຂຶ້ນ. ຕົວຢ່າງ ໄປສະນີ or tar.bz2. ບໍ່ແມ່ນການຈັດເກັບທັງໝົດ
ປະເພດອາດຈະຖືກອະນຸຍາດໂດຍການຕັ້ງຄ່າເຊີບເວີຂອງທ່ານ.

ທາງເລືອກ ເສັ້ນທາງ ຕົວກໍານົດການ URL ຄວບຄຸມເນື້ອຫາທີ່ຈະລວມຢູ່ໃນແຟ້ມຈັດເກັບ. ຖ້າຖືກລະເວັ້ນ,
ທຸກໆໄຟລ໌ໃນການແກ້ໄຂທີ່ລະບຸແມ່ນມີຢູ່ໃນບ່ອນເກັບມ້ຽນ. ຖ້າລວມ, ພຽງແຕ່
ໄຟລ໌ທີ່ລະບຸ ຫຼືເນື້ອໃນຂອງໄດເລກະທໍລີທີ່ລະບຸຈະຖືກລວມເຂົ້າໃນແຟ້ມຈັດເກັບ.

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

/ ບຸກມາກ
ສະແດງຂໍ້ມູນກ່ຽວກັບບຸກມາກ.

ບໍ່ມີການໂຕ້ຖຽງຖືກຍອມຮັບ.

ໄດ້ bookmarks ແມ່ແບບຖືກສະແດງ.

/ ສາຂາ
ສະແດງຂໍ້ມູນກ່ຽວກັບສາຂາ.

ທຸກສາຂາທີ່ຮູ້ຈັກແມ່ນບັນຈຸຢູ່ໃນຜົນຜະລິດ, ເຖິງແມ່ນວ່າສາຂາທີ່ປິດ.

ບໍ່ມີການໂຕ້ຖຽງຖືກຍອມຮັບ.

ໄດ້ ສາຂາ ແມ່ແບບຖືກສະແດງ.

/changelog[/{revision}]
ສະແດງຂໍ້ມູນກ່ຽວກັບຊຸດການປ່ຽນແປງຫຼາຍອັນ.

ຖ້າທາງເລືອກ ການແກ້ໄຂ argument URL ແມ່ນບໍ່ມີ, ຂໍ້ມູນກ່ຽວກັບການປ່ຽນແປງທັງຫມົດເລີ່ມຕົ້ນ
at ປາຍ ຈະຖືກສະແດງ. ຖ້າ ການແກ້ໄຂ ການໂຕ້ຖຽງແມ່ນປະຈຸບັນ, ການປ່ຽນແປງຈະຖືກສະແດງ
ເລີ່ມ​ຈາກ​ການ​ປັບ​ປຸງ​ທີ່​ກໍາ​ນົດ​ໄວ້​.

If ການແກ້ໄຂ ແມ່ນບໍ່ມີ, ໄດ້ query string argument ອາດຈະຖືກກໍານົດ. ນີ້ຈະດໍາເນີນການ a
ຄົ້ນຫາຊຸດການປ່ຽນແປງ.

ການໂຕ້ຖຽງສໍາລັບ ສາ​ມາດ​ເປັນ​ການ​ດັດ​ແກ້​ດຽວ​, ຊຸດ​ການ​ປັບ​ປຸງ​, ຫຼື​ຄໍາ​ທີ່​ຮູ້​ຫນັງ​ສື​ເພື່ອ​
ຄົ້ນ​ຫາ​ໃນ​ຂໍ້​ມູນ​ການ​ປ່ຽນ​ແປງ (ທຽບ​ເທົ່າ​ກັບ​ hg log -k).

ໄດ້ ການນັບຖອຍຫຼັງ query string argument ກຳນົດຈຳນວນສູງສຸດຂອງຊຸດການປ່ຽນແປງທີ່ຈະສະແດງ.

ສໍາລັບການທີ່ບໍ່ແມ່ນການຄົ້ນຫາ, the ການປ່ຽນແປງ ແມ່ແບບຈະຖືກສະແດງ.

/changeset[/{revision}]
ສະແດງຂໍ້ມູນກ່ຽວກັບຊຸດການປ່ຽນແປງອັນດຽວ.

argument ເສັ້ນທາງ URL ແມ່ນຕົວກໍານົດການປ່ຽນແປງທີ່ຈະສະແດງ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ ສໍາລັບການ
ຄຸນຄ່າທີ່ເປັນໄປໄດ້. ຖ້າບໍ່ໄດ້ກໍານົດ, the ປາຍ ຊຸດການປ່ຽນແປງຈະຖືກສະແດງ.

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

/comparison/{revision}/{path}
ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ປຽບ​ທຽບ​ລະ​ຫວ່າງ​ເວີ​ຊັນ​ເກົ່າ​ແລະ​ໃຫມ່​ຂອງ​ໄຟລ​໌​ຈາກ​ການ​ປ່ຽນ​ແປງ​ທີ່​ເຮັດ​ໃນ a
ການແກ້ໄຂໂດຍສະເພາະ.

ນີ້ແມ່ນຄ້າຍຄືກັນກັບ diff ຕົວຈັດການ. ຢ່າງໃດກໍຕາມ, ແບບຟອມນີ້ມີລັກສະນະການແບ່ງອອກຫຼືຂ້າງຄຽງ
ຄວາມແຕກຕ່າງແທນທີ່ຈະເປັນຄວາມແຕກຕ່າງທີ່ເປັນເອກະພາບ.

ໄດ້ context query string argument ສາມາດໃຊ້ເພື່ອຄວບຄຸມເສັ້ນຂອງບໍລິບົດໃນຄວາມແຕກຕ່າງ.

ໄດ້ ການປຽບທຽບໄຟລ໌ ແມ່ແບບຖືກສະແດງ.

/diff/{revision}/{path}
ສະແດງໃຫ້ເຫັນວິທີການປ່ຽນໄຟລ໌ໃນຄໍາຫມັ້ນສັນຍາສະເພາະ.

ໄດ້ filediff ແມ່ແບບຖືກສະແດງ.

handler ນີ້ໄດ້ຖືກລົງທະບຽນພາຍໃຕ້ທັງສອງ / ຄວາມແຕກຕ່າງ ແລະ /filediff ເສັ້ນທາງ. / ຄວາມແຕກຕ່າງ ຖືກນໍາໃຊ້ໃນ
ລະ​ຫັດ​ທີ່​ທັນ​ສະ​ໄຫມ​.

/file/{revision}[/{path}]
ສະແດງຂໍ້ມູນກ່ຽວກັບໄດເລກະທໍລີ ຫຼືໄຟລ໌ຢູ່ໃນບ່ອນເກັບມ້ຽນ.

ຂໍ້​ມູນ​ກ່ຽວ​ກັບ ເສັ້ນທາງ ໃຫ້ເປັນພາລາມິເຕີ URL ຈະຖືກສະແດງ.

If ເສັ້ນທາງ ເປັນໄດເລກະທໍລີ, ຂໍ້ມູນກ່ຽວກັບລາຍການທີ່ຢູ່ໃນໄດເລກະທໍລີນັ້ນຈະຖືກສະແດງ.
ແບບຟອມນີ້ແມ່ນເທົ່າກັບ manifest ຜູ້ຈັດການ.

If ເສັ້ນທາງ ເປັນໄຟລ໌, ຂໍ້ມູນກ່ຽວກັບໄຟລ໌ນັ້ນຈະຖືກສະແດງຜ່ານ ການແກ້ໄຂເອກະສານ
ແມ່ແບບ.

If ເສັ້ນທາງ ບໍ່ໄດ້ຖືກກໍານົດ, ຂໍ້ມູນກ່ຽວກັບລະບົບຮາກຈະຖືກສະແດງ.

/diff/{revision}/{path}
ສະແດງໃຫ້ເຫັນວິທີການປ່ຽນໄຟລ໌ໃນຄໍາຫມັ້ນສັນຍາສະເພາະ.

ໄດ້ filediff ແມ່ແບບຖືກສະແດງ.

handler ນີ້ໄດ້ຖືກລົງທະບຽນພາຍໃຕ້ທັງສອງ / ຄວາມແຕກຕ່າງ ແລະ /filediff ເສັ້ນທາງ. / ຄວາມແຕກຕ່າງ ຖືກນໍາໃຊ້ໃນ
ລະ​ຫັດ​ທີ່​ທັນ​ສະ​ໄຫມ​.

/filelog/{revision}/{path}
ສະແດງຂໍ້ມູນກ່ຽວກັບປະຫວັດຂອງໄຟລ໌ໃນບ່ອນເກັບມ້ຽນ.

ໄດ້ ການນັບຖອຍຫຼັງ query string argument ສາມາດຖືກກໍານົດເພື່ອຄວບຄຸມຈໍານວນສູງສຸດຂອງລາຍການ
ສະ​ແດງ.

ໄດ້ ບັນທຶກໄຟລ໌ ແມ່ແບບຈະຖືກສະແດງ.

/graph[/{revision}]
ສະແດງຂໍ້ມູນກ່ຽວກັບ topology ກຣາຟິກຂອງ repository.

ຂໍ້ມູນທີ່ສະແດງໂດຍຕົວຈັດການນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງການສະແດງພາບຂອງ
topology ຄັງເກັບມ້ຽນ.

ໄດ້ ການແກ້ໄຂ ຕົວກໍານົດການ URL ຄວບຄຸມຊຸດການປ່ຽນແປງເລີ່ມຕົ້ນ.

ໄດ້ ການນັບຖອຍຫຼັງ query string argument ສາມາດກໍານົດຈໍານວນການປ່ຽນແປງເພື່ອສະແດງຂໍ້ມູນ
ສໍາລັບ.

ຕົວຈັດການນີ້ຈະສະແດງ graph ແມ່ແບບ.

/help[/{topic}]
ສະເໜີເອກະສານຊ່ວຍເຫຼືອ.

ຄໍາສັ່ງເວັບໄຊຕ໌ນີ້ແມ່ນປະມານເທົ່າກັບ hg ຊ່ວຍເຫຼືອ. ຖ້າເປັນ ກະທູ້ ຖືກກໍານົດ, ຫົວຂໍ້ຊ່ວຍເຫຼືອ
ຈະຖືກສະແດງ. ຖ້າບໍ່ແມ່ນ, ດັດສະນີຫົວຂໍ້ຊ່ວຍເຫຼືອທີ່ມີຢູ່ຈະຖືກສະແດງ.

ໄດ້ ຊ່ວຍເຫຼືອ ແມ່ແບບຈະຖືກສະແດງໃນເວລາຮ້ອງຂໍການຊ່ວຍເຫຼືອສໍາລັບຫົວຂໍ້ໃດຫນຶ່ງ. ຫົວຂໍ້ຊ່ວຍເຫຼືອ ຈະ​ເປັນ
rendered ສໍາລັບດັດຊະນີຂອງຫົວຂໍ້ການຊ່ວຍເຫຼືອ.

/log[/{revision}[/{path}]]
ສະແດງບ່ອນເກັບມ້ຽນ ຫຼືປະຫວັດໄຟລ໌.

ສໍາລັບ URL ຂອງແບບຟອມ /log/{revision}, ບັນຊີລາຍຊື່ຂອງການປ່ຽນແປງເລີ່ມຕົ້ນທີ່ກໍານົດໄວ້
ຕົວລະບຸການປ່ຽນແປງຖືກສະແດງ. ຖ້າ {ດັດແກ້} ບໍ່ໄດ້ຖືກກໍານົດ, ຄ່າເລີ່ມຕົ້ນແມ່ນ ປາຍ. ແບບຟອມນີ້
ເທົ່າກັບ ການປ່ຽນແປງ ຜູ້ຈັດການ.

ສໍາລັບ URL ຂອງແບບຟອມ /log/{revision}/{file}, ປະຫວັດສາດສໍາລັບໄຟລ໌ສະເພາະໃດຫນຶ່ງຈະເປັນ
ສະແດງໃຫ້ເຫັນ. ແບບຟອມນີ້ແມ່ນເທົ່າກັບ ບັນທຶກໄຟລ໌ ຜູ້ຈັດການ.

/manifest[/{revision}[/{path}]]
ສະແດງຂໍ້ມູນກ່ຽວກັບໄດເລກະທໍລີ.

ຖ້າການໂຕ້ຖຽງເສັ້ນທາງ URL ຖືກຍົກເລີກ, ຂໍ້ມູນກ່ຽວກັບໄດເລກະທໍລີຮາກສໍາລັບ ປາຍ
ຊຸດການປ່ຽນແປງຈະຖືກສະແດງ.

ເນື່ອງຈາກວ່າຕົວຈັດການນີ້ສາມາດສະແດງຂໍ້ມູນສໍາລັບໄດເລກະທໍລີເທົ່ານັ້ນ, ມັນແນະນໍາໃຫ້ໃຊ້
ໄດ້ ເອກະສານ handler ແທນ, ຍ້ອນວ່າມັນສາມາດຈັດການທັງໄດເລກະທໍລີແລະໄຟລ໌.

ໄດ້ manifest ແມ່ແບບຈະຖືກສະແດງສໍາລັບຕົວຈັດການນີ້.

/changeset[/{revision}]
ສະແດງຂໍ້ມູນກ່ຽວກັບຊຸດການປ່ຽນແປງອັນດຽວ.

argument ເສັ້ນທາງ URL ແມ່ນຕົວກໍານົດການປ່ຽນແປງທີ່ຈະສະແດງ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ ສໍາລັບການ
ຄຸນຄ່າທີ່ເປັນໄປໄດ້. ຖ້າບໍ່ໄດ້ກໍານົດ, the ປາຍ ຊຸດການປ່ຽນແປງຈະຖືກສະແດງ.

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

/shortlog
ສະແດງຂໍ້ມູນພື້ນຖານກ່ຽວກັບຊຸດການປ່ຽນແປງ.

ນີ້ຍອມຮັບຕົວກໍານົດການດຽວກັນກັບ ການປ່ຽນແປງ ຕົວຈັດການ. ຄວາມແຕກຕ່າງພຽງແຕ່ແມ່ນ
shortlog ແມ່ແບບຈະຖືກສະແດງແທນທີ່ຈະເປັນ ການປ່ຽນແປງ ແມ່ແບບ.

/ ສະຫຼຸບ
ສະແດງສະຫຼຸບສັງລວມຂອງສະຖານະບ່ອນເກັບມ້ຽນ.

ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ການ​ປ່ຽນ​ແປງ​ຫລ້າ​ສຸດ​, ບຸກ​ມາກ​, tags​, ແລະ​ສາ​ຂາ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ເກັບ​ກໍາ​ໂດຍ​ນີ້​
ຜູ້ຈັດການ.

ໄດ້ ສະ​ຫຼຸບ​ສັງ​ລວມ ແມ່ແບບຖືກສະແດງ.

/tags
ສະແດງຂໍ້ມູນກ່ຽວກັບແທັກ.

ບໍ່ມີການໂຕ້ຖຽງຖືກຍອມຮັບ.

ໄດ້ tags ແມ່ແບບຖືກສະແດງ.

ເຕັກນິກ ການ ນຳ ໃຊ້ TOPICS


bundles
container ສໍາລັບການແລກປ່ຽນຂໍ້ມູນ repository

ກຸ່ມ​ການ​ປ່ຽນ​ແປງ​
ການເປັນຕົວແທນຂອງຂໍ້ມູນ revlog

revlogs
ປັບປຸງກົນໄກການເກັບຮັກສາ

ລວມ ເຄື່ອງມື


ເພື່ອຮວມໄຟລ໌ Mercurial ໃຊ້ເຄື່ອງມືການຮວມ.

ເຄື່ອງ​ມື​ການ​ລວມ​ເອົາ​ສອງ​ສະ​ບັບ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ຂອງ​ໄຟລ​໌​ເຂົ້າ​ໄປ​ໃນ​ໄຟລ​໌​ລວມ​. Merge ເຄື່ອງ​ມື​ແມ່ນ​
ໃຫ້ທັງສອງໄຟລ໌ແລະບັນພະບຸລຸດທົ່ວໄປທີ່ຍິ່ງໃຫຍ່ທີ່ສຸດຂອງທັງສອງສະບັບໄຟລ໌, ດັ່ງນັ້ນເຂົາເຈົ້າສາມາດເຮັດໄດ້
ກໍານົດການປ່ຽນແປງທີ່ເຮັດຢູ່ໃນທັງສອງສາຂາ.

ເຄື່ອງມືການຜະສົມຜະສານຖືກນໍາໃຊ້ທັງສອງສໍາລັບ hg ແກ້ໄຂ, hg ລວມ, hg ການປັບປຸງ, hg backout ແລະໃນຫຼາຍ
extensions

ປົກກະຕິແລ້ວ, ເຄື່ອງມື merge ພະຍາຍາມອັດຕະໂນມັດ reconcile ໄຟລ໌ໂດຍການສົມທົບທັງຫມົດ
ການ​ປ່ຽນ​ແປງ​ທີ່​ບໍ່​ທັບ​ຊ້ອນ​ກັນ​ທີ່​ເກີດ​ຂຶ້ນ​ແຍກ​ຕ່າງ​ຫາກ​ໃນ​ສອງ​ວິ​ວັດ​ການ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ຂອງ​
ໄຟລ໌ພື້ນຖານດຽວກັນ. ຍິ່ງໄປກວ່ານັ້ນ, ບາງໂຄງການປະສົມປະສານແບບໂຕ້ຕອບເຮັດໃຫ້ມັນງ່າຍຂຶ້ນ
ແກ້ໄຂການຜະສົມຜະສານທີ່ຂັດແຍ້ງດ້ວຍຕົນເອງ, ໃນຮູບແບບກາຟິກ, ຫຼືໂດຍການໃສ່ບາງອັນ
ເຄື່ອງຫມາຍການຂັດແຍ້ງ. Mercurial ບໍ່ໄດ້ລວມເອົາໂຄງການປະສົມປະສານແບບໂຕ້ຕອບໃດໆແຕ່ອີງໃສ່
ເຄື່ອງມືພາຍນອກສໍາລັບການນັ້ນ.

ມີ ລວມ ເຄື່ອງ​ມື
ເຄື່ອງມືລວມພາຍນອກ ແລະຄຸນສົມບັດຂອງພວກມັນຖືກກຳນົດຄ່າໃນການຕັ້ງຄ່າເຄື່ອງມືລວມ
ພາກ - ເບິ່ງ hgrc(5) - ແຕ່ພວກເຂົາມັກຈະຖືກຕັ້ງຊື່ໂດຍການປະຕິບັດຂອງພວກເຂົາ.

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

ມີບາງເຄື່ອງມືລວມພາຍໃນທີ່ສາມາດນໍາໃຊ້ໄດ້. ເຄື່ອງ​ມື​ລວມ​ພາຍ​ໃນ​ແມ່ນ​:

: dump

ສ້າງສາມສະບັບຂອງໄຟລ໌ທີ່ຈະລວມເຂົ້າກັນ, ປະກອບດ້ວຍເນື້ອໃນຂອງທ້ອງຖິ່ນ,
ອື່ນໆ ແລະພື້ນຖານ. ຫຼັງຈາກນັ້ນ, ໄຟລ໌ເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອດໍາເນີນການປະສົມປະສານດ້ວຍຕົນເອງ. ຖ້າ
ໄຟລ໌ທີ່ຈະຖືກລວມເຂົ້າມີຊື່ a.txt, ໄຟລ໌ເຫຼົ່ານີ້ຈະຖືກຕັ້ງຊື່ຕາມຄວາມເຫມາະສົມ
a.txt.ທ້ອງຖິ່ນ, a.txt.ອື່ນໆ ແລະ a.txt.base ແລະພວກມັນຈະຖືກຈັດໃສ່ໃນອັນດຽວກັນ
ໄດເລກະທໍລີເປັນ a.txt.

:ລົ້ມເຫລວ

ແທນທີ່ຈະພະຍາຍາມລວມໄຟລ໌ທີ່ຖືກດັດແກ້ໃນທັງສອງສາຂາ, ມັນຫມາຍ
ເຂົາເຈົ້າບໍ່ໄດ້ຮັບການແກ້ໄຂ. ຄໍາສັ່ງແກ້ໄຂຕ້ອງຖືກນໍາໃຊ້ເພື່ອແກ້ໄຂຂໍ້ຂັດແຍ່ງເຫຼົ່ານີ້.

:ທ້ອງຖິ່ນ

ໃຊ້ເວີຊັນທ້ອງຖິ່ນຂອງໄຟລ໌ເປັນເວີຊັນທີ່ລວມເຂົ້າກັນ.

:ລວມ

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

:merge-local

ເຊັ່ນດຽວກັນກັບ :merge, ແຕ່ແກ້ໄຂຂໍ້ຂັດແຍ່ງທັງຫມົດທີ່ບໍ່ແມ່ນການໂຕ້ຕອບໃນເງື່ອນໄຂຂອງທ້ອງຖິ່ນ
ປ່ຽນແປງ.

:ລວມ-ອື່ນໆ

ເຊັ່ນດຽວກັບ :merge, ແຕ່ແກ້ໄຂຂໍ້ຂັດແຍ່ງທັງຫມົດທີ່ບໍ່ແມ່ນການໂຕ້ຕອບໃນເງື່ອນໄຂຂອງຄົນອື່ນ
ປ່ຽນແປງ.

: ລວມ 3

ໃຊ້ລະບົບການລວມຕົວແບບງ່າຍໆທີ່ບໍ່ໂຕ້ຕອບພາຍໃນສໍາລັບການລວມໄຟລ໌. ມັນ​ຈະ
ລົ້ມເຫລວຖ້າຫາກວ່າມີຄວາມຂັດແຍ້ງໃດໆແລະປ່ອຍໃຫ້ເຄື່ອງຫມາຍຢູ່ໃນໄຟລ໌ທີ່ຖືກລວມເຂົ້າບາງສ່ວນ.
Marker ຈະມີສາມພາກ, ຫນຶ່ງຈາກແຕ່ລະດ້ານຂອງ merge ແລະຫນຶ່ງສໍາລັບ
ເນື້ອ​ໃນ​ພື້ນ​ຖານ​.

:ອື່ນໆ

ໃຊ້ເວີຊັນອື່ນຂອງໄຟລ໌ເປັນເວີຊັນທີ່ລວມເຂົ້າກັນ.

: ກະ​ຕຸ້ນ​ເຕືອນ​

ຖາມຜູ້ໃຊ້ວ່າອັນໃດຂອງທ້ອງຖິ່ນຫຼືສະບັບອື່ນທີ່ຈະຮັກສາເປັນການລວມ
ສະບັບ.

: tagmerge

ໃຊ້ສູດການລວມແທັກພາຍໃນ (ທົດລອງ).

:ສະຫະພັນ

ໃຊ້ລະບົບການລວມຕົວແບບງ່າຍໆທີ່ບໍ່ໂຕ້ຕອບພາຍໃນສໍາລັບການລວມໄຟລ໌. ມັນ​ຈະ
ໃຊ້ທັງສອງດ້ານຊ້າຍແລະຂວາສໍາລັບພາກພື້ນທີ່ຂັດແຍ້ງ. ບໍ່ມີການໃສ່ເຄື່ອງໝາຍ.

ເຄື່ອງ​ມື​ພາຍ​ໃນ​ແມ່ນ​ມີ​ຢູ່​ສະ​ເຫມີ​ແລະ​ບໍ່​ໄດ້​ຮຽກ​ຮ້ອງ​ໃຫ້​ມີ GUI ແຕ່​ໂດຍ​ການ​ເລີ່ມ​ຕົ້ນ​ຈະ​ບໍ່​ໄດ້​
ຈັດການ symlinks ຫຼື binary ໄຟລ໌.

ເລືອກ a ລວມ ເຄື່ອງມື
Mercurial ໃຊ້ກົດລະບຽບເຫຼົ່ານີ້ໃນເວລາທີ່ຕັດສິນໃຈວ່າຈະໃຊ້ເຄື່ອງມືການຜະສົມຜະສານໃດ:

1. ຖ້າ​ຫາກ​ວ່າ​ເຄື່ອງ​ມື​ໄດ້​ຮັບ​ການ​ລະ​ບຸ​ໄວ້​ກັບ --tool ທາງ​ເລືອກ​ທີ່​ຈະ merge ຫຼື​ແກ້​ໄຂ​, ມັນ​ຖືກ​ນໍາ​ໃຊ້​.
ຖ້າມັນເປັນຊື່ຂອງເຄື່ອງມືໃນ merge-tools configuration, ການຕັ້ງຄ່າຂອງມັນແມ່ນ
ໃຊ້. ຖ້າບໍ່ດັ່ງນັ້ນເຄື່ອງມືທີ່ລະບຸຈະຕ້ອງຖືກປະຕິບັດໂດຍແກະ.

2. ຖ້າທ HGMERGE ຕົວແປສະພາບແວດລ້ອມແມ່ນປະຈຸບັນ, ມູນຄ່າຂອງມັນຖືກນໍາໃຊ້ແລະຕ້ອງເປັນ
ປະຕິບັດໄດ້ໂດຍແກະ.

3. ຖ້າຊື່ໄຟລ໌ຂອງໄຟລ໌ທີ່ຈະຖືກລວມເຂົ້າກັນກົງກັບຮູບແບບໃດນຶ່ງໃນ
merge-patterns configuration section, the first useable merge tool ສອດຄ້ອງກັບ a
ຮູບແບບທີ່ກົງກັນແມ່ນໃຊ້. ທີ່ນີ້, ຄວາມສາມາດສອງຂອງເຄື່ອງມື merge ບໍ່ແມ່ນ
ພິຈາລະນາ.

4. ຖ້າຕັ້ງ ui.merge ມັນຈະຖືກພິຈາລະນາຕໍ່ໄປ. ຖ້າຄ່າບໍ່ແມ່ນຊື່ຂອງ a
ເຄື່ອງ​ມື​ການ​ຕັ້ງ​ຄ່າ​, ຄ່າ​ທີ່​ກໍາ​ນົດ​ໄວ້​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ແລະ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ໂດຍ​ແກະ​.
ຖ້າບໍ່ດັ່ງນັ້ນເຄື່ອງມືທີ່ມີຊື່ແມ່ນຖືກນໍາໃຊ້ຖ້າມັນສາມາດໃຊ້ໄດ້.

5. ຖ້າມີເຄື່ອງມືການລວມເຂົ້າກັນທີ່ສາມາດໃຊ້ໄດ້ຢູ່ໃນພາກສ່ວນການກຳນົດຄ່າເຄື່ອງມືການຮວມ, ອັນໜຶ່ງ.
ມີບູລິມະສິດສູງສຸດແມ່ນຖືກນໍາໃຊ້.

6. ຖ້າໂຄງການທີ່ມີຊື່ hgmerge ສາມາດພົບເຫັນຢູ່ໃນລະບົບ, ມັນຖືກນໍາໃຊ້ - ແຕ່ມັນຈະໂດຍ
ຄ່າເລີ່ມຕົ້ນຈະບໍ່ຖືກໃຊ້ສໍາລັບ symlinks ແລະ binary ໄຟລ໌.

7. ຖ້າໄຟລ໌ທີ່ຈະຖືກລວມເຂົ້າບໍ່ແມ່ນ binary ແລະບໍ່ແມ່ນ symlink, ຫຼັງຈາກນັ້ນພາຍໃນ :ລວມ is
ໃຊ້ແລ້ວ.

8. ການ merge ຂອງໄຟລ໌ລົ້ມເຫລວແລະຕ້ອງໄດ້ຮັບການແກ້ໄຂກ່ອນທີ່ຈະຄໍາຫມັ້ນສັນຍາ.

ຫມາຍ​ເຫດ​ຫຼັງ​ຈາກ​ການ​ເລືອກ​ໂຄງ​ການ merge​, Mercurial ຈະ​ໂດຍ​ການ​ເລີ່ມ​ຕົ້ນ​ຄວາມ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ລວມ​
ໄຟລ໌ໂດຍໃຊ້ສູດການຄິດໄລ່ການຮວມແບບງ່າຍໆກ່ອນ. ພຽງແຕ່ຖ້າຫາກວ່າມັນບໍ່ໄດ້ສໍາເລັດຍ້ອນການ
ການປ່ຽນແປງທີ່ຂັດແຍ້ງກັນ Mercurial ຕົວຈິງແລ້ວຈະປະຕິບັດໂຄງການລວມ. ບໍ່ວ່າຈະ
ການ​ນໍາ​ໃຊ້​ວິ​ທີ​ການ​ລວມ​ງ່າຍ​ດາຍ​ທໍາ​ອິດ​ສາ​ມາດ​ຄວບ​ຄຸມ​ໂດຍ​ການ​ຕັ້ງ​ຄ່າ premerge ຂອງ​
ເຄື່ອງ​ມື​ການ​ລວມ​. Premerge ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ ເວັ້ນເສຍແຕ່ວ່າໄຟລ໌ແມ່ນ binary ຫຼື a
symlink.

ເບິ່ງພາກສ່ວນເຄື່ອງມືລວມແລະ ui ຂອງ hgrc(5) ສໍາລັບລາຍລະອຽດກ່ຽວກັບການຕັ້ງຄ່າຂອງ merge
ເຄື່ອງມື.

ລະບຸ ຫຼາຍຢ່າງ ຄຳ ຕິຊົມ


ເມື່ອ Mercurial ຍອມຮັບຫຼາຍກວ່າຫນຶ່ງການແກ້ໄຂ, ພວກເຂົາອາດຈະຖືກກໍານົດເປັນສ່ວນບຸກຄົນ, ຫຼື
ສະໜອງໃຫ້ເປັນຊ່ວງຕໍ່ເນື່ອງທາງດ້ານ topologically, ແຍກດ້ວຍຕົວອັກສອນ ":".

syntax ຂອງ range notation ແມ່ນ [BEGIN]:[END], ບ່ອນທີ່ BEGIN ແລະ END ແມ່ນການດັດແກ້
ຕົວລະບຸ. ທັງ BEGIN ແລະ END ແມ່ນທາງເລືອກ. ຖ້າ BEGIN ບໍ່ໄດ້ລະບຸ, ມັນຈະເປັນຄ່າເລີ່ມຕົ້ນ
ສະບັບດັດແກ້ເລກ 0. ຖ້າ END ບໍ່ໄດ້ຖືກລະບຸ, ມັນຈະເປັນຄ່າເລີ່ມຕົ້ນຂອງປາຍ. ຊ່ວງ ":" ດັ່ງນັ້ນ
ຫມາຍຄວາມວ່າ "ການດັດແກ້ທັງຫມົດ".

ຖ້າ BEGIN ຫຼາຍກວ່າ END, ການແກ້ໄຂຈະຖືກປະຕິບັດໃນລໍາດັບປີ້ນກັບກັນ.

ຊ່ວງໄລຍະເຮັດໜ້າທີ່ເປັນໄລຍະປິດ. ນີ້ຫມາຍຄວາມວ່າຂອບເຂດຂອງ 3: 5 ໃຫ້ 3, 4 ແລະ 5.
ເຊັ່ນດຽວກັນ, ໄລຍະ 9:6 ໃຫ້ 9, 8, 7, ແລະ 6.

ເອກະສານ NAME ຕາຕະລາງ


Mercurial ຍອມຮັບຫຼາຍ notations ສໍາລັບການກໍານົດຫນຶ່ງຫຼືຫຼາຍໄຟລ໌ໃນແຕ່ລະຄັ້ງ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, Mercurial ປະຕິບັດຊື່ໄຟລ໌ເປັນຮູບແບບການຂະຫຍາຍ glob ແບບຫອຍ.

ຕ້ອງລະບຸຮູບແບບສະຫຼັບກັນຢ່າງຈະແຈ້ງ.

ຫມາຍເຫດຮູບແບບທີ່ລະບຸໄວ້ໃນ .ບໍ່ສົນໃຈ ບໍ່ໄດ້ຮາກຖານ. ກະລຸນາເບິ່ງ hg ຊ່ວຍເຫຼືອ ບໍ່ສົນໃຈ ສໍາລັບການ
ລາຍລະອຽດ.

ເພື່ອໃຊ້ຊື່ເສັ້ນທາງທຳມະດາໂດຍບໍ່ມີຮູບແບບໃດກົງກັນ, ໃຫ້ເລີ່ມຕົ້ນດ້ວຍ ເສັ້ນທາງ:. ເສັ້ນທາງເຫຼົ່ານີ້
ຊື່ຕ້ອງກົງກັນຢ່າງສົມບູນໂດຍເລີ່ມຕົ້ນຈາກຮາກຂອງ repository ໃນປັດຈຸບັນ.

ເພື່ອໃຊ້ glob ຂະຫຍາຍ, ເລີ່ມຊື່ດ້ວຍ ໂລກ:. Globs ແມ່ນຮາກຖານຢູ່ໃນປະຈຸບັນ
ໄດເລກະທໍລີ; ໂລກເຊັ່ນ *.ຄ ຈະກົງກັບໄຟລ໌ທີ່ຢູ່ໃນໄດເລກະທໍລີປະຈຸບັນທີ່ລົງທ້າຍດ້ວຍ
.c.

ສ່ວນຂະຫຍາຍ syntax glob ທີ່ຮອງຮັບແມ່ນ ** ເພື່ອຈັບຄູ່ສະຕຣິງໃດນຶ່ງໃນທົ່ວຕົວແຍກເສັ້ນທາງ ແລະ
{a,b} ຫມາຍຄວາມວ່າ "a ຫຼື b".

ເພື່ອໃຊ້ການສະແດງອອກປົກກະຕິ Perl/Python, ເລີ່ມຕົ້ນຊື່ດ້ວຍ re:. ການຈັບຄູ່ຮູບແບບ Regexp
ຖືກຍຶດຢູ່ທີ່ຮາກຂອງບ່ອນເກັບມ້ຽນ.

ເພື່ອອ່ານຮູບແບບຊື່ຈາກໄຟລ໌, ໃຫ້ໃຊ້ ໄຟລ໌ລາຍຊື່: or listfile0:. ສຸດທ້າຍຄາດວ່າຈະ null
ຮູບແບບທີ່ຈໍາກັດໃນຂະນະທີ່ອະດີດຄາດວ່າຈະມີເສັ້ນ feeds. ແຕ່ລະສະຕຣິງທີ່ອ່ານຈາກໄຟລ໌ແມ່ນ
ຕົວຂອງມັນເອງຖືກປະຕິບັດເປັນຮູບແບບໄຟລ໌.

ເພື່ອອ່ານຊຸດຂອງຮູບແບບຈາກໄຟລ໌, ໃຊ້ ປະກອບມີ: or ຍ່ອຍ:. ປະກອບມີ: ຈະ​ນໍາ​ໃຊ້​ທັງ​ຫມົດ​
ຮູບແບບຕ່າງໆຈາກໄຟລ໌ທີ່ໃຫ້ໄວ້ ແລະປະຕິບັດໃຫ້ເຂົາເຈົ້າຄືກັບວ່າເຂົາເຈົ້າໄດ້ຖືກຖ່າຍທອດດ້ວຍຕົນເອງ.
ຍ່ອຍ: ຈະໃຊ້ພຽງແຕ່ຮູບແບບຕໍ່ກັບໄຟລ໌ທີ່ຢູ່ພາຍໃຕ້ subinclude
ໄດເລກະທໍລີຂອງໄຟລ໌. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ບໍ່ສົນໃຈ ສໍາລັບລາຍລະອຽດກ່ຽວກັບຮູບແບບຂອງໄຟລ໌ເຫຼົ່ານີ້.

ຮູບແບບທັງຫມົດ, ຍົກເວັ້ນ ໂລກ: ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງ (ບໍ່ແມ່ນສໍາລັບ -I or -X ທາງເລືອກ), ສາມາດ
ຈັບຄູ່ກັບໄດເລກະທໍລີ: ໄຟລ໌ພາຍໃຕ້ໄດເລກະທໍລີທີ່ຈັບຄູ່ແມ່ນຖືວ່າກົງກັນ.

ຕົວຢ່າງທໍາມະດາ:

path:foo/bar ແຖບຊື່ໃນໄດເລກະທໍລີທີ່ມີຊື່ foo ໃນຮາກ
ຂອງ repository ໄດ້
path:path:ຊື່ໄຟລ໌ຫຼືໄດເລກະທໍລີທີ່ມີຊື່ວ່າ "path:name"

ຕົວຢ່າງຂອງໂລກ:

glob:*.c ຊື່ໃດນຶ່ງທີ່ລົງທ້າຍດ້ວຍ ".c" ໃນໄດເລກະທໍລີປັດຈຸບັນ
*.c ຊື່ໃດນຶ່ງທີ່ລົງທ້າຍດ້ວຍ ".c" ໃນໄດເລກະທໍລີປັດຈຸບັນ
**.c ຊື່ໃດນຶ່ງທີ່ລົງທ້າຍດ້ວຍ ".c" ໃນໄດເລກະທໍລີຍ່ອຍຂອງ
ໄດເລກະທໍລີປະຈຸບັນລວມທັງຕົວມັນເອງ.
foo/*.c ຊື່ໃດນຶ່ງທີ່ລົງທ້າຍດ້ວຍ ".c" ໃນໄດເລກະທໍລີ foo
foo/**.c ຊື່ໃດນຶ່ງທີ່ລົງທ້າຍດ້ວຍ ".c" ໃນໄດເລກະທໍລີຍ່ອຍຂອງ foo
ລວມທັງຕົວມັນເອງ.

ຕົວຢ່າງ Regexp:

re:.*\.c$ ຊື່ໃດກໍໄດ້ລົງທ້າຍດ້ວຍ ".c", ຢູ່ບ່ອນໃດກໍໄດ້ຢູ່ໃນບ່ອນເກັບມ້ຽນ

ຕົວຢ່າງໄຟລ໌:

listfile:list.txt ບັນຊີລາຍຊື່ອ່ານຈາກ list.txt ທີ່ມີຮູບແບບໄຟລ໌ຫນຶ່ງຕໍ່ແຖວ
listfile0:list.txt ອ່ານລາຍການຈາກ list.txt ທີ່ມີຕົວຂັ້ນ null byte

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຊຸດໄຟລ໌.

ລວມເອົາຕົວຢ່າງ:

ປະກອບມີ:path/to/mypatternfile ອ່ານຮູບແບບທີ່ຈະໃຊ້ກັບທຸກເສັ້ນທາງ
subinclude:path/to/subignorefile ອ່ານຮູບແບບໂດຍສະເພາະສໍາລັບເສັ້ນທາງໃນ
ບັນຊີຍ່ອຍ

ການເຮັດວຽກ ກັບ ໄລຍະ


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

ແຕ່ລະການປ່ຽນແປງໃນ repository ແມ່ນຢູ່ໃນຫນຶ່ງໃນໄລຍະດັ່ງຕໍ່ໄປນີ້:

· ສາ​ທາ​ລະ​ນະ : changeset ແມ່ນ​ສັງ​ເກດ​ເຫັນ​ຢູ່​ໃນ​ເຄື່ອງ​ແມ່​ຂ່າຍ​ຂອງ​ສາ​ທາ​ລະ​ນະ​

· ຮ່າງ : changeset ຍັງ ບໍ່ ທັນ ໄດ້ ຈັດ ພີມ ມາ

· ຄວາມລັບ : changeset ບໍ່ຄວນຖືກ pushed, ດຶງ, ຫຼື cloned

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

ວິທີການ ມີ ໄລຍະ ຄຸ້ມຄອງ?
ສໍາລັບສ່ວນໃຫຍ່, ໄລຍະຄວນເຮັດວຽກຢ່າງໂປ່ງໃສ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຊຸດການປ່ຽນແປງແມ່ນຖືກສ້າງຂຶ້ນໃນ
ໄລຍະຮ່າງແລະຖືກຍ້າຍໄປຢູ່ໃນໄລຍະສາທາລະນະໃນເວລາທີ່ມັນຖືກ pushed ໄປອີກ
repository

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

ເພື່ອເຮັດໃຫ້ຄໍາຫມັ້ນສັນຍາຂອງທ່ານເປັນຄວາມລັບໂດຍຄ່າເລີ່ມຕົ້ນ, ເອົາອັນນີ້ໃສ່ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ:

[ໄລຍະ]
new-commit = ຄວາມລັບ

ໄລຍະ ແລະ ເຊີຟເວີ
ໂດຍປົກກະຕິ, ເຄື່ອງແມ່ຂ່າຍທັງຫມົດແມ່ນ ການເຜີຍແຜ່ ໂດຍຄ່າເລີ່ມຕົ້ນ. ນີ້​ຫມາຍ​ຄວາມ​ວ່າ:

- ຮ່າງ​ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ທີ່​ຖືກ​ດຶງ​ຫຼື cloned ປະ​ກົດ​ວ່າ​ໃນ​ໄລ​ຍະ​
ສາທາລະນະກ່ຽວກັບລູກຄ້າ

- ທຸກຊຸດການປ່ຽນແປງສະບັບຮ່າງທີ່ຖືກຊຸກດັນໃຫ້ປາກົດເປັນສາທາລະນະໃນທັງສອງ
ລູກຄ້າແລະເຄື່ອງແມ່ຂ່າຍ

- ການ​ປ່ຽນ​ແປງ​ຄວາມ​ລັບ​ແມ່ນ​ບໍ່​ໄດ້​ຊຸກ​ຍູ້​, ດຶງ​, ຫຼື cloned​

ໝາຍເຫດ ການດຶງຊຸດການປ່ຽນແປງສະບັບຮ່າງຈາກເຊີບເວີທີ່ເຜີຍແຜ່ບໍ່ໄດ້ໝາຍມັນເປັນສາທາລະນະ
ດ້ານເຊີບເວີເນື່ອງຈາກລັກສະນະການອ່ານເທົ່ານັ້ນຂອງການດຶງ.

ບາງຄັ້ງມັນອາດຈະເປັນຄວາມປາຖະຫນາທີ່ຈະຍູ້ແລະດຶງການປ່ຽນແປງໃນໄລຍະຮ່າງເພື່ອແບ່ງປັນ
ວຽກ​ງານ​ທີ່​ບໍ່​ສໍາ​ເລັດ. ນີ້ສາມາດເຮັດໄດ້ໂດຍການຕັ້ງ repository ເພື່ອປິດການເຜີຍແຜ່ໃນຂອງມັນ
ໄຟລ໌ການຕັ້ງຄ່າ:

[ໄລຍະ]
publish = ຜິດ

ເບິ່ງ hg ຊ່ວຍເຫຼືອ config ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າ.

ໝາຍເຫດ ເຊີບເວີທີ່ໃຊ້ Mercurial ລຸ້ນເກົ່າຖືກຖືວ່າເປັນການເຜີຍແຜ່.

ໝາຍເຫດ ການປ່ຽນແປງໃນໄລຍະລັບບໍ່ໄດ້ຖືກແລກປ່ຽນກັບເຊີບເວີ. ນີ້ໃຊ້ກັບພວກເຂົາ
ເນື້ອໃນ: ຊື່ໄຟລ໌, ເນື້ອໃນໄຟລ໌, ແລະການປ່ຽນແປງ metadata. ສໍາລັບເຫດຜົນດ້ານວິຊາການ,
ຕົວລະບຸ (ຕົວຢ່າງ d825e4025e39) ຂອງຊຸດການປ່ຽນແປງລັບອາດຈະຖືກສື່ສານກັບ
server.

ຕົວຢ່າງ
·ລາຍຊື່ການປ່ຽນແປງໃນສະບັບຮ່າງຫຼືໄລຍະລັບ:

hg log -r "ບໍ່ສາທາລະນະ()"

· ປ່ຽນ​ແປງ​ການ​ປ່ຽນ​ແປງ​ລັບ​ທັງ​ຫມົດ​ເປັນ​ຮ່າງ​:

hg ໄລຍະ --draft "secret()"

· ບັງຄັບໃຫ້ຍ້າຍຊຸດການປ່ຽນແປງປັດຈຸບັນ ແລະລູກຫລານຈາກສາທາລະນະໄປສູ່ຮ່າງ:

hg ໄລຍະ --force --draft .

·​ສະ​ແດງ​ໃຫ້​ເຫັນ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ການ​ປັບ​ປຸງ​ແລະ​ໄລ​ຍະ​ການ​ປ່ຽນ​ແປງ​ໄດ້​:

hg log --ແມ່ແບບ "{rev} {phase}\n"

· synchronize ຮ່າງ​ການ​ປ່ຽນ​ແປງ​ກ່ຽວ​ກັບ​ການ repository ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​:

hg ໄລຍະ -fd "ຂາອອກ(URL)"

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໂຄງການໄລຍະ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄລຍະການຈັດການດ້ວຍຕົນເອງ.

ລະບຸ ດຽວ ຄຳ ຕິຊົມ


Mercurial ສະຫນັບສະຫນູນຫຼາຍວິທີເພື່ອກໍານົດການດັດແກ້ສ່ວນບຸກຄົນ.

ຈຳນວນເຕັມທຳມະດາແມ່ນຖືເປັນຕົວເລກດັດແກ້. ຈຳນວນເຕັມລົບຖືກປະຕິບັດເປັນ
ການຊົດເຊີຍຕາມລໍາດັບຈາກປາຍ, ດ້ວຍ -1 ຫມາຍເຖິງປາຍ, -2 ຫມາຍເຖິງການແກ້ໄຂກ່ອນ.
ປາຍ, ແລະອື່ນໆ.

ສະຕຣິງເລກຖານສິບຫົກ 40 ຕົວເລກຖືກປະຕິບັດເປັນຕົວລະບຸການແກ້ໄຂສະເພາະ.

ສະຕຣິງເລກຖານສິບຫົກທີ່ມີຄວາມຍາວໜ້ອຍກວ່າ 40 ຕົວອັກສອນຖືກປະຕິບັດເປັນການແກ້ໄຂສະເພາະ
ຕົວລະບຸຕົວຕົນ ແລະເອີ້ນວ່າຕົວລະບຸຮູບແບບສັ້ນ. ຕົວລະບຸຮູບແບບສັ້ນແມ່ນພຽງແຕ່
ຖືກຕ້ອງຖ້າມັນເປັນຄຳນຳໜ້າຂອງຕົວລະບຸຄວາມຍາວເຕັມອັນແທ້.

ສະຕຣິງອື່ນໃດຖືກປະຕິບັດເປັນບຸກມາກ, ແທັກ, ຫຼືຊື່ສາຂາ. ບຸກມາກແມ່ນສາມາດເຄື່ອນຍ້າຍໄດ້
ຊີ້ໃຫ້ເຫັນເຖິງການທົບທວນ. ແທັກແມ່ນຊື່ຖາວອນທີ່ກ່ຽວຂ້ອງກັບການແກ້ໄຂ. ຊື່ສາຂາ
ຫມາຍເຖິງຫົວສາຂາທີ່ເປີດສູງສຸດຂອງສາຂານັ້ນ - ຫຼືຖ້າພວກມັນຖືກປິດທັງຫມົດ, the
ຫົວປິດປາຍສຸດຂອງສາຂາ. Bookmark, tag, ແລະຊື່ສາຂາຈະຕ້ອງບໍ່ມີ
":" ລັກສະນະ.

ຊື່ທີ່ສະຫງວນໄວ້ "ຄໍາແນະນໍາ" ສະເຫມີກໍານົດການດັດແກ້ຫຼ້າສຸດ.

ຊື່ສະຫງວນ "null" ຊີ້ໃຫ້ເຫັນເຖິງການປັບປຸງ null. ນີ້ແມ່ນການແກ້ໄຂຂອງຫວ່າງເປົ່າ
repository, ແລະພໍ່ແມ່ຂອງການແກ້ໄຂ 0.

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

ລະບຸ ປະຕິກິລິຍາ ຊຸດ


Mercurial ສະຫນັບສະຫນູນພາສາທີ່ເປັນປະໂຫຍດສໍາລັບການເລືອກຊຸດຂອງການແກ້ໄຂ.

ພາສາສະຫນັບສະຫນູນຈໍານວນ predicates ທີ່ເຂົ້າຮ່ວມໂດຍຕົວປະຕິບັດການ infix.
ວົງເລັບສາມາດໃຊ້ສໍາລັບການຈັດກຸ່ມ.

ຕົວລະບຸເຊັ່ນຊື່ສາຂາອາດຈະຕ້ອງການວົງຢືມດ້ວຍວົງຢືມດຽວ ຫຼືສອງເທົ່າຖ້າພວກເຂົາ
ມີຕົວອັກສອນເຊັ່ນ - ຫຼືຖ້າພວກມັນກົງກັບໜຶ່ງໃນຕົວກຳນົດລ່ວງໜ້າ.

ຕົວອັກສອນພິເສດສາມາດຖືກນໍາໃຊ້ໃນຕົວລະບຸທີ່ອ້າງອີງໂດຍການຫລົບຫນີ, ເຊັ່ນ: \n is
ແປເປັນແຖວໃໝ່. ເພື່ອປ້ອງກັນບໍ່ໃຫ້ພວກມັນຖືກຕີຄວາມໝາຍ, ສະຕຣິງສາມາດຖືກນຳໜ້າໄດ້
ກັບ r, ຕົວຢ່າງ r'...'.

ມີຕົວປະຕິບັດການຄໍານໍາຫນ້າອັນດຽວ:

ບໍ່ x

ການປ່ຽນແປງບໍ່ໄດ້ຢູ່ໃນ x. ຮູບແບບສັ້ນແມ່ນ ! x.

ເຫຼົ່ານີ້ແມ່ນຕົວປະຕິບັດການ infix ສະຫນັບສະຫນູນ:

x::y

A ໄລຍະ DAG, ຊຶ່ງຫມາຍຄວາມວ່າການປ່ຽນແປງທັງຫມົດທີ່ເປັນລູກຫລານຂອງ x ແລະບັນພະບຸລຸດຂອງ y,
ລວມທັງ x ແລະ y ດ້ວຍຕົນເອງ. ຖ້າຈຸດສິ້ນສຸດທໍາອິດຖືກປະໄວ້, ນີ້ເທົ່າກັບ
to ບັນພະບຸລຸດ, ຖ້າທີສອງຖືກປະໄວ້ມັນເທົ່າກັບ ເຊື້ອສາຍ(x).

syntax ທາງເລືອກແມ່ນ x..y.

x:y

ຊຸດການປ່ຽນແປງທັງໝົດທີ່ມີຕົວເລກການດັດແກ້ລະຫວ່າງ x ແລະ y, ຮວມທັງສອງ. ບໍ່ວ່າຈະ
ຈຸດສິ້ນສຸດສາມາດຖືກປະໄວ້, ພວກມັນເລີ່ມຕົ້ນເປັນ 0 ແລະປາຍ.

x ແລະ y

ຈຸດຕັດຂອງການປ່ຽນແປງໃນ x ແລະ y. ຮູບແບບສັ້ນແມ່ນ x & y.

x or y

ສະຫະພັນຂອງການປ່ຽນແປງໃນ x ແລະ y. ມີສອງຮູບແບບສັ້ນທາງເລືອກ: x | y
ແລະ x + y.

x - y

ການປ່ຽນແປງໃນ x ແຕ່ບໍ່ແມ່ນຢູ່ໃນ y.

x^n

ຈ່ ງົ ຈ່ ງົ ຂອງ x, n == 0, 1, ຫຼື 2. ສໍາລັບ n == 0, x; ສໍາລັບ n == 1, ພໍ່ແມ່ທໍາອິດ
ຂອງແຕ່ລະການປ່ຽນແປງໃນ x; ສໍາລັບ n == 2, ພໍ່ແມ່ທີສອງຂອງການປ່ຽນແປງໃນ x.

x~n

ບັນພະບຸລຸດທໍາອິດຂອງ x; x~0 ແມ່ນ x; x~3 is x^^^.

ມີຕົວປະຕິບັດການ postfix ດຽວ:

x^

ເທົ່າກັບ x^1, ພໍ່ແມ່ທໍາອິດຂອງແຕ່ລະ changeset ໃນ x.

ຕົວຊີ້ບອກຕໍ່ໄປນີ້ແມ່ນຮອງຮັບ:

ເພີ່ມ(ແບບ)

ການປ່ຽນແປງທີ່ເພີ່ມຮູບແບບການຈັບຄູ່ໄຟລ໌.

ຮູບແບບທີ່ບໍ່ມີປະເພດຢ່າງຊັດເຈນເຊັ່ນ ໂລກ: ຄາດວ່າຈະເປັນພີ່ນ້ອງກັບ
ໄດເລກະທໍລີປະຈຸບັນແລະກົງກັບໄຟລ໌ຫຼືໄດເລກະທໍລີ.

ທັງໝົດ()

ການປ່ຽນແປງທັງຫມົດ, ຄືກັນກັບ 0: ເຄັດລັບ.

ບັນພະບຸລຸດ(*ຊຸດປ່ຽນ)

ບັນພະບຸລຸດທົ່ວໄປທີ່ຍິ່ງໃຫຍ່ທີ່ສຸດຂອງການປ່ຽນແປງ.

ຍອມຮັບການປ່ຽນແປງ 0 ຫຼືຫຼາຍກວ່ານັ້ນ. ຈະສົ່ງຄືນລາຍຊື່ຫວ່າງເປົ່າເມື່ອຜ່ານບໍ່ມີ args.
ບັນພະບຸລຸດທົ່ວໄປທີ່ຍິ່ງໃຫຍ່ທີ່ສຸດຂອງຊຸດການປ່ຽນແປງດຽວແມ່ນການປ່ຽນແປງນັ້ນ.

ບັນພະບຸລຸດ

ການປ່ຽນແປງທີ່ເປັນບັນພະບຸລຸດຂອງຊຸດການປ່ຽນແປງໃນຊຸດ.

ຜູ້​ຂຽນ

ນາມແຝງສໍາລັບ ຜູ້ໃຊ້(string).

bisect(string)

ການປ່ຽນແປງທີ່ໝາຍໄວ້ໃນສະຖານະ bisect ທີ່ລະບຸໄວ້:

· ດີ, ບໍ່ດີ, ຂ້າມ: csets ຖືກໝາຍຢ່າງຈະແຈ້ງວ່າເປັນດີ/ບໍ່ດີ/ຂ້າມ

· ສິນຄ້າ, ບໍ່ດີ : csets topologically ດີ/ບໍ່ດີ

· ລະດັບ : csets ມີສ່ວນຮ່ວມໃນ bisection

· ຖືກຕັດອອກ : csets ທີ່ເປັນສິນຄ້າ, ບໍ່ດີ ຫຼື ຂ້າມ

· untested : csets ຊະຕາກໍາຂອງໃຜຍັງບໍ່ທັນຮູ້

· ບໍ່ສົນໃຈ : csets ຖືກລະເລີຍເນື່ອງຈາກ DAG topology

· ໃນປະຈຸບັນ : cset ໃນ​ປັດ​ຈຸ​ບັນ​ແມ່ນ bisected

ບຸກມາກ([ຊື່])

ບຸກມາກທີ່ມີຊື່ ຫຼືບຸກມາກທັງໝົດ.

If ຊື່ ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງຊື່ແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອຈັບຄູ່ບຸກມາກທີ່ເລີ່ມຕົ້ນດ້ວຍ re:, ໃຊ້ຄໍານໍາຫນ້າ
ຕົວໜັງສື:.

ສາຂາ(string or ຕັ້ງ)

ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ທີ່​ເປັນ​ຂອງ​ສາ​ຂາ​ທີ່​ໄດ້​ຮັບ​ຫຼື​ສາ​ຂາ​ຂອງ​ການ​ໃຫ້​
ການປ່ຽນແປງ.

If string ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງຊື່ແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອໃຫ້ກົງກັບສາຂາທີ່ເລີ່ມຕົ້ນດ້ວຍ re:, ໃຊ້ຄໍານໍາຫນ້າ
ຕົວໜັງສື:.

ສາຂາ()

ການປ່ຽນແປງທີ່ມີຫຼາຍກວ່າຫນຶ່ງລູກ.

ຕຳ()

ການປ່ຽນແປງທີ່ປ່ຽນແປງໄດ້ໝາຍວ່າເປັນຕົວສືບທອດຂອງຊຸດການປ່ຽນແປງສາທາລະນະ.

ພຽງແຕ່ການປ່ຽນແປງທີ່ບໍ່ແມ່ນສາທາລະນະແລະບໍ່ລ້າສະໄຫມສາມາດເປັນ ຕຳ.

ມັດ()

ການປ່ຽນແປງໃນຊຸດ.

Bundle ຕ້ອງຖືກລະບຸໂດຍຕົວເລືອກ -R.

ເດັກນ້ອຍ (ຊຸດ)

ການປ່ຽນແປງຂອງເດັກນ້ອຍຂອງການປ່ຽນແປງໃນຊຸດ.

ປິດ()

ຊຸດການປ່ຽນແປງຖືກປິດ.

ປະ​ກອບ​ດ້ວຍ​ຮູບ​ແບບ

manifest ຂອງການແກ້ໄຂມີຮູບແບບການຈັບຄູ່ໄຟລ໌ (ແຕ່ອາດຈະບໍ່ດັດແປງມັນ).
ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ ສໍາລັບຂໍ້ມູນກ່ຽວກັບຮູບແບບໄຟລ໌.

ຮູບແບບທີ່ບໍ່ມີປະເພດຢ່າງຊັດເຈນເຊັ່ນ ໂລກ: ຄາດວ່າຈະເປັນພີ່ນ້ອງກັບ
ໄດເລກະທໍລີປະຈຸບັນແລະກົງກັບໄຟລ໌ທີ່ແນ່ນອນເພື່ອປະສິດທິພາບ.

ແປງແລ້ວ([id])

ການປ່ຽນແປງທີ່ປ່ຽນຈາກຕົວລະບຸທີ່ລະບຸໄວ້ໃນບ່ອນເກັບມ້ຽນເກົ່າຖ້າມີ, ຫຼື
ຊຸດການປ່ຽນແປງທີ່ປ່ຽນແລ້ວທັງໝົດ ຖ້າບໍ່ມີການລະບຸຕົວລະບຸ.

ວັນທີ(ໄລຍະຫ່າງ)

ການປ່ຽນແປງພາຍໃນໄລຍະ, ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ.

desc(string)

ຊອກຫາຂໍ້ຄວາມ commit ສໍາລັບ string. ການແຂ່ງຂັນແມ່ນບໍ່ມີຕົວພິມນ້ອຍໃສ່ຕົວພິມນ້ອຍ.

ເຊື້ອສາຍ

ການປ່ຽນແປງທີ່ສືບເນື່ອງມາຈາກຊຸດການປ່ຽນແປງໃນຊຸດ.

ຈຸດໝາຍປາຍທາງ([ຕັ້ງ])

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

divergent()

ຜູ້ສືບທອດສຸດທ້າຍຂອງຊຸດການປ່ຽນແປງທີ່ມີຊຸດທາງເລືອກຂອງຜູ້ສືບທອດສຸດທ້າຍ.

ຮ່າງ()

ການປ່ຽນແປງໃນໄລຍະຮ່າງ.

ສູນພັນ()

ຊຸດການປ່ຽນແປງທີ່ລ້າສະໄຫມກັບລູກຫລານທີ່ລ້າສະໄຫມເທົ່ານັ້ນ.

ພິເສດ(ປ້າຍກຳກັບ, [ມູນຄ່າ])

ການປ່ຽນແປງທີ່ມີປ້າຍຊື່ທີ່ລະບຸໄວ້ໃນ metadata ເພີ່ມເຕີມ, ດ້ວຍທາງເລືອກທີ່ໃຫ້
ມູນຄ່າ.

If ມູນຄ່າ ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງມູນຄ່າແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອຈັບຄູ່ຄ່າທີ່ຕົວຈິງແລ້ວເລີ່ມຕົ້ນດ້ວຍ re:, ໃຊ້ຄໍານໍາຫນ້າ
ຕົວໜັງສື:.

ໄຟລ໌ (ຮູບແບບ)

ການປ່ຽນແປງທີ່ມີຜົນກະທົບໄຟລ໌ທີ່ຈັບຄູ່ກັບຮູບແບບ.

ເພື່ອໃຫ້ໄດ້ຜົນໄວ ແຕ່ຖືກຕ້ອງໜ້ອຍກວ່າ, ໃຫ້ພິຈາລະນາໃຊ້ filelog() ແທນທີ່ຈະເປັນ.

ນີ້ໃຊ້ predicate ໂລກ: ເປັນຮູບແບບເລີ່ມຕົ້ນ.

filelog(ຮູບແບບ)

ການປ່ຽນແປງທີ່ເຊື່ອມຕໍ່ກັບໄຟລ໌ທີ່ລະບຸໄວ້.

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

ຮູບແບບທີ່ບໍ່ມີປະເພດຢ່າງຊັດເຈນເຊັ່ນ ໂລກ: ຄາດວ່າຈະເປັນພີ່ນ້ອງກັບ
ໄດເລກະທໍລີປະຈຸບັນແລະກົງກັບໄຟລ໌ທີ່ແນ່ນອນເພື່ອປະສິດທິພາບ.

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

ທໍາອິດ (ຊຸດ, [n])

ນາມແຝງສຳລັບ limit().

ປະຕິບັດຕາມ([ຮູບແບບ])

ນາມແຝງສໍາລັບ ::. (ບັນພະບຸລຸດຂອງພໍ່ແມ່ທໍາອິດຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ). ຖ້າ​ຫາກ​ວ່າ​ຮູບ​ແບບ​
ຖືກລະບຸໄວ້, ປະຫວັດຂອງໄຟລ໌ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ຖືກປະຕິບັດຕາມ, ລວມທັງ
ສຳ ເນົາ.

grep(regex)

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

ຫົວ()

Changeset ແມ່ນຫົວສາຂາທີ່ມີຊື່.

ຫົວ(ຊຸດ)

ສະມາຊິກຂອງຊຸດທີ່ບໍ່ມີເດັກນ້ອຍຢູ່ໃນຊຸດ.

ເຊື່ອງໄວ້()

ການ​ປ່ຽນ​ແປງ​ທີ່​ເຊື່ອງ​ໄວ້​.

id(string)

ການແກ້ໄຂບໍ່ຊັດເຈນໂດຍຄໍານໍາຫນ້າ hex string ທີ່ໃຫ້ໄວ້.

ຄໍາສໍາຄັນ

ຄົ້ນຫາຂໍ້ຄວາມ commit, ຊື່ຜູ້ໃຊ້, ແລະຊື່ຂອງໄຟລ໌ທີ່ມີການປ່ຽນແປງສໍາລັບ string. ການແຂ່ງຂັນ
ແມ່ນຕົວພິມນ້ອຍໃຫຍ່ບໍ່ອ່ອນໄຫວ.

ສຸດທ້າຍ (ຊຸດ, [n])

ສະມາຊິກ n ສຸດທ້າຍຂອງຊຸດ, ເລີ່ມຕົ້ນເປັນ 1.

limit(ຕັ້ງ[, n[, ຊົດເຊີຍ]])

ສະມາຊິກ n ທຳອິດຂອງຊຸດ, ເລີ່ມຕົ້ນເປັນ 1, ເລີ່ມຈາກການຊົດເຊີຍ.

ການ​ປັບ​ປຸງ [, ພາກສະຫນາມ])

ການ​ປ່ຽນ​ແປງ​ທີ່​ຊຸດ​ຊ່ອງ​ຂໍ້​ມູນ​ທີ່​ໃຫ້​ກົງ​ກັບ​ຊຸດ​ຂອງ​ຊ່ອງ​ຂໍ້ມູນ​ໃນ​ການ​ເລືອກ
ການ​ປັບ​ປຸງ​ຫຼື​ກໍາ​ນົດ​.

ເພື່ອຈັບຄູ່ຫຼາຍກວ່າໜຶ່ງຊ່ອງຂໍ້ມູນໃຫ້ຜ່ານລາຍຊື່ຂອງຊ່ອງຂໍ້ມູນເພື່ອຈັບຄູ່ແຍກກັນໂດຍຊ່ອງຫວ່າງ
(ຕົວຢ່າງ ຜູ້​ປະ​ພັນ ຄໍາອະທິບາຍ).

ຊ່ອງຂໍ້ມູນທີ່ຖືກຕ້ອງແມ່ນຊ່ອງຂໍ້ມູນການແກ້ໄຂປົກກະຕິຫຼາຍທີ່ສຸດ ແລະບາງຊ່ອງຂໍ້ມູນພິເສດ.

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

ຂົງເຂດພິເສດແມ່ນ ສະ​ຫຼຸບ​ສັງ​ລວມ ແລະ metadata: ສະ​ຫຼຸບ​ສັງ​ລວມ ກົງກັບແຖວທໍາອິດຂອງ
ຄຳ ອະທິບາຍ. metadata ເທົ່າກັບການຈັບຄູ່ ຄໍາອະທິບາຍ ຜູ້ໃຊ້ ວັນ (ເຊັ່ນ: ມັນ
ກົງກັບຊ່ອງຂໍ້ມູນ metadata ຕົ້ນຕໍ).

metadata ແມ່ນຊ່ອງຂໍ້ມູນເລີ່ມຕົ້ນທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ບໍ່ມີຊ່ອງຂໍ້ມູນຖືກລະບຸ. ເຈົ້າ​ສາ​ມາດ
ຈັບຄູ່ຫຼາຍກວ່າໜຶ່ງສະໜາມໃນແຕ່ລະຄັ້ງ.

ສູງສຸດ (ຊຸດ)

ຊຸດການປ່ຽນແປງທີ່ມີຈໍານວນການແກ້ໄຂສູງສຸດໃນຊຸດ.

ຮວມ()

Changeset ແມ່ນຊຸດການປ່ຽນແປງລວມ.

ນາທີ(ຕັ້ງ)

ຊຸດການປ່ຽນແປງທີ່ມີຈໍານວນການແກ້ໄຂຕ່ໍາສຸດໃນຊຸດ.

ປັບ​ປຸງ​ແກ້​ໄຂ (ຮູບ​ແບບ​)

ການ​ປ່ຽນ​ແປງ​ການ​ດັດ​ແກ້​ໄຟລ​໌​ທີ່​ກົງ​ກັບ​ຮູບ​ແບບ​.

ຮູບແບບທີ່ບໍ່ມີປະເພດຢ່າງຊັດເຈນເຊັ່ນ ໂລກ: ຄາດວ່າຈະເປັນພີ່ນ້ອງກັບ
ໄດເລກະທໍລີປະຈຸບັນແລະກົງກັບໄຟລ໌ຫຼືໄດເລກະທໍລີ.

ຊື່(namespace)

ການປ່ຽນແປງໃນ namespace ທີ່ລະບຸ.

If namespace ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງຊ່ອຍແນ່ແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອໃຫ້ກົງກັບ namespace ທີ່ຕົວຈິງແລ້ວເລີ່ມຕົ້ນດ້ວຍ re:, ໃຊ້ຄໍານໍາຫນ້າ
ຕົວໜັງສື:.

ລ້າສະໄຫມ()

ການປ່ຽນແປງທີ່ປ່ຽນແປງໄດ້ກັບສະບັບໃຫມ່ກວ່າ.

ເທົ່ານັ້ນ (ຊຸດ, [ຊຸດ])

ການປ່ຽນແປງທີ່ເປັນບັນພະບຸລຸດຂອງຊຸດທໍາອິດທີ່ບໍ່ແມ່ນບັນພະບຸລຸດຂອງຄົນອື່ນ
ຫົວຫນ້າໃນ repo ໄດ້. ຖ້າຊຸດທີສອງຖືກລະບຸ, ຜົນໄດ້ຮັບແມ່ນບັນພະບຸລຸດຂອງ
ຊຸດທໍາອິດທີ່ບໍ່ແມ່ນບັນພະບຸລຸດຂອງຊຸດທີສອງ (ie :: - :: ).

ຕົ້ນກໍາເນີດ([ຊຸດ])

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

ຂາອອກ([ເສັ້ນທາງ])

ບໍ່ພົບການປ່ຽນແປງໃນບ່ອນເກັບຂໍ້ມູນປາຍທາງທີ່ລະບຸ, ຫຼືການຊຸກຍູ້ເລີ່ມຕົ້ນ
ສະຖານທີ່.

p1([ຊຸດ])

ພໍ່ແມ່ທໍາອິດຂອງການປ່ຽນແປງໃນຊຸດ, ຫຼືໄດເລກະທໍລີທີ່ເຮັດວຽກ.

p2([ຊຸດ])

ພໍ່ແມ່ທີສອງຂອງຊຸດການປ່ຽນແປງໃນຊຸດ, ຫຼືໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ພໍ່ແມ່([ຊຸດ])

ຊຸດຂອງພໍ່ແມ່ທັງຫມົດສໍາລັບການປ່ຽນແປງທັງຫມົດໃນຊຸດ, ຫຼືໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ປະຈຸບັນ (ຊຸດ)

ຊຸດເປົ່າ, ຖ້າການດັດແກ້ໃດໆໃນຊຸດບໍ່ພົບ; ຖ້າບໍ່ດັ່ງນັ້ນ, ການແກ້ໄຂທັງຫມົດໃນຊຸດ.

ຖ້າການດັດແກ້ໃດໆທີ່ລະບຸບໍ່ມີຢູ່ໃນບ່ອນເກັບມ້ຽນທ້ອງຖິ່ນ, ການສອບຖາມແມ່ນ
ປົກກະຕິເອົາລູກອອກ. ແຕ່ຕົວຊີ້ບອກນີ້ອະນຸຍາດໃຫ້ການສອບຖາມສືບຕໍ່ເຖິງແມ່ນວ່າໃນແບບນັ້ນ
ກໍລະນີ.

ສາທາລະນະ()

ມີການປ່ຽນແປງໃນໄລຍະສາທາລະນະ.

ໄລຍະໄກ([id [,ເສັ້ນທາງ]])

ການແກ້ໄຂທ້ອງຖິ່ນທີ່ສອດຄ້ອງກັບຕົວລະບຸທີ່ລະບຸໄວ້ໃນບ່ອນເກັບມ້ຽນທາງໄກ, ຖ້າ
ປະຈຸບັນ. ທີ່ນີ້, '.' identifier ແມ່ນຄໍາສັບຄ້າຍຄືສໍາລັບສາຂາທ້ອງຖິ່ນໃນປະຈຸບັນ.

ເອົາອອກ

ການ​ປ່ຽນ​ແປງ​ທີ່​ເອົາ​ຮູບ​ແບບ​ການ​ຈັບ​ຄູ່​ໄຟລ​໌​ອອກ​.

ຮູບແບບທີ່ບໍ່ມີປະເພດຢ່າງຊັດເຈນເຊັ່ນ ໂລກ: ຄາດວ່າຈະເປັນພີ່ນ້ອງກັບ
ໄດເລກະທໍລີປະຈຸບັນແລະກົງກັບໄຟລ໌ຫຼືໄດເລກະທໍລີ.

rev(ຈໍານວນ)

ການແກ້ໄຂດ້ວຍຕົວລະບຸຕົວເລກທີ່ລະບຸ.

ປີ້ນກັບກັນ

ລຳດັບຂອງຊຸດ.

ຮາກ (ຕັ້ງ)

ການປ່ຽນແປງໃນຊຸດທີ່ບໍ່ມີການປ່ຽນແປງຂອງພໍ່ແມ່ໃນຊຸດ.

ຄວາມລັບ()

ມີການປ່ຽນແປງໃນໄລຍະລັບ.

ຄັດ (ຊຸດ[, [-]ກະແຈ...])

ຈັດຮຽງຕາມກະແຈ. ລຳດັບການຈັດຮຽງເລີ່ມຕົ້ນແມ່ນຕັ້ງຊັນຂຶ້ນ, ລະບຸລະຫັດເປັນ - ກຸນແຈ to
ຈັດລຽງຕາມລໍາດັບ.

ກະແຈສາມາດເປັນ:

· ສໍາ​ລັບ​ການ​ແກ້​ໄຂ​ຈໍາ​ນວນ​,

· ສາຂາ ສໍາ​ລັບ​ຊື່​ສາ​ຂາ​,

· desc ສໍາລັບຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາ (ລາຍລະອຽດ),

· ຜູ້ໃຊ້ ສໍາລັບຊື່ຜູ້ໃຊ້ (ຜູ້​ປະ​ພັນ ສາມາດໃຊ້ເປັນນາມແຝງ),

· ວັນ ສໍາລັບວັນທີຄໍາຫມັ້ນສັນຍາ

subrepo([ຮູບແບບ])

ການປ່ຽນແປງທີ່ເພີ່ມ, ແກ້ໄຂຫຼືເອົາ subrepo ທີ່ໃຫ້. ຖ້າບໍ່ມີຮູບແບບຍ່ອຍຍ່ອຍ
ມີຊື່, ການປ່ຽນແປງ subrepo ໃດຖືກສົ່ງຄືນ.

tag([ຊື່])

ແທັກທີ່ລະບຸໂດຍຊື່, ຫຼືການດັດແກ້ tagged ທັງຫມົດຖ້າບໍ່ມີຊື່.

If ຊື່ ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງຊື່ແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອຈັບຄູ່ແທັກທີ່ເລີ່ມຕົ້ນດ້ວຍ re:, ໃຊ້ຄໍານໍາຫນ້າ ຕົວໜັງສື:.

ບໍ່ໝັ້ນຄົງ()

ການປ່ຽນແປງທີ່ບໍ່ລ້າສະໄຫມກັບບັນພະບຸລຸດທີ່ລ້າສະໄຫມ.

ຜູ້ໃຊ້(string)

ຊື່ຜູ້ໃຊ້ປະກອບດ້ວຍສະຕຣິງ. ການແຂ່ງຂັນແມ່ນບໍ່ມີຕົວພິມນ້ອຍໃສ່ຕົວພິມນ້ອຍ.

If string ເລີ່ມຕົ້ນດ້ວຍ re:, ສ່ວນທີ່ເຫຼືອຂອງຊ່ອຍແນ່ແມ່ນປະຕິບັດເປັນປົກກະຕິ
ການສະແດງອອກ. ເພື່ອໃຫ້ກົງກັບຜູ້ໃຊ້ທີ່ມີຕົວຈິງ re:, ໃຊ້ຄໍານໍາຫນ້າ ຕົວໜັງສື:.

ການຄາດເດົາໃຫມ່ (ເອີ້ນວ່າ "ນາມແຝງ") ສາມາດຖືກກໍານົດ, ໂດຍໃຊ້ການປະສົມປະສານໃດໆທີ່ມີຢູ່
predicates ຫຼືນາມແຝງອື່ນໆ. ຄໍານິຍາມນາມແຝງເບິ່ງຄືວ່າ:

=

ໃນ revsetalias ພາກສ່ວນຂອງໄຟລ໌ການຕັ້ງຄ່າ Mercurial. ການໂຕ້ຖຽງຂອງແບບຟອມ $1,
$2, ແລະອື່ນໆແມ່ນທົດແທນຈາກນາມແຝງເຂົ້າໄປໃນຄໍານິຍາມ.

ຍົກ​ຕົວ​ຢ່າງ,

[revsetalias]
h = ຫົວ()
d($1) = sort($1, ວັນທີ)
rs($1, $2) = reverse(sort($1, $2))

ກໍານົດສາມນາມແຝງ, h, d, ແລະ rs. rs(0:ປາຍ, ຜູ້ຂຽນ) ແມ່ນແທ້ທຽບເທົ່າກັບ
reverse(sort(0:ປາຍ, ຜູ້ຂຽນ)).

ຕົວປະຕິບັດການ infix ## ສາ​ມາດ concatenate ສະ​ຕ​ຣິງ​ແລະ​ຕົວ​ລະ​ບຸ​ເປັນ​ຫນຶ່ງ​ສະ​ຕ​ຣິງ​. ຍົກ​ຕົວ​ຢ່າງ:

[revsetalias]
issue($1) = grep(r'\bissue[:]?' ## $1 ## r'\b|\bbug\(' ## $1 ## r'\)')

ບັນຫາ(1234​) ເທົ່າກັບ grep(r'\bissue[ :]?1234\b|\bbug\(1234\)') ໃນ​ກໍ​ລະ​ນີ​ນີ້. ນີ້
ກົງກັບ "ບັນຫາ 1234", "ບັນຫາ: 1234", "ບັນຫາ 1234" ແລະ "ບັນຫາທັງໝົດ"bug(1234) ".

ຜູ້ປະຕິບັດຄໍານໍາຫນ້າ, infix ແລະ postfix ອື່ນໆທັງຫມົດມີບູລິມະສິດຕ່ໍາກວ່າ ##ທີ່ຢູ່ ຍົກ​ຕົວ​ຢ່າງ, $1
## $ 2 ~ 2 ເທົ່າກັບ (1 ໂດລາ ## $2)~2.

ເສັ້ນຄໍາສັ່ງທຽບເທົ່າສໍາລັບ hg log:

-f -> ::.
-dx -> ວັນທີ(x)
-kx -> ຄໍາ​ສໍາ​ຄັນ (x​)
-m -> ລວມ()
-ux -> user(x)
-bx -> ສາຂາ(x)
-P x -> !::x
-lx -> limit(expr, x)

ບາງຄໍາຖາມຕົວຢ່າງ:

· ການປ່ຽນແປງໃນສາຂາເລີ່ມຕົ້ນ:

hg log -r "ສາຂາ(ຄ່າເລີ່ມຕົ້ນ)"

· ການ​ປ່ຽນ​ແປງ​ໃນ​ສາ​ຂາ​ເລີ່ມ​ຕົ້ນ​ນັບ​ຕັ້ງ​ແຕ່ tag 1.5 (ບໍ່​ລວມ​ທັງ​ການ​ລວມ​)​:

hg log -r "ສາຂາ(ຄ່າເລີ່ມຕົ້ນ) ແລະ 1.5:: ແລະບໍ່ລວມ()"

· ຫົວໜ້າສາຂາ:

hg log -r "head() ແລະບໍ່ປິດ()"

· ການປ່ຽນແປງລະຫວ່າງແທັກ 1.3 ແລະ 1.5 ທີ່ກ່າວເຖິງ "ບັກ" ທີ່ມີຜົນກະທົບ hgext/*:

hg log -r "1.3::1.5 ແລະ keyword(bug) and file('hgext/*')"

· ການປ່ຽນແປງທີ່ຕັ້ງໄວ້ໃນເດືອນພຶດສະພາ 2008, ຈັດຮຽງຕາມຜູ້ໃຊ້:

hg log -r "sort(date('ພຶດສະພາ 2008'), ຜູ້ໃຊ້)"

· ການປ່ຽນແປງທີ່ກ່າວເຖິງ "bug" ຫຼື "ບັນຫາ" ທີ່ບໍ່ຢູ່ໃນການປ່ອຍ tagged:

hg log -r "(keyword(bug) ຫຼື keyword(issue)) ແລະບໍ່ແມ່ນບັນພະບຸລຸດ(tag())"

ການ ນຳ ໃຊ້ MERCURIAL ຈາກ ສະຄຣິບ ແລະ AUTOMATION


ມັນເປັນເລື່ອງ ທຳ ມະດາທີ່ເຄື່ອງຈັກ (ກົງກັນຂ້າມກັບມະນຸດ) ທີ່ຈະບໍລິໂພກ Mercurial. ຫົວຂໍ້ຊ່ວຍເຫຼືອນີ້
ອະທິບາຍບາງການພິຈາລະນາສໍາລັບເຄື່ອງຈັກ interfacing ກັບ Mercurial.

ເລືອກ an ການໂຕ້ຕອບ
ເຄື່ອງຈັກມີທາງເລືອກຫຼາຍວິທີເພື່ອໂຕ້ຕອບກັບ Mercurial. ເຫຼົ່ານີ້ລວມມີ:

· ການ​ປະ​ຕິ​ບັດ​ hg ຂະບວນການ

· ການສອບຖາມເຄື່ອງແມ່ຂ່າຍ HTTP

· ໂທຫາເຄື່ອງແມ່ຂ່າຍຄໍາສັ່ງ

ການປະຕິບັດ hg ຂະບວນການຕ່າງໆແມ່ນຄ້າຍຄືກັນກັບວິທີການທີ່ມະນຸດພົວພັນກັບ Mercurial ໃນແກະ.
ມັນຄວນຈະຄຸ້ນເຄີຍກັບທ່ານແລ້ວ.

hg ບໍລິການ ສາມາດຖືກນໍາໃຊ້ເພື່ອເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ນີ້ຈະເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍ HTTP "hgweb".
ເຊີບເວີ HTTP ນີ້ຮອງຮັບຜົນຜະລິດທີ່ເຄື່ອງສາມາດອ່ານໄດ້, ເຊັ່ນ JSON. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ hg
ຊ່ວຍເຫຼືອ hgweb.

hg ບໍລິການ ຍັງສາມາດເລີ່ມຕົ້ນ "ເຄື່ອງແມ່ຂ່າຍຄໍາສັ່ງ." ລູກຄ້າສາມາດເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍແລະບັນຫານີ້
ຄຳສັ່ງ Mercurial ເໜືອໂປຣໂຕຄໍພິເສດ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບເຄື່ອງແມ່ຂ່າຍຄໍາສັ່ງ,
ລວມທັງການເຊື່ອມຕໍ່ກັບຫ້ອງສະຫມຸດລູກຄ້າ, ເບິ່ງ https://mercurial.selenic.com/wiki/CommandServer.

hg ບໍລິການ ການໂຕ້ຕອບທີ່ອີງໃສ່ (hgweb ແລະເຄື່ອງແມ່ຂ່າຍຄໍາສັ່ງ) ມີປະໂຫຍດຫຼາຍກວ່າງ່າຍດາຍ
hg ການຮຽກຮ້ອງຂະບວນການທີ່ພວກມັນມີແນວໂນ້ມທີ່ຈະມີປະສິດທິພາບຫຼາຍຂຶ້ນ. ນີ້ແມ່ນຍ້ອນວ່າມີ
ເໜືອຫົວທີ່ສຳຄັນທີ່ຈະສ້າງຂະບວນການ Python ໃໝ່.

ເຄັດ ລັບ ຖ້າ ຫາກ ວ່າ ທ່ານ ຈໍາ ເປັນ ຕ້ອງ invoke ຫຼາຍ hg ຂະບວນການໃນຄໍາສັ່ງສັ້ນແລະ / ຫຼືການປະຕິບັດແມ່ນ
ສິ່ງສໍາຄັນສໍາລັບທ່ານ, ການນໍາໃຊ້ການໂຕ້ຕອບຂອງເຄື່ອງແມ່ຂ່າຍແມ່ນແນະນໍາໃຫ້ສູງ.

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

HGPLAIN
ຖ້າບໍ່ໄດ້ຕັ້ງ, ຜົນຜະລິດຂອງ Mercurial ສາມາດໄດ້ຮັບອິດທິພົນຈາກການຕັ້ງຄ່າການຕັ້ງຄ່າທີ່
ຜົນກະທົບຕໍ່ການເຂົ້າລະຫັດ, ຮູບແບບ verbose, ທ້ອງຖິ່ນ, ແລະອື່ນໆ.

ມັນໄດ້ຖືກແນະນໍາໃຫ້ສູງສໍາລັບເຄື່ອງຈັກໃນການກໍານົດຕົວແປນີ້ໃນເວລາທີ່ invoking hg
ຂະບວນການ.

HGENCODING
ຖ້າບໍ່ໄດ້ຕັ້ງ, ສະຖານທີ່ທີ່ໃຊ້ໂດຍ Mercurial ຈະຖືກກວດພົບຈາກສະພາບແວດລ້ອມ. ຖ້າ
ທ້ອງຖິ່ນທີ່ຖືກກໍານົດບໍ່ສະຫນັບສະຫນູນການສະແດງຕົວອັກສອນທີ່ແນ່ນອນ, Mercurial ອາດຈະ
ສະແດງລໍາດັບຕົວອັກສອນເຫຼົ່ານີ້ບໍ່ຖືກຕ້ອງ (ມັກໃຊ້ "?" ເປັນຕົວຍຶດ
ສໍາລັບຕົວອັກສອນທີ່ບໍ່ຖືກຕ້ອງຢູ່ໃນທ້ອງຖິ່ນໃນປະຈຸບັນ).

ການຕັ້ງຄ່າຕົວປ່ຽນແປງສະພາບແວດລ້ອມນີ້ຢ່າງຊັດເຈນເປັນການປະຕິບັດທີ່ດີທີ່ຈະຮັບປະກັນ
ຜົນໄດ້ຮັບທີ່ສອດຄ່ອງ. "utf-8" ເປັນທາງເລືອກທີ່ດີໃນສະພາບແວດລ້ອມທີ່ຄ້າຍຄືກັບ UNIX.

HGRCPATH
ຖ້າບໍ່ໄດ້ຕັ້ງ, Mercurial ຈະສືບທອດທາງເລືອກ config ຈາກໄຟລ໌ config ໂດຍໃຊ້
ຂະ​ບວນ​ການ​ອະ​ທິ​ບາຍ​ໃນ​ hg ຊ່ວຍເຫຼືອ config. ນີ້ລວມມີການສືບທອດຜູ້ໃຊ້ ຫຼືທົ່ວລະບົບ
config ໄຟລ໌.

ໃນ​ເວ​ລາ​ທີ່​ການ​ຄວບ​ຄຸມ​ທີ່​ສຸດ​ໃນ​ການ​ຕັ້ງ​ຄ່າ Mercurial ແມ່ນ​ຕ້ອງ​ການ​, ມູນ​ຄ່າ​ຂອງ​
HGRCPATH ສາມາດຖືກຕັ້ງເປັນໄຟລ໌ທີ່ຊັດເຈນທີ່ມີການຕັ້ງຄ່າທີ່ດີທີ່ຮູ້ຈັກ. ໃນກໍລະນີທີ່ຫາຍາກ, ໄດ້
ຄ່າສາມາດຖືກຕັ້ງເປັນໄຟລ໌ເປົ່າຫຼືອຸປະກອນ null (ເລື້ອຍໆ / dev / null) ເພື່ອ bypass
ການໂຫຼດໄຟລ໌ config ຂອງຜູ້ໃຊ້ ຫຼືລະບົບໃດນຶ່ງ. ໃຫ້ສັງເກດວ່າວິທີການເຫຼົ່ານີ້ສາມາດມີ
ຜົນສະທ້ອນທີ່ບໍ່ໄດ້ຕັ້ງໃຈ, ຍ້ອນວ່າຜູ້ໃຊ້ແລະໄຟລ໌ config ລະບົບມັກຈະກໍານົດສິ່ງຕ່າງໆ
ຄືກັບຊື່ຜູ້ໃຊ້ ແລະສ່ວນຂະຫຍາຍທີ່ອາດຈະຕ້ອງການເພື່ອໂຕ້ຕອບກັບ a
repository

ການບໍລິໂພກ ຄໍາສັ່ງ ຜົນຜະລິດ
ມັນເປັນເລື່ອງ ທຳ ມະດາທີ່ເຄື່ອງຈັກ ຈຳ ເປັນຕ້ອງວິເຄາະຜົນຜະລິດຂອງ ຄຳ ສັ່ງ Mercurial ເພື່ອຄວາມກ່ຽວຂ້ອງ
ຂໍ້ມູນ. ພາກນີ້ອະທິບາຍເຕັກນິກຕ່າງໆສໍາລັບການເຮັດແນວນັ້ນ.

ກຳ ລັງທັບເຮືອ ວັດຖຸດິບ ຄໍາສັ່ງ ຜົນຜະລິດ
ອາດຈະເປັນການແກ້ໄຂທີ່ງ່າຍດາຍທີ່ສຸດແລະມີປະສິດທິພາບທີ່ສຸດສໍາລັບການບໍລິໂພກຜົນຜະລິດຄໍາສັ່ງແມ່ນງ່າຍດາຍ
ຂໍ hg ຄໍາສັ່ງຕາມທີ່ເຈົ້າຕ້ອງການເປັນຜູ້ໃຊ້ແລະວິເຄາະຜົນຜະລິດຂອງພວກເຂົາ.

ຜົນ​ຜະ​ລິດ​ຂອງ​ຄໍາ​ສັ່ງ​ຈໍາ​ນວນ​ຫຼາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ແຍກ​ຢ່າງ​ງ່າຍ​ດາຍ​ດ້ວຍ​ເຄື່ອງ​ມື​ເຊັ່ນ​:​ grep, sed, ແລະ ງຸ່ມ.

ຂໍ້ບົກຜ່ອງທີ່ມີທ່າແຮງກັບຜົນໄດ້ຮັບຄໍາສັ່ງ parsing ແມ່ນວ່າຜົນຜະລິດຂອງຄໍາສັ່ງສາມາດປ່ຽນແປງໄດ້
ເມື່ອ Mercurial ຖືກຍົກລະດັບ. ໃນຂະນະທີ່ Mercurial ໂດຍທົ່ວໄປແລ້ວພະຍາຍາມຢ່າງແຂງແຮງໃນດ້ານຫລັງ
ຄວາມເຂົ້າກັນໄດ້, ຜົນຜະລິດຄໍາສັ່ງບໍ່ປ່ຽນແປງບາງຄັ້ງ. ມີການທົດສອບອັດຕະໂນມັດຂອງທ່ານ
ປະຕິສໍາພັນກັບ hg ຄໍາສັ່ງແມ່ນແນະນໍາໂດຍທົ່ວໄປ, ແຕ່ມີຄວາມສໍາຄັນກວ່າເມື່ອ
ການວິເຄາະຜົນໄດ້ຮັບຄໍາສັ່ງ raw ແມ່ນມີສ່ວນຮ່ວມ.

ການນໍາໃຊ້ ແມ່ແບບ to ການຄວບຄຸມ ຜົນຜະລິດ
ຫຼາຍ​ຄົນ hg ຄໍາ​ສັ່ງ​ສະ​ຫນັບ​ສະ​ຫນູນ​ການ​ຜະ​ລິດ templatized ຜ່ານ​ -T/-- ແມ່ແບບ ການໂຕ້ຖຽງ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ
hg ຊ່ວຍເຫຼືອ ແມ່ແບບ.

ແມ່ແບບມີປະໂຫຍດສໍາລັບການຄວບຄຸມຜົນຜະລິດຢ່າງຈະແຈ້ງເພື່ອໃຫ້ທ່ານໄດ້ຮັບຂໍ້ມູນຢ່າງແທ້ຈິງ
ທ່ານ​ຕ້ອງ​ການ​ຮູບ​ແບບ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​ມັນ​. ຍົກ​ຕົວ​ຢ່າງ, log -T {node}\n ສາມາດໃຊ້ເພື່ອພິມ a
ບັນຊີລາຍຊື່ທີ່ຂັ້ນດ້ວຍເສັ້ນໃຫມ່ຂອງຂໍ້ການປ່ຽນແປງຂອງຂໍ້ກໍາຫນົດແທນທີ່ຈະເປັນຜົນຜະລິດທີ່ປັບແຕ່ງໂດຍມະນຸດປະກອບດ້ວຍ
ຜູ້ຂຽນ, ວັນທີ, ຄໍາອະທິບາຍ, ແລະອື່ນໆ.

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

ໄດ້ -T/-- ແມ່ແບບ argument ອະນຸຍາດໃຫ້ກໍານົດຮູບແບບທີ່ກໍານົດໄວ້ລ່ວງຫນ້າ. ເຮືອ Mercurial ກັບ
ຮູບແບບທີ່ເຄື່ອງສາມາດອ່ານໄດ້ json ແລະ xml, ເຊິ່ງສະຫນອງຜົນຜະລິດ JSON ແລະ XML, ຕາມລໍາດັບ.
ເຫຼົ່ານີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການຜະລິດຜົນຜະລິດທີ່ເຄື່ອງສາມາດອ່ານໄດ້.

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

ຮູບແບບເຫຼົ່ານີ້ອາດຈະສະແດງຜົນໄດ້ຮັບທີ່ບໍ່ຄາດຄິດໃນເວລາຈັດການກັບສິ່ງທີ່ແນ່ນອນ
ການເຂົ້າລະຫັດ. Mercurial ປະຕິບັດສິ່ງຕ່າງໆເຊັ່ນຊື່ໄຟລ໌ເປັນຊຸດຂອງ bytes ແລະ
ການເຮັດໃຫ້ລໍາດັບ byte ປົກກະຕິກັບ JSON ຫຼື XML ດ້ວຍການຕັ້ງຄ່າການເຂົ້າລະຫັດສະເພາະ
ສາມາດນໍາໄປສູ່ຄວາມແປກໃຈ.

ຄໍາສັ່ງ Server ຜົນຜະລິດ
ຖ້າໃຊ້ເຄື່ອງແມ່ຂ່າຍຄໍາສັ່ງເພື່ອໂຕ້ຕອບກັບ Mercurial, ທ່ານອາດຈະໃຊ້ທີ່ມີຢູ່ແລ້ວ
library/API ທີ່ຫຍໍ້ລາຍລະອຽດການປະຕິບັດຂອງເຊີບເວີຄຳສັ່ງ. ຖ້າເປັນດັ່ງນັ້ນ, ນີ້
ຊັ້ນການໂຕ້ຕອບອາດຈະປະຕິບັດການວິເຄາະສໍາລັບທ່ານ, ຊ່ວຍປະຢັດທ່ານໃນການປະຕິບັດມັນ
ຕົວທ່ານເອງ.

ຜົນຜະລິດ ວາຈາ
ຄໍາສັ່ງມັກຈະມີການສະແດງຜົນອອກມາແຕກຕ່າງກັນ, ເຖິງແມ່ນວ່າຮູບແບບທີ່ສາມາດອ່ານໄດ້ຂອງເຄື່ອງຈັກ
ໃຊ້ (ເຊັ່ນ -T json). ກຳລັງເພີ່ມ -v/-- verbose ແລະ --debug ການໂຕ້ຖຽງຂອງຄໍາສັ່ງສາມາດ
ເພີ່ມປະລິມານຂໍ້ມູນທີ່ເປີດເຜີຍໂດຍ Mercurial.

ວິທີທາງເລືອກໃນການເອົາຂໍ້ມູນທີ່ທ່ານຕ້ອງການແມ່ນໂດຍການລະບຸຕົວແບບຢ່າງຈະແຈ້ງ.

ອື່ນ ໆ ຫົວຂໍ້
ປັບປ່ຽນ
ຊຸດການດັດແກ້ແມ່ນພາສາສອບຖາມທີ່ເປັນປະໂຫຍດສໍາລັບການເລືອກຊຸດຂອງການແກ້ໄຂ.
ຄິດວ່າມັນເປັນ SQL ສໍາລັບບ່ອນເກັບມ້ຽນ Mercurial. Revsets ມີປະໂຫຍດສໍາລັບການສອບຖາມ
repositories ສໍາລັບຂໍ້ມູນສະເພາະ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສໍາລັບການຫຼາຍ.

share ການຂະຫຍາຍ
ໄດ້ share ສ່ວນຂະຫຍາຍໃຫ້ຟັງຊັນສໍາລັບການແລກປ່ຽນຂໍ້ມູນ repository ໃນທົ່ວ
ສຳເນົາການເຮັດວຽກຫຼາຍສະບັບ. ມັນຍັງສາມາດອັດຕະໂນມັດ "ສະນຸກເກີ" ການເກັບຮັກສາສໍາລັບເຫດຜົນ
repositories ທີ່ກ່ຽວຂ້ອງໃນເວລາທີ່ cloning.

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

ເບິ່ງ hg ຊ່ວຍເຫຼືອ -e share ສໍາລັບການຫຼາຍ.

ຫ້ອງການຍ່ອຍ


Subrepositories ຊ່ວຍໃຫ້ທ່ານສ້າງບ່ອນເກັບມ້ຽນພາຍນອກຫຼືໂຄງການເຂົ້າໄປໃນ Mercurial ພໍ່ແມ່
repository, ແລະເຮັດໃຫ້ຄໍາສັ່ງດໍາເນີນການກ່ຽວກັບພວກເຂົາເປັນກຸ່ມ.

ປະຈຸບັນ Mercurial ສະຫນັບສະຫນູນການເກັບຮັກສາຍ່ອຍ Mercurial, Git, ແລະ Subversion.

subrepositories ແມ່ນເຮັດຈາກສາມອົງປະກອບ:

1. ການກວດສອບບ່ອນເກັບມ້ຽນທີ່ຕັ້ງໄວ້. ພວກເຂົາສາມາດປາກົດຢູ່ບ່ອນໃດກໍໄດ້ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກຂອງພໍ່ແມ່.

2. Nested repository ອ້າງອິງ. ພວກເຂົາຖືກກໍານົດໄວ້ໃນ .hgsub, ທີ່ຄວນຈະຖືກຈັດໃສ່ໃນ
ຮາກຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ, ແລະບອກບ່ອນທີ່ checkouts subrepository ມາຈາກ.
ຄັງຍ່ອຍ Mercurial ແມ່ນອ້າງອີງເຊັ່ນ:

path/to/nested = https://example.com/nested/repo/path

Git ແລະ Subversion subrepos ຍັງສະຫນັບສະຫນູນ:

path/to/nested = [git]git://example.com/nested/repo/path
path/to/nested = [svn]https://example.com/nested/trunk/path

ບ່ອນທີ່ ເສັ້ນທາງ/ໄປ/ຮັງ ແມ່ນສະຖານທີ່ຈ່າຍເງິນທີ່ຂ້ອນຂ້າງກັບຮາກ Mercurial,
ແລະ https://example.com/nested/repo/path ແມ່ນເສັ້ນທາງການເກັບຮັກສາແຫຼ່ງ. ແຫຼ່ງສາມາດ
ຍັງອ້າງອີງເສັ້ນທາງລະບົບໄຟລ໌.

ໃຫ້ສັງເກດວ່າ .hgsub ບໍ່ມີຢູ່ໃນຄ່າເລີ່ມຕົ້ນໃນບ່ອນເກັບມ້ຽນ Mercurial, ທ່ານຕ້ອງ
ສ້າງ ແລະເພີ່ມມັນໃສ່ບ່ອນເກັບມ້ຽນຫຼັກ ກ່ອນທີ່ຈະໃຊ້ subrepositories.

3. Nested repository states. ພວກເຂົາຖືກກໍານົດໄວ້ໃນ .hgsubstate, ເຊິ່ງຖືກຈັດໃສ່ໃນຮາກ
ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ, ແລະເກັບກໍາຂໍ້ມູນໃດກໍ່ຕາມທີ່ຕ້ອງການເພື່ອຟື້ນຟູ
subrepositories ກັບລັດທີ່ເຂົາເຈົ້າໄດ້ສັນຍາຢູ່ໃນການປ່ຽນແປງ repository ພໍ່ແມ່.
Mercurial ອັດ ຕະ ໂນ ມັດ ບັນ ທຶກ ລັດ repositories nested ໃນ ເວ ລາ ທີ່ ຄໍາ ຫມັ້ນ ສັນ ຍາ ໃນ
ຄັງ​ເກັບ​ແມ່​.

ຫມາຍ​ເຫດ​
ໄດ້ .hgsubstate ໄຟລ໌ບໍ່ຄວນຖືກແກ້ໄຂດ້ວຍຕົນເອງ.

ເພີ່ມຕື່ມ a ຄັງເກັບຍ່ອຍ
If .hgsub ບໍ່ມີ, ສ້າງມັນແລະເພີ່ມມັນໃສ່ repository ພໍ່ແມ່. Clone ຫຼືຈ່າຍເງິນ
ໂຄງການພາຍນອກບ່ອນທີ່ທ່ານຕ້ອງການໃຫ້ມັນອາໄສຢູ່ໃນບ່ອນເກັບມ້ຽນຂອງພໍ່ແມ່. ແກ້ໄຂ .hgsub ແລະ
ຕື່ມການເຂົ້າ subrepository ດັ່ງທີ່ໄດ້ອະທິບາຍຂ້າງເທິງ. ໃນຈຸດນີ້, subrepository ແມ່ນ
ຕິດຕາມແລະຄໍາຫມັ້ນສັນຍາຕໍ່ໄປຈະບັນທຶກສະຖານະຂອງຕົນໃນ .hgsubstate ແລະຜູກມັດມັນກັບ
ສັນຍາການປ່ຽນແປງ.

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

ດັ່ງນັ້ນ, ການປັບປຸງ subrepos ແມ່ນຂະບວນການຄູ່ມື. ພຽງແຕ່ກວດເບິ່ງ subrepo ເປົ້າຫມາຍຢູ່ທີ່
ການແກ້ໄຂທີ່ຕ້ອງການ, ທົດສອບໃນ repo ລະດັບສູງສຸດ, ຫຼັງຈາກນັ້ນໃຫ້ຄໍາຫມັ້ນສັນຍາໃນ repository ພໍ່ແມ່ກັບ
ບັນທຶກການປະສົມປະສານໃຫມ່.

ລຶບ a ຄັງເກັບຍ່ອຍ
ເພື່ອເອົາ subrepository ອອກຈາກ repository ຫຼັກ, ລຶບການອ້າງອີງຂອງມັນອອກຈາກ .hgsub,
ຈາກນັ້ນເອົາໄຟລ໌ຂອງມັນອອກ.

ການພົວພັນຮ່ວມກັນ ກັບ ໂລກມະເລັງ ຄໍາສັ່ງ
ເພີ່ມ add ບໍ່ໄດ້ recurse ໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ. ຢ່າງໃດກໍຕາມ, ຖ້າ
ທ່ານລະບຸເສັ້ນທາງເຕັມຂອງໄຟລ໌ໃນ subrepo, ມັນຈະຖືກເພີ່ມເຖິງແມ່ນວ່າບໍ່ມີ
-S/--subrepos ລະບຸ. ຄັງຍ່ອຍຂອງ subversion ໃນປັດຈຸບັນແມ່ນງຽບໆ
ບໍ່ສົນໃຈ.

ລົບອອກ
addremove ບໍ່ recurse ເຂົ້າໄປໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ.
ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານລະບຸເສັ້ນທາງເຕັມຂອງໄດເລກະທໍລີໃນ subrepo, addremove ຈະ
ດໍາເນີນການກັບມັນເຖິງແມ່ນວ່າບໍ່ມີການລະບຸ -S/--subrepos. Git ແລະ Subversion
subrepositories ຈະພິມຄໍາເຕືອນແລະສືບຕໍ່.

ເກັບ
archive ບໍ່ recurse ໃນ subrepositories ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ.

cat ປະຈຸບັນ cat ພຽງແຕ່ຈັດການກັບການຈັບຄູ່ໄຟລ໌ທີ່ແນ່ນອນໃນ subrepos. ການໂຄ່ນລົ້ມ
subrepositories ປະຈຸບັນຖືກລະເລີຍ.

ຄໍາຫມັ້ນສັນຍາ commit ສ້າງພາບຖ່າຍທີ່ສອດຄ່ອງຂອງສະຖານະຂອງໂຄງການທັງຫມົດແລະຂອງມັນ
ຄັງເກັບຍ່ອຍ. ຖ້າບ່ອນເກັບຂໍ້ມູນຍ່ອຍໃດຖືກດັດແກ້, Mercurial ຈະຍົກເລີກ.
Mercurial ສາ​ມາດ​ເຮັດ​ໄດ້​ເພື່ອ​ແທນ​ທີ່​ຈະ​ໃຫ້​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ subrepositories ດັດ​ແກ້​ທັງ​ຫມົດ​ໂດຍ​ການ​ລະ​ບຸ​
-S/--subrepos, ຫຼືການຕັ້ງຄ່າ "ui.commitsubrepos=True" ໃນໄຟລ໌ການຕັ້ງຄ່າ (ເບິ່ງ hg
ຊ່ວຍເຫຼືອ config). ຫຼັງຈາກທີ່ບໍ່ມີບ່ອນເກັບຂໍ້ມູນຍ່ອຍທີ່ຖືກດັດແກ້ອີກຕໍ່ໄປ, ມັນຈະບັນທຶກ
ລັດຂອງເຂົາເຈົ້າແລະສຸດທ້າຍໄດ້ສັນຍາມັນຢູ່ໃນ repository ພໍ່ແມ່. ການ --addremove
ທາງ​ເລືອກ​ຍັງ​ໃຫ້​ກຽດ​ກັບ​ທາງ​ເລືອກ -S/--subrepos​. ຢ່າງໃດກໍຕາມ, Git ແລະ Subversion
subrepositories ຈະພິມຄໍາເຕືອນແລະຍົກເລີກ.

diff diff ບໍ່ໄດ້ເກີດຂຶ້ນໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ. ການປ່ຽນແປງແມ່ນ
ສະແດງຕາມປົກກະຕິ, ໃນອົງປະກອບຍ່ອຍຍ່ອຍ. subrepositories subversion ແມ່ນ
ປະຈຸບັນຖືກລະເລີຍຢ່າງງຽບໆ.

ໄຟ ໄຟລ໌ບໍ່ເກີດຂຶ້ນໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ. ແນວໃດກໍ່ຕາມ,
ຖ້າທ່ານລະບຸເສັ້ນທາງເຕັມຂອງໄຟລ໌ຫຼືໄດເລກະທໍລີໃນ subrepo, ມັນຈະເປັນ
ສະແດງເຖິງແມ່ນບໍ່ມີການລະບຸ -S/--subrepos. Git ແລະ Subversion
subrepositories ປະຈຸບັນຖືກລະເລີຍຢ່າງງຽບໆ.

ລືມ ປະຈຸບັນລືມພຽງແຕ່ຈັດການກັບການຈັບຄູ່ໄຟລ໌ທີ່ແນ່ນອນໃນ subrepos. Git ແລະ Subversion
subrepositories ປະຈຸບັນຖືກລະເລີຍຢ່າງງຽບໆ.

ເຂົ້າມາ
ຂາເຂົ້າຈະບໍ່ເກີດຂຶ້ນໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ. Git ແລະ
ປະຈຸບັນນີ້, ສະຖານທີ່ຍ່ອຍຂອງ subversion ແມ່ນຖືກລະເລີຍຢ່າງງຽບໆ.

ລາຍຈ່າຍ
ຂາອອກບໍ່ໄດ້ເກີດຂຶ້ນໃນ subrepos ເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ. Git ແລະ
ປະຈຸບັນນີ້, ສະຖານທີ່ຍ່ອຍຂອງ subversion ແມ່ນຖືກລະເລີຍຢ່າງງຽບໆ.

ດຶງ ດຶງແມ່ນບໍ່ recursive ເນື່ອງຈາກວ່າມັນບໍ່ຈະແຈ້ງວ່າຈະດຶງຫຍັງກ່ອນທີ່ຈະແລ່ນ hg ການປັບປຸງ
. ລາຍຊື່ແລະການດຶງຂໍ້ມູນການປ່ຽນແປງຂອງ subrepositories ທັງຫມົດທີ່ອ້າງອີງໂດຍພໍ່ແມ່
repository pulled changeets ແມ່ນລາຄາແພງທີ່ດີທີ່ສຸດ, ເປັນໄປບໍ່ໄດ້ໃນ Subversion
ກໍລະນີ.

ການຊຸກຍູ້ Mercurial ອັດຕະໂນມັດຈະຊຸກດັນໃຫ້ subrepositories ທັງຫມົດທໍາອິດໃນເວລາທີ່ພໍ່ແມ່
repository ກໍາລັງຖືກ pushed. ນີ້ຮັບປະກັນການປ່ຽນແປງ subrepository ໃຫມ່ທີ່ມີຢູ່
ເມື່ອອ້າງອີງໂດຍ repositories ລະດັບສູງສຸດ. Push ແມ່ນ no-op ສໍາລັບ Subversion
ຄັງເກັບຍ່ອຍ.

ສະຖານະພາບ ສະຖານະບໍ່ເກີດຂຶ້ນໃນບ່ອນເກັບຂໍ້ມູນຍ່ອຍ ເວັ້ນເສຍແຕ່ວ່າ -S/--subrepos ຈະຖືກລະບຸໄວ້.
ການ​ປ່ຽນ​ແປງ subrepository ແມ່ນ​ສະ​ແດງ​ເປັນ​ການ​ປ່ຽນ​ແປງ Mercurial ປົກ​ກະ​ຕິ​ກ່ຽວ​ກັບ​ການ
ອົງປະກອບຂອງ repository. ປະຈຸບັນນີ້, ສະຖານທີ່ຍ່ອຍຂອງ subversion ແມ່ນຖືກລະເລີຍຢ່າງງຽບໆ.

ເອົາ ເອົາອອກບໍ່ໄດ້ເກີດຂຶ້ນໃນ repositories ຍ່ອຍເວັ້ນເສຍແຕ່ -S/--subrepos ຖືກກໍານົດ.
ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານລະບຸເສັ້ນທາງໄຟລ໌ຫຼືໄດເລກະທໍລີໃນ subrepo, ມັນຈະຖືກລຶບອອກ
ເຖິງແມ່ນວ່າບໍ່ມີ -S/--subrepos. Git ແລະ Subversion subrepositories ແມ່ນປະຈຸບັນ
ບໍ່ສົນໃຈຢ່າງງຽບໆ.

ການປັບປຸງ ການປັບປຸງຟື້ນຟູ subrepos ໃນລັດທີ່ພວກເຂົາໄດ້ສັນຍາໄວ້ໃນຕອນຕົ້ນໃນເປົ້າຫມາຍ
ການປ່ຽນແປງ. ຖ້າຊຸດການປ່ຽນແປງທີ່ບັນທຶກໄວ້ບໍ່ມີຢູ່ໃນບ່ອນເກັບຂໍ້ມູນຍ່ອຍໃນປະຈຸບັນ,
Mercurial ຈະດຶງມັນເຂົ້າໄປໃນທໍາອິດກ່ອນທີ່ຈະປັບປຸງ. ນີ້ຫມາຍຄວາມວ່າການປັບປຸງສາມາດ
ຕ້ອງການການເຂົ້າເຖິງເຄືອຂ່າຍໃນເວລາທີ່ການນໍາໃຊ້ subrepositories.

ການສ້າງແຜນທີ່ຄືນໃໝ່ ຄັງເກັບຍ່ອຍ ແຫຼ່ງຂໍ້ມູນ
ສະຖານທີ່ແຫຼ່ງຂອງ subrepository ອາດຈະມີການປ່ຽນແປງໃນລະຫວ່າງອາຍຸໂຄງການ, ການອ້າງອິງບໍ່ຖືກຕ້ອງ
ເກັບໄວ້ໃນປະຫວັດການເກັບຂໍ້ມູນຫຼັກ. ເພື່ອແກ້ໄຂນີ້, ກົດລະບຽບການຂຽນຄືນໃຫມ່ສາມາດຖືກກໍານົດໄວ້ໃນ
ຄັງ​ເກັບ​ແມ່​ hgrc ໄຟລ໌ຫຼືໃນການຕັ້ງຄ່າ Mercurial. ເບິ່ງ [ເສັ້ນທາງຍ່ອຍ] ສ່ວນໃນ
hgrc(5) ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຕົວຢ່າງ ການນໍາໃຊ້


Mercurial ຊ່ວຍໃຫ້ທ່ານສາມາດປັບແຕ່ງຜົນຜະລິດຂອງຄໍາສັ່ງຜ່ານແມ່ແບບ. ທ່ານສາມາດບໍ່ວ່າຈະ
pass ໃນແມ່ແບບຫຼືເລືອກແບບແມ່ແບບທີ່ມີຢູ່ແລ້ວຈາກເສັ້ນຄໍາສັ່ງ, ຜ່ານ
-- ທາງ​ເລືອກ​ແມ່​ແບບ​.

ທ່ານສາມາດປັບແຕ່ງຜົນຜະລິດສໍາລັບຄໍາສັ່ງ "log-like": log, outgoing, incoming, tip,
ພໍ່ແມ່, ແລະຫົວຫນ້າ.

ບາງຮູບແບບໃນຕົວແມ່ນຫຸ້ມຫໍ່ດ້ວຍ Mercurial. ເຫຼົ່ານີ້ສາມາດໄດ້ຮັບການລະບຸໄວ້ກັບ hg log
--ແມ່ແບບ ບັນຊີລາຍຊື່. ຕົວຢ່າງການນໍາໃຊ້:

$hg log -r1.0::1.1 --template changelog

ແມ່ແບບເປັນຂໍ້ຄວາມ, ມີເຄື່ອງໝາຍເພື່ອເອີ້ນການຂະຫຍາຍຕົວແປ:

$hg log -r1 --ແມ່ແບບ "{node}\n"
b56ce7b07c52de7d5fd79fb89701ea538af65746

Strings ໃນ curly braces ເອີ້ນວ່າຄໍາສໍາຄັນ. ຄວາມພ້ອມຂອງຄໍາສໍາຄັນແມ່ນຂຶ້ນກັບ
ສະພາບການທີ່ແນ່ນອນຂອງແມ່ແບບ. ຄໍາສໍາຄັນເຫຼົ່ານີ້ແມ່ນປົກກະຕິແລ້ວສາມາດໃຊ້ໄດ້ສໍາລັບການສ້າງແບບຈໍາລອງ a
ຄໍາ​ສັ່ງ​ທີ່​ຄ້າຍ​ຄື​ບັນ​ທຶກ​:

activebookmark
ສາຍ. ບຸກມາກທີ່ເຄື່ອນໄຫວ, ຖ້າມັນເຊື່ອມໂຍງກັບຊຸດການປ່ຽນແປງ

ຜູ້​ປະ​ພັນ ສາຍ. ຜູ້ຂຽນທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂຂອງຊຸດການປ່ຽນແປງ.

ແບ່ງອອກເປັນສອງສ່ວນ ສາຍ. ການ​ປ່ຽນ​ແປງ​ສະ​ຖາ​ນະ​ພາບ bisection​.

bookmarks
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ບຸກມາກຕ່າງໆທີ່ກ່ຽວຂ້ອງກັບຊຸດການປ່ຽນແປງ. ຍັງຕັ້ງ 'active',
ຊື່ຂອງ bookmark ທີ່ໃຊ້ວຽກ.

ສາຂາ ສາຍ. ຊື່ຂອງສາຂາທີ່ຊຸດການປ່ຽນແປງໄດ້ສັນຍາໄວ້.

ການປ່ຽນແປງສຸດທ້າຍ
ຈຳນວນເຕັມ. ບັນພະບຸລຸດທັງຫມົດບໍ່ໄດ້ຢູ່ໃນໂຄດຄໍາສັ່ງຫຼ້າສຸດ.

ເດັກນ້ອຍ
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ເດັກ​ນ້ອຍ​ຂອງ​ການ​ປ່ຽນ​ແປງ​ໄດ້​.

ວັນ ຂໍ້ມູນວັນທີ. ວັນທີທີ່ຊຸດການປ່ຽນແປງຖືກສັນຍາ.

desc ສາຍ. ຂໍ້ຄວາມຂອງຄໍາອະທິບາຍຊຸດການປ່ຽນແປງ.

ຕ່າງກັນ
ສາຍ. ສະຖິຕິການປ່ຽນແປງທີ່ມີຮູບແບບຕໍ່ໄປນີ້: "ໄຟລ໌ທີ່ດັດແກ້:
+ ເພີ່ມ/- ເອົາເສັ້ນອອກ"

ພິເສດ ບັນຊີລາຍຊື່ຂອງ dicts ທີ່ມີລະຫັດ, ມູນຄ່າຂອງຊ່ອງ 'ພິເສດ' ຂອງການປ່ຽນແປງນີ້.

file_adds
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ໄຟລ໌ທີ່ເພີ່ມໂດຍຊຸດການປ່ຽນແປງນີ້.

file_copies
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ໄຟລ໌ທີ່ສຳເນົາໄວ້ໃນຊຸດການປ່ຽນແປງນີ້ດ້ວຍແຫຼ່ງທີ່ມາຂອງພວກມັນ.

file_copies_switch
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ເຊັ່ນດຽວກັນກັບ "file_copies" ແຕ່ສະແດງພຽງແຕ່ຖ້າປຸ່ມ --copied switch
ຕັ້ງ.

file_dels
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ໄຟລ໌ທີ່ລຶບອອກໂດຍຊຸດການປ່ຽນແປງນີ້.

file_mods
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ໄຟລ໌ດັດແກ້ໂດຍຊຸດການປ່ຽນແປງນີ້.

ໄຟ ລາຍຊື່ສະຕຣິງ. ໄຟລ໌ທັງໝົດຖືກແກ້ໄຂ, ເພີ່ມ ຫຼືເອົາອອກໂດຍຊຸດການປ່ຽນແປງນີ້.

graphnode
ສາຍ. ຕົວອັກສອນທີ່ເປັນຕົວແທນຂອງ node changeset ໃນກຣາບການດັດແກ້ ASCII

ແທັກຫຼ້າສຸດ
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. tags ທົ່ວໂລກກ່ຽວກັບບັນພະບຸລຸດ tagged ທົ່ວໂລກຫຼ້າສຸດຂອງ
ຊຸດ​ການ​ປ່ຽນ​ແປງ​ນີ້​.

ໄລ​ຍະ​ທາງ​ສຸດ​ທ້າຍ​
ຈຳນວນເຕັມ. ເສັ້ນທາງຍາວທີ່ສຸດໄປຫາແທັກຫຼ້າສຸດ.

namespaces
ຄໍາສັ່ງຂອງບັນຊີລາຍຊື່. ຊື່ທີ່ຕິດກັບຊຸດການປ່ຽນແປງນີ້ຕໍ່ namespace.

node ສາຍ. ການກໍານົດຕົວກໍານົດການປ່ຽນແປງ, ເປັນ 40 ສະຕຣິງເລກຖານສິບຫົກ.

p1node ສາຍ. hash ການລະບຸຕົວຕົນຂອງພໍ່ແມ່ທໍາອິດຂອງ changeset, ເປັນ 40 ຕົວເລກ
ສະຕຣິງເລກຖານສິບຫົກ. ຖ້າຊຸດການປ່ຽນແປງບໍ່ມີພໍ່ແມ່, ຕົວເລກທັງໝົດແມ່ນ 0.

p1rev ຈຳນວນເຕັມ. repository-local revision number of the changeset first parent , ຫຼື
-1 ຖ້າຊຸດການປ່ຽນແປງບໍ່ມີພໍ່ແມ່.

p2node ສາຍ. hash ການລະບຸຕົວຕົນຂອງພໍ່ແມ່ທີສອງຂອງ changeset, ເປັນ 40 ຕົວເລກ
ສະຕຣິງເລກຖານສິບຫົກ. ຖ້າຊຸດການປ່ຽນແປງບໍ່ມີຕົວທີສອງ, ຕົວເລກທັງຫມົດແມ່ນ 0.

p2rev ຈຳນວນເຕັມ. repository-local revision number of the second parentset of change, or
-1 ຖ້າຊຸດການປ່ຽນແປງບໍ່ມີພໍ່ແມ່ທີສອງ.

ພໍ່ແມ່
ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ພໍ່ແມ່ຂອງຊຸດການປ່ຽນແປງໃນຮູບແບບ "rev:node". ຖ້າ
changeset ມີພຽງແຕ່ຫນຶ່ງ "ທໍາມະຊາດ" ພໍ່ແມ່ (ການປັບປຸງ predecessor) ບໍ່ມີຫຍັງເປັນ
ສະແດງໃຫ້ເຫັນ.

ໂຄງການໄລຍະ ສາຍ. ໄລຍະການປ່ຽນຊື່.

phaseidx
ຈຳນວນເຕັມ. ດັດຊະນີໄລຍະການປ່ຽນແປງ.

ຈຳນວນເຕັມ. ໝາຍເລກດັດແກ້ repository-local changeset.

subrepos
ລາຍຊື່ສະຕຣິງ. ປັບປຸງບ່ອນເກັບຂໍ້ມູນຍ່ອຍໃນຊຸດການປ່ຽນແປງ.

tags ບັນຊີລາຍຊື່ຂອງສະຕຣິງ. ແທັກໃດໆທີ່ກ່ຽວຂ້ອງກັບຊຸດການປ່ຽນແປງ.

ຄໍາຫລັກ "ວັນທີ" ບໍ່ໄດ້ຜະລິດຜົນຜະລິດທີ່ມະນຸດສາມາດອ່ານໄດ້. ຖ້າທ່ານຕ້ອງການໃຊ້ວັນທີໃນ
ຜົນຜະລິດຂອງທ່ານ, ທ່ານສາມາດນໍາໃຊ້ຕົວກອງເພື່ອປຸງແຕ່ງມັນ. ການກັ່ນຕອງແມ່ນຫນ້າທີ່ສົ່ງຄືນ a
ສະຕຣິງໂດຍອີງໃສ່ຕົວແປການປ້ອນຂໍ້ມູນ. ໃຫ້ແນ່ໃຈວ່າໃຊ້ຕົວກອງ stringify ທໍາອິດໃນເວລາທີ່ທ່ານຢູ່
ນຳໃຊ້ຕົວກອງການປ້ອນຂໍ້ມູນສະຕຣິງໃສ່ຕົວແປການປ້ອນຂໍ້ມູນແບບລາຍຊື່. ນອກນັ້ນທ່ານຍັງສາມາດນໍາໃຊ້ລະບົບຕ່ອງໂສ້ຂອງ
ການກັ່ນຕອງເພື່ອໃຫ້ໄດ້ຜົນຜະລິດທີ່ຕ້ອງການ:

$ hg tip --ແມ່ແບບ "{date|isodate}\n"
2008-08-21 18:22 +0000

ລາຍຊື່ຕົວກອງ:

addbreaks
ຂໍ້ຄວາມໃດໆ. ເພີ່ມ XHTML " " tag ກ່ອນທີ່ຈະສິ້ນສຸດຂອງທຸກແຖວຍົກເວັ້ນສຸດທ້າຍ.

ອາຍຸສູງສຸດ ວັນທີ. ສົ່ງຄືນຄວາມແຕກຕ່າງລະຫວ່າງວັນທີ/ເວລາທີ່ມະນຸດສາມາດອ່ານໄດ້ລະຫວ່າງວັນທີ/ເວລາ ແລະ
ວັນທີ/ເວລາປະຈຸບັນ.

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

ນັບ ລາຍຊື່ຫຼືຂໍ້ຄວາມ. ຕອບຄວາມຍາວເປັນຈຳນວນເຕັມ.

ໂດເມນ ຂໍ້ຄວາມໃດໆ. ຊອກຫາ string ທໍາອິດທີ່ຄ້າຍຄືທີ່ຢູ່ອີເມວ, ແລະສະກັດ
ພຽງແຕ່ອົງປະກອບໂດເມນ. ຕົວຢ່າງ: ຜູ້​ໃຊ້ <[email protected]> ກາຍເປັນ example.com.

ອີ​ເມວ ຂໍ້ຄວາມໃດໆ. ສະກັດສະຕຣິງທຳອິດທີ່ຄ້າຍຄືກັບທີ່ຢູ່ອີເມວ. ຕົວຢ່າງ: ຜູ້​ໃຊ້
<[email protected]> ກາຍເປັນ [email protected].

ຜູ້ໃຊ້ອີເມລ໌
ຂໍ້ຄວາມໃດໆ. ສົ່ງຄືນສ່ວນຂອງຜູ້ໃຊ້ຂອງທີ່ຢູ່ອີເມວ.

escape ຂໍ້ຄວາມໃດໆ. ແທນທີ່ຕົວອັກສອນ XML/XHTML ພິເສດ "&", "<" ແລະ ">" ດ້ວຍ XML
entities, ແລະການກັ່ນຕອງອອກ NUL ຕົວອັກສອນ.

ຕື່ມ68 ຂໍ້ຄວາມໃດໆ. ຫໍ່ຂໍ້ຄວາມໃຫ້ພໍດີກັບ 68 ຖັນ.

ຕື່ມ76 ຂໍ້ຄວາມໃດໆ. ຫໍ່ຂໍ້ຄວາມໃຫ້ພໍດີກັບ 76 ຖັນ.

ແຖວທຳອິດ
ຂໍ້ຄວາມໃດໆ. ສົ່ງຄືນແຖວທຳອິດຂອງຂໍ້ຄວາມ.

hex ຂໍ້ຄວາມໃດໆ. ແປງຕົວລະບຸໂນດ Mercurial binary ເປັນເລກຖານສິບຫົກຍາວຂອງມັນ
ການເປັນຕົວແທນ.

hgdate ວັນທີ. ຕອບວັນທີເປັນຄູ່ຂອງຕົວເລກ: "1157407993 25200" (Unix timestamp,
ເຂດເວລາຊົດເຊີຍ).

isodate
ວັນທີ. ຕອບວັນທີໃນຮູບແບບ ISO 8601: "2009-08-18 13:00 +0200".

isodatesec
ວັນທີ. ຕອບວັນທີໃນຮູບແບບ ISO 8601, ລວມທັງວິນາທີ: "2009-08-18 13:00:13.
+0200". ເບິ່ງຕົວກອງ rfc3339date ນຳ.

ຕ່ໍາ ຂໍ້ຄວາມໃດໆ. ປ່ຽນຂໍ້ຄວາມໃຫ້ເປັນຕົວພິມນ້ອຍ.

ຫວ່າງເປົ່າ
ຂໍ້ຄວາມໃດໆ. ຕອບ '(none)' ຖ້າສະຕຣິງຫວ່າງເປົ່າ.

ອວບນ້ ຳ
ຂໍ້ຄວາມໃດໆ. ສົ່ງຄືນການປ້ອນຂໍ້ມູນທີ່ສະແດງເປັນລຳດັບຂອງຫົວໜ່ວຍ XML.

ບຸກຄົນ ຂໍ້ຄວາມໃດໆ. ສົ່ງຄືນຊື່ກ່ອນທີ່ຢູ່ອີເມວ, ຕີຄວາມໝາຍຕາມ RFC
5322​.

ກູ້​ຄືນ
ຂໍ້ຄວາມໃດໆ. ໜີອອກຈາກຕົວອັກສອນ "ພິເສດ" ທັງໝົດ, ຍົກເວັ້ນ @. ເລື່ອນໄປຂ້າງໜ້າຖືກຫລົບໜີ
ສອງຄັ້ງເພື່ອປ້ອງກັນບໍ່ໃຫ້ເຊີບເວີເວັບບໍ່ລອດກ່ອນໄວອັນຄວນ. ຕົວຢ່າງ, "@foo
bar/baz" ກາຍເປັນ "@foo%20bar%252Fbaz".

rfc3339 ວັນທີ
ວັນທີ. ຕອບວັນທີໂດຍໃຊ້ຮູບແບບວັນທີອິນເຕີເນັດທີ່ລະບຸໄວ້ໃນ RFC 3339:
"2009-08-18T13:00:13+02:00".

rfc822 ວັນທີ
ວັນທີ. ຕອບວັນທີໂດຍໃຊ້ຮູບແບບດຽວກັນທີ່ໃຊ້ໃນສ່ວນຫົວຂອງອີເມວ: "ວັນອັງຄານ, 18 ສິງຫາ 2009
13:00:13 +0200".

ສັ້ນ ການປ່ຽນແປງຊຸດ hash. ໃຫ້ຜົນເປັນຮູບແບບສັ້ນຂອງແທັບການປ່ຽນແປງ, ເຊັ່ນ: ເລກຖານສິບຫົກ
ຕົວເລກ.

ຫຍໍ້
ຂໍ້ຄວາມໃດໆ. ການປິ່ນປົວ ຂໍ້ຄວາມ ເປັນສະຖານະ bisection, ແລະສົ່ງຄືນລັກສະນະດຽວ
ເປັນຕົວແທນຂອງສະຖານະພາບ (G: ດີ, B: ບໍ່ດີ, S: ຂ້າມ, U: untested, I: ignored).
ຕອບພື້ນທີ່ດຽວຖ້າ ຂໍ້ຄວາມ ບໍ່ແມ່ນສະຖານະ bisection ທີ່ຖືກຕ້ອງ.

ສັ້ນ
ວັນທີ. ຕອບວັນທີເຊັ່ນ "2006-09-18".

ເສັ້ນແບ່ງ
ຂໍ້ຄວາມໃດໆ. ແຍກຂໍ້ຄວາມເຂົ້າໄປໃນບັນຊີລາຍຊື່ຂອງແຖວ.

stringify
ປະເພດໃດກໍໄດ້. ປ່ຽນຄ່າເປັນຂໍ້ຄວາມໂດຍການປ່ຽນຄ່າເປັນຂໍ້ຄວາມ ແລະ
concatenating ເຂົາເຈົ້າ.

ເສັ້ນດ່າງ
ປະຕິບັດຂໍ້ຄວາມເປັນເສັ້ນທາງແລະລອກເອົາລະດັບໄດເລກະທໍລີ, ຖ້າເປັນໄປໄດ້. ຕົວຢ່າງ, "foo"
ແລະ "foo/bar" ກາຍເປັນ "foo".

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

ເທິງ ຂໍ້ຄວາມໃດໆ. ປ່ຽນຂໍ້ຄວາມໃຫ້ເປັນຕົວພິມໃຫຍ່.

urlescape
ຂໍ້ຄວາມໃດໆ. ໜີອອກຈາກຕົວອັກສອນ "ພິເສດ" ທັງໝົດ. ຕົວຢ່າງ, "foo bar" ກາຍເປັນ
"foo%20bar".

ຜູ້ໃຊ້ ຂໍ້ຄວາມໃດໆ. ສົ່ງຄືນການເປັນຕົວແທນສັ້ນໆຂອງຊື່ຜູ້ໃຊ້ ຫຼືທີ່ຢູ່ອີເມວ.

ໃຫ້ສັງເກດວ່າການກັ່ນຕອງແມ່ນບໍ່ມີຫຍັງນອກເຫນືອການເອີ້ນຟັງຊັນ, ie expr|ການກັ່ນຕອງ ທຽບເທົ່າ
to ການກັ່ນຕອງ (expr).

ນອກ ເໜືອ ໄປຈາກຕົວກອງ, ມີບາງ ໜ້າ ທີ່ພື້ນຖານໃນຕົວ:

ວັນທີ(date[, fmt])
ຈັດຮູບແບບວັນທີ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບການຈັດຮູບແບບສະຕຣິງ. ຄ່າເລີ່ມຕົ້ນແມ່ນວັນທີ Unix
format, including the timezone: "ວັນຈັນ ວັນທີ 04:15:13 13 2006".

diff([ລວມເອົາຮູບແບບ [, ບໍ່ລວມຮູບແບບ]])
ສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງ, ເປັນທາງເລືອກທີ່ຈະລະບຸໄຟລ໌ທີ່ຈະລວມຫຼືຍົກເວັ້ນ.

ຕື່ມຂໍ້ມູນໃສ່(ຂໍ້ຄວາມ[, ຄວາມກວ້າງ[, ຂໍ້ມູນເບື້ອງຕົ້ນ[, hangindent]]])
ຕື່ມຂໍ້ມູນໃສ່ຫຼາຍວັກດ້ວຍການຫຍໍ້ໜ້າທາງເລືອກ. ເບິ່ງຕົວກອງ "ຕື່ມ".

get(dict, ທີ່ສໍາຄັນ)
ເອົາຄຸນລັກສະນະ/ກະແຈຈາກວັດຖຸ. ບາງຄໍາແມ່ນປະເພດສະລັບສັບຊ້ອນ. ຟັງຊັນນີ້
ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບມູນຄ່າຂອງຄຸນລັກສະນະຂອງປະເພດເຫຼົ່ານີ້.

ຖ້າ(expr, ແລ້ວ[, ອື່ນ])
ປະຕິບັດຕາມເງື່ອນໄຂໂດຍອີງໃສ່ຜົນຂອງການສະແດງອອກ.

ifcontains(ຄົ້ນຫາ, ສິ່ງ, ແລ້ວ[, ອື່ນ])
ປະຕິບັດຕາມເງື່ອນໄຂໂດຍອີງໃສ່ວ່າລາຍການ "ຄົ້ນຫາ" ແມ່ນຢູ່ໃນ "ສິ່ງ".

ifeq(expr1, expr2, ແລ້ວ[, ອື່ນ])
ປະຕິບັດຕາມເງື່ອນໄຂໂດຍອີງໃສ່ວ່າ 2 ລາຍການແມ່ນທຽບເທົ່າຫຼືບໍ່.

ຫຍໍ້ໜ້າ(ຂໍ້ຄວາມ, indentchars[, ແຖວທໍາອິດ])
ຫຍໍ້ໜ້າແຖວທີ່ບໍ່ຫວ່າງທັງໝົດດ້ວຍຕົວອັກສອນທີ່ໃຫ້ຢູ່ໃນສະຕຣິງ indentchars. ອັນ
ຕົວກໍານົດການທີສາມທາງເລືອກຈະ override indent ສໍາລັບແຖວທໍາອິດພຽງແຕ່ຖ້າຫາກວ່າ
ປະຈຸບັນ.

ເຂົ້າຮ່ວມ (ບັນຊີລາຍຊື່, ກັນຍາ)
ເຂົ້າຮ່ວມລາຍການໃນລາຍຊື່ທີ່ມີຕົວຂັ້ນ.

ປ້າຍກຳກັບ(ປ້າຍກຳກັບ, expr)
ນຳໃຊ້ປ້າຍກຳກັບໃສ່ເນື້ອຫາທີ່ສ້າງຂຶ້ນ. ເນື້ອຫາທີ່ມີປ້າຍກຳກັບນຳໃຊ້ສາມາດສົ່ງຜົນໃຫ້
ເພີ່ມເຕີມຫຼັງການປຸງແຕ່ງ, ເຊັ່ນ: ສີອັດຕະໂນມັດ.

ແທັກຫຼ້າສຸດ([ຮູບແບບ])
ແທັກທົ່ວໂລກທີ່ກົງກັບຮູບແບບທີ່ລະບຸໄວ້ໃນແທັກທົ່ວໂລກຫຼ້າສຸດ
ບັນພະບຸລຸດຂອງຊຸດການປ່ຽນແປງນີ້.

localdate(ວັນທີ[, tz])
ປ່ຽນວັນທີເປັນເຂດເວລາກຳນົດ. ຄ່າເລີ່ມຕົ້ນແມ່ນວັນທີທ້ອງຖິ່ນ.

pad (ຂໍ້ຄວາມ, ຄວາມກວ້າງ[, fillchar=' '[ , right=False]])
ແຜ່ນຂໍ້ຄວາມທີ່ມີຕົວອັກສອນຕື່ມ.

revset(ສອບຖາມ[, formatargs...])
ປະຕິບັດການສອບຖາມທີ່ກໍານົດໄວ້ການແກ້ໄຂ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ປັບໃໝ່.

rsdoc(ຂໍ້ຄວາມ, ແບບ)
ຮູບແບບຂໍ້ຄວາມທີ່ມີໂຄງສ້າງ.

ສັ້ນທີ່ສຸດ (ຂໍ້, ຄວາມຍາວນາທີ=4)
ໄດ້​ຮັບ​ການ​ເປັນ​ຕົວ​ແທນ​ສັ້ນ​ທີ່​ສຸດ​ຂອງ node​.

ເລີ່ມຕົ້ນດ້ວຍ (ຮູບແບບ, ຂໍ້​ຄວາມ)
ຕອບຄ່າຈາກການໂຕ້ຖຽງ "ຂໍ້ຄວາມ" ຖ້າມັນເລີ່ມຕົ້ນດ້ວຍເນື້ອຫາຈາກ
"ຮູບແບບ" ການໂຕ້ຖຽງ.

ແຖບ(ຂໍ້ຄວາມ[, ຕົວອັກສອນ])
ຖອດຕົວອັກສອນຈາກສະຕຣິງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການຕັດສ່ວນທີ່ນຳໜ້າ ແລະ ຕິດຕາມທັງໝົດອອກ
ຊ່ອງຫວ່າງ.

ຍ່ອຍ (ຮູບແບບ, ການ​ທົດ​ແທນ​, ການສະແດງອອກ)
ປະຕິບັດການທົດແທນຂໍ້ຄວາມໂດຍໃຊ້ສໍານວນປົກກະຕິ.

ຄໍາ (ຈໍານວນ, ຂໍ້​ຄວາມ[, ແຍກ])
ສົ່ງຄືນຄຳທີ n ຈາກສະຕຣິງ.

ນອກຈາກນັ້ນ, ສໍາລັບການສະແດງອອກໃດໆທີ່ສົ່ງຄືນບັນຊີລາຍຊື່, ມີຕົວປະຕິບັດລາຍຊື່:

expr % "{ແມ່ແບບ}"

ດັ່ງທີ່ເຫັນໃນຕົວຢ່າງຂ້າງເທິງ, {ແມ່ແບບ} ຖືກຕີຄວາມວ່າເປັນແມ່ແບບ. ເພື່ອປ້ອງກັນມັນຈາກ
ຖືກຕີຄວາມ ໝາຍ, ທ່ານສາມາດນໍາໃຊ້ຕົວລະຄອນຫລົບຫນີ \{ ຫຼືຄຳນຳໜ້າສະຕຣິງດິບ, r'...'.

ບາງແມ່ແບບແຖວຄໍາສັ່ງຕົວຢ່າງ:

· ບັນຊີລາຍຊື່ຮູບແບບ, ເຊັ່ນ: ໄຟລ໌:

$hg log -r 0 --template "files:\n{files %' {file}\n'}"

·ເຂົ້າຮ່ວມບັນຊີລາຍຊື່ຂອງໄຟລ໌ທີ່ມີ ",":

$hg log -r 0 --template "files: {join(files, ', ')}\n"

· ແກ້ໄຂແຕ່ລະແຖວຂອງຄຳອະທິບາຍຄຳໝັ້ນສັນຍາ:

$hg ບັນທຶກ --ແມ່ແບບ "{splitlines(desc) % '**** {line}\n'}"

· ວັນທີຮູບແບບ:

$hg log -r 0 --ແມ່ແບບ "{date(date, '%Y')}\n"

·ສະແດງວັນທີໃນ UTC:

$hg log -r 0 --ແມ່ແບບ "{localdate(date, 'UTC')|date}\n"

· ອອກ​ຄໍາ​ອະ​ທິ​ບາຍ​ທີ່​ກໍາ​ນົດ​ໄວ້​ເປັນ​ຕື່ມ​ຂໍ້​ມູນ​ຄວາມ​ກວ້າງ​ຂອງ 30​:

$hg log -r 0 --ແມ່ແບບ "{fill(desc, 30)}"

· ໃຊ້ເງື່ອນໄຂເພື່ອທົດສອບສາຂາເລີ່ມຕົ້ນ:

$hg log -r 0 --template "{ifeq(branch, 'default', 'on the main branch',
'ຢູ່ສາຂາ {branch}')}\n"

· ຕື່ມແຖວໃໝ່ຖ້າບໍ່ຫວ່າງ:

$ hg tip --template "{if(author, '{author}\n')}"

· ໃສ່ປ້າຍກຳກັບຜົນຜະລິດເພື່ອໃຊ້ກັບສ່ວນຂະຫຍາຍສີ:

$hg log -r 0 --template "{label('changeset.{phase}', node|short)}\n"

· ປີ້ນຕົວກອງທຳອິດ, ເຊັ່ນ: ທຸກຢ່າງແຕ່ແຖວທຳອິດ:

$hg log -r 0 --ແມ່ແບບ "{sub(r'^.*\n?\n?', '', desc)}\n"

·​ສະ​ແດງ​ເນື້ອ​ໃນ​ຂອງ​ພາກ​ສະ​ຫນາມ 'ພິ​ເສດ​'​, ຫນຶ່ງ​ຕໍ່​ແຖວ​:

$hg log -r 0 --template "{join(extras, '\n')}\n"

·ໝາຍບຸກມາກທີ່ເຄື່ອນໄຫວດ້ວຍ '*':

$hg log --template "{bookmarks % '{bookmark}{ifeq(bookmark, active, '*')} '}\n"

· ຊອກ​ຫາ​ໂຄດ​ຄໍາ​ສັ່ງ​ການ​ປ່ອຍ​ທີ່​ຜ່ານ​ມາ​, ໄລ​ຍະ​ຫ່າງ​ແລະ​ການ​ປ່ຽນ​ແປງ​ນັບ​ຕັ້ງ​ແຕ່​ໂຄດ​ຄໍາ​ສັ່ງ​:

$ hg ບັນທຶກ -r . --ແມ່ແບບ "{latesttag('re:^.*-rc$') %'{tag}, {changes}, {distance}'}\n"

· ໝາຍສຳເນົາທີ່ເຮັດວຽກດ້ວຍ '@':

$hg log --ແມ່ແບບ "{ifcontains(rev, revset('.'), '@')}\n"

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ລາຍ​ລະ​ອຽດ​ຂອງ​ການ​ດັດ​ແກ້​ຂອງ​ພໍ່​ແມ່​:

$hg log --ແມ່ແບບ "{revset('parents(%d)', rev) %'{desc|firstline}\n'}"

· ສະ​ແດງ​ໃຫ້​ເຫັນ​ພຽງ​ແຕ່​ຄໍາ​ອະ​ທິ​ບາຍ​ທີ່​ເລີ່ມ​ຕົ້ນ​ດ້ວຍ "ແມ່​ແບບ​"​:

$hg ບັນທຶກ --ແມ່ແບບ "{startswith('template', firstline(desc))}\n"

·ພິມຄໍາທໍາອິດຂອງແຕ່ລະແຖວຂອງຂໍ້ຄວາມທີ່ຫມັ້ນສັນຍາ:

$hg log --ແມ່ແບບ "{word(0, desc)}\n"

URL ເສັ້ນທາງ


URL ທີ່ຖືກຕ້ອງແມ່ນຢູ່ໃນຮູບແບບ:

local/filesystem/path[#revision]
file://local/filesystem/path[#revision]
http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
ssh://[user@]host[:port]/[path][#revision]

ເສັ້ນທາງໃນລະບົບໄຟລ໌ທ້ອງຖິ່ນສາມາດຊີ້ໄປຫາບ່ອນເກັບມ້ຽນ Mercurial ຫຼືເພື່ອມັດ
ໄຟລ໌ (ທີ່ສ້າງຂຶ້ນໂດຍ hg ມັດ or hg ເຂົ້າມາ --ມັດ). ເບິ່ງຕື່ມ hg ຊ່ວຍເຫຼືອ ເສັ້ນທາງ.

ຕົວລະບຸທາງເລືອກຫຼັງຈາກ # ຊີ້ໃຫ້ເຫັນສາຂາສະເພາະ, ແທັກ, ຫຼືຊຸດການປ່ຽນແປງທີ່ຈະໃຊ້
ຈາກ repository ຫ່າງໄກສອກຫຼີກ. ເບິ່ງນຳ hg ຊ່ວຍເຫຼືອ ການແກ້ໄຂ.

ຄຸນສົມບັດບາງຢ່າງ, ເຊັ່ນການຊຸກຍູ້ໄປຫາ http:// ແລະ https:// URLs ແມ່ນເປັນໄປໄດ້ພຽງແຕ່ຖ້າ
ຄຸນສົມບັດຖືກເປີດໃຊ້ຢ່າງຈະແຈ້ງໃນເຊີບເວີ Mercurial ໄລຍະໄກ.

ໃຫ້ສັງເກດວ່າຄວາມປອດໄພຂອງ HTTPS URLs ແມ່ນຂຶ້ນກັບການຕັ້ງຄ່າທີ່ເຫມາະສົມຂອງ web.cacerts.

ຂໍ້ສັງເກດບາງຢ່າງກ່ຽວກັບການໃຊ້ SSH ກັບ Mercurial:

· SSH ຕ້ອງການບັນຊີ shell ທີ່ສາມາດເຂົ້າເຖິງໄດ້ໃນເຄື່ອງປາຍທາງແລະສໍາເນົາ hg in
ເສັ້ນທາງຫ່າງໄກສອກຫຼີກຫຼືກໍານົດດ້ວຍ remotecmd.

· ເສັ້ນ​ທາງ​ແມ່ນ​ກ່ຽວ​ຂ້ອງ​ກັບ​ລະ​ບົບ​ເຮືອນ​ຂອງ​ຜູ້​ໃຊ້​ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​ໂດຍ​ການ​ເລີ່ມ​ຕົ້ນ​. ໃຊ້ slash ພິເສດຢູ່ທີ່
ການເລີ່ມຕົ້ນຂອງເສັ້ນທາງທີ່ຈະລະບຸເສັ້ນທາງຢ່າງແທ້ຈິງ:

ssh://example.com//tmp/repository

· Mercurial ບໍ່ໄດ້ໃຊ້ການບີບອັດຂອງຕົນເອງຜ່ານ SSH; ສິ່ງທີ່ຖືກຕ້ອງທີ່ຈະເຮັດແມ່ນການຕັ້ງຄ່າ
ມັນຢູ່ໃນຂອງທ່ານ ~ / .ssh / config, ຕົວຢ່າງ:

ເຈົ້າພາບ *.mylocalnetwork.example.com
ການບີບອັດ no
ເຈົ້າພາບ *
ການບີບອັດແມ່ນແລ້ວ

ຫຼືລະບຸ "ssh -C" ເປັນຄໍາສັ່ງ ssh ຂອງທ່ານໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານຫຼືກັບ
ທາງເລືອກແຖວຄໍາສັ່ງ --ssh.

URL ເຫຼົ່ານີ້ທັງຫມົດສາມາດຖືກເກັບໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານດ້ວຍນາມແຝງເສັ້ນທາງພາຍໃຕ້
[ເສັ້ນ​ທາງ​] ພາກ​ສ່ວນ​ເຊັ່ນ​ນັ້ນ​:

[ເສັ້ນທາງ]
alias1 = URL1
alias2 = URL2
...

ຫຼັງຈາກນັ້ນທ່ານສາມາດນໍາໃຊ້ນາມແຝງສໍາລັບຄໍາສັ່ງໃດໆທີ່ໃຊ້ URL (ຕົວຢ່າງ hg ດຶງ ນາມແຝງ 1
ຈະຖືກປະຕິບັດເປັນ hg ດຶງ URL1).

ສອງນາມແຝງເສັ້ນທາງແມ່ນພິເສດເພາະວ່າພວກມັນຖືກໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນເມື່ອທ່ານບໍ່ໄດ້ສະຫນອງ
URL ໄປຫາຄໍາສັ່ງ:

default:
ໃນເວລາທີ່ທ່ານສ້າງ repository ກັບ hg clone, ຄໍາສັ່ງ clone ຈະຊ່ວຍປະຢັດສະຖານທີ່ຂອງ
repository ແຫຼ່ງເປັນເສັ້ນທາງ 'default' ຂອງ repository ໃຫມ່. ນີ້ຖືກນໍາໃຊ້ຫຼັງຈາກນັ້ນ
ເມື່ອທ່ານຍົກເວັ້ນເສັ້ນທາງຈາກຄໍາສັ່ງ push- ແລະ pull-like (ລວມທັງຂາເຂົ້າແລະ
ຂາອອກ).

default-push:
ຄໍາສັ່ງ push ຈະຊອກຫາເສັ້ນທາງທີ່ມີຊື່ວ່າ 'default-push', ແລະມັກມັນ
'ຄ່າເລີ່ມຕົ້ນ' ຖ້າທັງສອງຖືກ ກຳ ນົດ.

ການສົນທະນາ


ພາກນີ້ປະກອບດ້ວຍການຊ່ວຍເຫຼືອສໍາລັບການຂະຫຍາຍທີ່ແຈກຢາຍຮ່ວມກັນກັບ Mercurial.
ການຊ່ວຍເຫຼືອສໍາລັບການຂະຫຍາຍອື່ນໆແມ່ນມີຢູ່ໃນລະບົບການຊ່ວຍເຫຼືອ.

acl
hooks ສໍາລັບການຄວບຄຸມການເຂົ້າເຖິງ repository

hook ນີ້ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະອະນຸຍາດໃຫ້ຫຼືປະຕິເສດການເຂົ້າເຖິງການຂຽນໄປຫາສາຂາແລະເສັ້ນທາງຂອງ a
repository ເມື່ອໄດ້ຮັບການປ່ຽນແປງທີ່ເຂົ້າມາໂດຍຜ່ານ pretxnchangegroup ແລະ pretxncommit.

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

hook acl ແມ່ນຖືກນໍາໃຊ້ທີ່ດີທີ່ສຸດພ້ອມກັບແກະທີ່ຈໍາກັດເຊັ່ນ hgsh, ປ້ອງກັນ
ການກວດສອບຜູ້ໃຊ້ຈາກການເຮັດຫຍັງນອກເຫນືອຈາກການຊຸກຍູ້ຫຼືດຶງ. ສຽງແຄນບໍ່ແມ່ນ
ປອດໄພທີ່ຈະໃຊ້ຖ້າຜູ້ໃຊ້ມີການເຂົ້າເຖິງ shell ແບບໂຕ້ຕອບ, ຍ້ອນວ່າພວກເຂົາສາມາດປິດການໃຊ້ງານ hook ໄດ້. ບໍ່
ມັນປອດໄພບໍຖ້າຜູ້ໃຊ້ຫ່າງໄກສອກຫຼີກແບ່ງປັນບັນຊີ, ເພາະວ່າຫຼັງຈາກນັ້ນບໍ່ມີວິທີທີ່ຈະຈໍາແນກໄດ້
ໃຫ້ເຂົາເຈົ້າ.

ຄໍາສັ່ງໃນການກວດສອບການເຂົ້າເຖິງແມ່ນ:

1. ປະຕິເສດລາຍຊື່ສາຂາ (ພາກ acl.deny.ສາຂາ)

2. ອະນຸຍາດໃຫ້ລາຍຊື່ສໍາລັບສາຂາ (ພາກ acl.allow.ສາຂາ)

3. ປະຕິເສດບັນຊີລາຍຊື່ສໍາລັບເສັ້ນທາງ (ພາກ acl.ປະຕິເສດ)

4. ອະນຸຍາດໃຫ້ລາຍຊື່ສໍາລັບເສັ້ນທາງ (ພາກ acl.ອະນຸຍາດ)

ພາກສ່ວນອະນຸຍາດ ແລະປະຕິເສດເອົາຄູ່ຄີ-ຄ່າ.

ສາຂາ ການເຂົ້າເຖິງ ການຄວບຄຸມ
ການນໍາໃຊ້ acl.deny.ສາຂາ ແລະ acl.allow.ສາຂາ ພາກສ່ວນທີ່ມີການເຂົ້າເຖິງສາຂາ
ຄວບຄຸມ. ກະແຈໃນພາກສ່ວນເຫຼົ່ານີ້ສາມາດເປັນ:

· ຊື່ສາຂາ, ຫຼື

· ດວງດາວ, ກົງກັບສາຂາໃດນຶ່ງ;

ຄ່າທີ່ສອດຄ້ອງກັນສາມາດເປັນ:

· ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດທີ່ມີຜູ້ໃຊ້ ແລະກຸ່ມ, ຫຼື

· ດວງດາວ, ເພື່ອຈັບຄູ່ໃຜ;

ທ່ານສາມາດເພີ່ມ "!" ຄໍານໍາຫນ້າກັບຜູ້ໃຊ້ຫຼືຊື່ກຸ່ມເພື່ອ invert ຄວາມຮູ້ສຶກຂອງຄໍາວ່າ.

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

Groups
ຊື່ກຸ່ມຕ້ອງຖືກນຳໜ້າດ້ວຍອັນ @ ສັນຍາລັກ. ການລະບຸຊື່ກຸ່ມກໍ່ມີຜົນຄືກັນ
ເປັນການລະບຸຜູ້ໃຊ້ທັງໝົດຢູ່ໃນກຸ່ມນັ້ນ.

ທ່ານສາມາດກໍານົດສະມາຊິກກຸ່ມຢູ່ໃນ acl.groups ພາກ. ຖ້າຊື່ກຸ່ມບໍ່ໄດ້ຖືກກໍານົດ
ຢູ່ທີ່ນັ້ນ, ແລະ Mercurial ກໍາລັງດໍາເນີນການພາຍໃຕ້ລະບົບທີ່ຄ້າຍຄືກັບ Unix, ບັນຊີລາຍຊື່ຂອງຜູ້ໃຊ້ຈະຖືກປະຕິບັດ
ຈາກ OS. ຖ້າບໍ່ດັ່ງນັ້ນ, ຂໍ້ຍົກເວັ້ນຈະຖືກຍົກຂຶ້ນມາ.

ຍົກຕົວຢ່າງ ການຕັ້ງຄ່າ
[hooks]

# ໃຊ້ມັນຖ້າທ່ານຕ້ອງການກວດສອບຂໍ້ຈໍາກັດການເຂົ້າເຖິງໃນເວລາສັນຍາ
pretxncommit.acl = python:hgext.acl.hook

# ໃຊ້ນີ້ຖ້າທ່ານຕ້ອງການກວດເບິ່ງຂໍ້ຈໍາກັດການເຂົ້າເຖິງສໍາລັບການດຶງ, ຍູ້,
# ມັດແລະຮັບໃຊ້.
pretxnchangegroup.acl = python:hgext.acl.hook

[acl]
# ອະນຸຍາດຫຼືປະຕິເສດການເຂົ້າເຖິງສໍາລັບການປ່ຽນແປງທີ່ເຂົ້າມາພຽງແຕ່ຖ້າແຫຼ່ງຂອງພວກເຂົາແມ່ນ
# ລາຍຊື່ຢູ່ທີ່ນີ້, ໃຫ້ພວກເຂົາຜ່ານຖ້າບໍ່ດັ່ງນັ້ນ. ແຫຼ່ງແມ່ນ "ຮັບໃຊ້" ສໍາລັບທຸກຄົນ
# ການເຂົ້າເຖິງຫ່າງໄກສອກຫຼີກ (http ຫຼື ssh), "ຍູ້", "ດຶງ" ຫຼື "ມັດ" ເມື່ອ
# ຄໍາສັ່ງທີ່ກ່ຽວຂ້ອງແມ່ນດໍາເນີນການຢູ່ໃນທ້ອງຖິ່ນ.
# ຄ່າເລີ່ມຕົ້ນ: ຮັບໃຊ້
ແຫຼ່ງ=ຮັບໃຊ້

[acl.deny.branches]

# ທຸກຄົນຖືກປະຕິເສດຕໍ່ສາຂາແຊ່ແຂງ:
ສາຂາແຊ່ແຂງ = *

# ຜູ້ໃຊ້ບໍ່ດີຖືກປະຕິເສດໃນທຸກສາຂາ:
* = ຜູ້​ໃຊ້​ບໍ່​ດີ​

[acl.allow.branches]

# ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຈໍານວນຫນ້ອຍຢູ່ໃນສາຂາ-a:
branch-a = ຜູ້​ໃຊ້-1, ຜູ້​ໃຊ້-2, ຜູ້​ໃຊ້-3

# ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ດຽວເທົ່ານັ້ນໃນສາຂາ-b:
branch-b=ຜູ້ໃຊ້-1

# ຜູ້​ໃຊ້​ສູງ​ແມ່ນ​ອະ​ນຸ​ຍາດ​ໃຫ້​ໃນ​ທຸກ​ສາ​ຂາ​:
* = super-user

# ທຸກຄົນສາມາດເຂົ້າສອບເສັງສາຂາ:
ສາຂາສຳລັບການທົດສອບ = *

[acl.deny]
# ລາຍການນີ້ກວດກ່ອນ. ຖ້າພົບການແຂ່ງຂັນ, acl.allow ບໍ່ແມ່ນ
# ກວດແລ້ວ. ຜູ້​ໃຊ້​ທັງ​ຫມົດ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ເຂົ້າ​ເຖິງ​ຖ້າ​ຫາກ​ວ່າ acl.deny ບໍ່​ມີ​.
# ຮູບແບບສໍາລັບທັງສອງລາຍຊື່: glob pattern = user, ..., @group, ...

# ເພື່ອໃຫ້ກົງກັບທຸກຄົນ, ໃຊ້ເຄື່ອງໝາຍດາວສຳລັບຜູ້ໃຊ້:
# my/glob/pattern = *

# user6 ຈະບໍ່ມີການເຂົ້າເຖິງການຂຽນໄຟລ໌ໃດໆ:
** = user6

# ກຸ່ມ "hg-denied" ຈະບໍ່ມີການເຂົ້າເຖິງການຂຽນໄຟລ໌ໃດໆ:
** = @hg-denied

# ບໍ່ມີໃຜຈະສາມາດປ່ຽນ "DONT-TOUCH-THIS.txt", ເຖິງແມ່ນວ່າ
# ທຸກຄົນສາມາດປ່ຽນໄຟລ໌ອື່ນໆທັງໝົດໄດ້. ເບິ່ງຂ້າງລຸ່ມນີ້.
src/main/resources/DONT-TOUCH-THIS.txt = *

[acl.allow]
# ຖ້າ acl.allow ບໍ່ປາກົດ, ຜູ້ໃຊ້ທັງຫມົດແມ່ນອະນຸຍາດຕາມຄ່າເລີ່ມຕົ້ນ
# ຫວ່າງ acl.allow = ບໍ່ມີຜູ້ໃຊ້ອະນຸຍາດ

# ຜູ້ໃຊ້ "doc_writer" ມີການເຂົ້າເຖິງການຂຽນໄຟລ໌ໃດໆພາຍໃຕ້ "docs"
# ໂຟນເດີ:
docs/** = doc_writer

# ຜູ້ໃຊ້ "jack" ແລະກຸ່ມ "ຜູ້ອອກແບບ" ມີການເຂົ້າເຖິງການຂຽນໄຟລ໌ໃດໆ
# ພາຍໃຕ້ໂຟນເດີ "ຮູບພາບ":
images/** = jack, @designers

# ທຸກຄົນ (ຍົກເວັ້ນ "user6" ແລະ "@hg-denied" - ເບິ່ງ acl.deny ຂ້າງເທິງ)
# ຈະມີການເຂົ້າເຖິງການຂຽນໄຟລ໌ໃດໆພາຍໃຕ້ໂຟນເດີ "ຊັບພະຍາກອນ".
# (ຍົກເວັ້ນ 1 ໄຟລ໌. ເບິ່ງ acl.deny):
src/main/resources/** = *

.hgtags = release_engineer

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

ໄດ້ "!" ຄໍານໍາຫນ້າອະນຸຍາດໃຫ້ທ່ານເພື່ອປ້ອງກັນບໍ່ໃຫ້ໃຜຍົກເວັ້ນຜູ້ໃຊ້ຫຼືກຸ່ມທີ່ຈະຍູ້
ການປ່ຽນແປງໃນສາຂາ ຫຼືເສັ້ນທາງທີ່ໃຫ້ໄວ້.

ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ພວກເຮົາຈະ: 1) ປະຕິເສດການເຂົ້າເຖິງສາຂາ "ring" ກັບໃຜແຕ່ຜູ້ໃຊ້
"gollum" 2) ປະຕິເສດການເຂົ້າເຖິງສາຂາ "lake" ກັບໃຜແຕ່ສະມາຊິກຂອງກຸ່ມ "hobbit" 3)
ປະຕິເສດການເຂົ້າເຖິງໄຟລ໌ໃຫ້ກັບໃຜ, ແຕ່ຜູ້ໃຊ້ "gollum"

[acl.allow.branches]
# ຫວ່າງ

[acl.deny.branches]

# 1) ພຽງແຕ່ 'gollum' ສາມາດສັນຍາກັບສາຂາ 'ວົງ';
# 'gollum' ແລະຜູ້ອື່ນຍັງສາມາດສັນຍາກັບສາຂາອື່ນ.
ແຫວນ = !gollum

# 2) ພຽງແຕ່ສະມາຊິກຂອງກຸ່ມ 'hobbit' ສາມາດສັນຍາກັບສາຂາ 'lake';
# ສະມາຊິກ 'hobbit' ແລະຜູ້ອື່ນຍັງສາມາດສັນຍາກັບສາຂາອື່ນໄດ້.
ທະເລສາບ = !@hobbit

# ທ່ານຍັງສາມາດປະຕິເສດການເຂົ້າເຖິງໂດຍອີງໃສ່ເສັ້ນທາງໄຟລ໌:

[acl.allow]
# ຫວ່າງ

[acl.deny]
# 3) ພຽງແຕ່ 'gollum' ສາມາດປ່ຽນໄຟລ໌ຂ້າງລຸ່ມນີ້;
# 'gollum' ແລະຜູ້ອື່ນຍັງສາມາດປ່ຽນໄຟລ໌ອື່ນໄດ້.
/misty/mountains/cave/ring = !gollum

ກ່ອງ ດຳ
ບັນທຶກເຫດການ repository ກັບ blackbox ສໍາລັບ debugging

ບັນທຶກຂໍ້ມູນເຫດການໄປທີ່ .hg/blackbox.log ເພື່ອຊ່ວຍດີບັກ ແລະວິນິໄສບັນຫາ. ໄດ້
ເຫດການທີ່ຖືກບັນທຶກສາມາດຖືກຕັ້ງຄ່າຜ່ານປຸ່ມ blackbox.track config. ຕົວຢ່າງ:

[ກ່ອງດຳ]
ຕິດຕາມ = *

[ກ່ອງດຳ]
track = ຄໍາສັ່ງ, commandfinish, commandexception, exthook, pythonhook

[ກ່ອງດຳ]
ຕິດຕາມ = ເຂົ້າມາ

[ກ່ອງດຳ]
# ຈຳກັດຂະໜາດຂອງໄຟລ໌ບັນທຶກ
ຂະໜາດສູງສຸດ = 1.5 MB
# ໝຸນເຖິງໄຟລ໌ບັນທຶກ N ເມື່ອອັນປັດຈຸບັນໃຫຍ່ເກີນໄປ
maxfiles = 3

ຄໍາສັ່ງ
ກ່ອງ ດຳ
ເບິ່ງເຫດການ repository ທີ່ຜ່ານມາ:

hg blackbox [ຕົວເລືອກ]...

ເບິ່ງເຫດການ repository ທີ່ຜ່ານມາ

ຕົວເລືອກ:

-l,-- ຈຳກັດ
ຈຳນວນເຫດການທີ່ຈະສະແດງ (ຄ່າເລີ່ມຕົ້ນ: 10)

ບັກຊິລາ
hooks ສໍາ​ລັບ​ການ​ເຊື່ອມ​ໂຍງ​ກັບ Bugzilla bug tracker​

ການຂະຫຍາຍ hook ນີ້ເພີ່ມຄໍາເຫັນກ່ຽວກັບແມງໄມ້ໃນ Bugzilla ເມື່ອການປ່ຽນແປງທີ່ຫມາຍເຖິງແມງໄມ້
ໂດຍ Bugzilla ID ແມ່ນເຫັນໄດ້. ຄຳເຫັນຖືກຈັດຮູບແບບໂດຍໃຊ້ກົນໄກແມ່ແບບ Mercurial.

ການອ້າງອິງ bug ທາງເລືອກສາມາດປະກອບມີການປັບປຸງສໍາລັບ Bugzilla ຂອງຊົ່ວໂມງທີ່ໃຊ້
ເຮັດວຽກກ່ຽວກັບ bug ໄດ້. ແມງໄມ້ຍັງສາມາດຖືກຫມາຍແກ້ໄຂໄດ້.

ສາມໂຫມດພື້ນຖານຂອງການເຂົ້າເຖິງ Bugzilla ແມ່ນສະຫນອງໃຫ້:

1. ເຂົ້າເຖິງຜ່ານອິນເຕີເຟດ Bugzilla XMLRPC. ຕ້ອງການ Bugzilla 3.4 ຫຼືຫຼັງຈາກນັ້ນ.

2. ກວດເບິ່ງຂໍ້ມູນຜ່ານການໂຕ້ຕອບ Bugzilla XMLRPC ແລະສົ່ງການປ່ຽນແປງ bug ຜ່ານທາງອີເມວໄປຫາ
ການໂຕ້ຕອບອີເມວ Bugzilla. ຕ້ອງການ Bugzilla 3.4 ຫຼືຫຼັງຈາກນັ້ນ.

3. ການຂຽນໂດຍກົງໃສ່ຖານຂໍ້ມູນ Bugzilla. ພຽງແຕ່ການຕິດຕັ້ງ Bugzilla ໂດຍໃຊ້ MySQL ແມ່ນ
ສະຫນັບສະຫນູນ. ຕ້ອງການ Python MySQLdb.

ການຂຽນໂດຍກົງໃສ່ຖານຂໍ້ມູນແມ່ນມີຄວາມອ່ອນໄຫວຕໍ່ກັບການປ່ຽນແປງ schema, ແລະອີງໃສ່ a
Bugzilla contrib script ເພື່ອສົ່ງອີເມວແຈ້ງເຕືອນການປ່ຽນແປງ bug. script ນີ້ດໍາເນີນການເປັນ
ຜູ້ໃຊ້ທີ່ແລ່ນ Mercurial, ຕ້ອງດໍາເນີນການຢູ່ໃນໂຮດດ້ວຍການຕິດຕັ້ງ Bugzilla, ແລະ
ຮຽກຮ້ອງໃຫ້ມີການອະນຸຍາດໃຫ້ອ່ານລາຍລະອຽດການຕັ້ງຄ່າ Bugzilla ແລະຜູ້ໃຊ້ MySQL ທີ່ຈໍາເປັນ
ແລະລະຫັດຜ່ານເພື່ອໃຫ້ມີສິດການເຂົ້າເຖິງຢ່າງເຕັມທີ່ກັບຖານຂໍ້ມູນ Bugzilla. ສໍາລັບເຫດຜົນເຫຼົ່ານີ້
ໂໝດການເຂົ້າເຖິງຕອນນີ້ຖືກພິຈາລະນາວ່າບໍ່ໄດ້ນຳໃຊ້ແລ້ວ, ແລະຈະບໍ່ຖືກອັບເດດສຳລັບ Bugzilla ໃໝ່
ຮຸ່ນທີ່ກ້າວໄປຂ້າງຫນ້າ. ຮອງຮັບພຽງແຕ່ການເພີ່ມຄຳເຫັນເທົ່ານັ້ນໃນໂໝດການເຂົ້າເຖິງນີ້.

ການເຂົ້າເຖິງຜ່ານ XMLRPC ຕ້ອງການຊື່ຜູ້ໃຊ້ ແລະລະຫັດຜ່ານ Bugzilla ເພື່ອລະບຸໄວ້ໃນ
ການຕັ້ງຄ່າ. ຄຳເຫັນຖືກເພີ່ມພາຍໃຕ້ຊື່ຜູ້ໃຊ້ນັ້ນ. ເນື່ອງຈາກວ່າການຕັ້ງຄ່າຕ້ອງເປັນ
ສາມາດອ່ານໄດ້ໂດຍຜູ້ໃຊ້ Mercurial ທັງຫມົດ, ມັນແນະນໍາວ່າສິດທິຂອງຜູ້ໃຊ້ນັ້ນແມ່ນ
ຈໍາກັດໃນ Bugzilla ຕ່ໍາສຸດທີ່ຈໍາເປັນເພື່ອເພີ່ມຄໍາເຫັນ. ແກ້ໄຂຂໍ້ບົກພ່ອງຂອງເຄື່ອງຫມາຍ
ຕ້ອງການ Bugzilla 4.0 ແລະຕໍ່ມາ.

ການເຂົ້າເຖິງຜ່ານ XMLRPC/email ໃຊ້ XMLRPC ເພື່ອສອບຖາມ Bugzilla, ແຕ່ສົ່ງອີເມວໄປຫາ Bugzilla
ອິນເຕີເຟດອີເມລ໌ເພື່ອສົ່ງຄໍາຄິດເຫັນຕໍ່ກັບແມງໄມ້. ທີ່ຢູ່ From: ຢູ່ໃນອີເມລ໌ຖືກຕັ້ງເປັນ
ທີ່ຢູ່ອີເມວຂອງຜູ້ໃຊ້ Mercurial, ດັ່ງນັ້ນຄໍາຄິດຄໍາເຫັນຈະມາຈາກ Mercurial
ຜູ້ໃຊ້. ໃນກໍລະນີທີ່ອີເມວຜູ້ໃຊ້ Mercurial ບໍ່ໄດ້ຖືກຮັບຮູ້ໂດຍ Bugzilla ເປັນ
ຜູ້ໃຊ້ Bugzilla, ອີເມວທີ່ກ່ຽວຂ້ອງກັບຊື່ຜູ້ໃຊ້ Bugzilla ໃຊ້ເພື່ອເຂົ້າສູ່ລະບົບ Bugzilla
ຖືກນໍາໃຊ້ແທນທີ່ຈະເປັນແຫຼ່ງຂອງຄໍາເຫັນ. ການ​ແກ້​ໄຂ​ຂໍ້​ຜິດ​ພາດ​ຫມາຍ​ເຮັດ​ວຽກ​ກ່ຽວ​ກັບ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ​ທັງ​ຫມົດ​
ລຸ້ນ Bugzilla.

ລາຍ​ການ​ການ​ຕັ້ງ​ຄ່າ​ທົ່ວ​ໄປ​ໃນ​ທຸກ​ຮູບ​ແບບ​ການ​ເຂົ້າ​ເຖິງ​:

bugzilla.version
ປະເພດການເຂົ້າເຖິງທີ່ຈະນໍາໃຊ້. ຄຸນຄ່າທີ່ຮັບຮູ້ແມ່ນ:

xmlrpc

ການໂຕ້ຕອບ Bugzilla XMLRPC.

xmlrpc+ອີເມລ

Bugzilla XMLRPC ແລະການໂຕ້ຕອບອີເມວ.

3.0

ການເຂົ້າເຖິງ MySQL, Bugzilla 3.0 ແລະຕໍ່ມາ.

2.18

ການເຂົ້າເຖິງ MySQL, Bugzilla 2.18 ແລະເຖິງແຕ່ບໍ່ລວມເຖິງ 3.0.

2.16

ການເຂົ້າເຖິງ MySQL, Bugzilla 2.16 ແລະເຖິງແຕ່ບໍ່ລວມເຖິງ 2.18.

bugzilla.regexp
ການສະແດງຜົນປົກກະຕິເພື່ອຈັບຄູ່ IDs bug ສໍາລັບການອັບເດດໃນ changeset commit message. ມັນ
ຕ້ອງມີກຸ່ມ "()" ທີ່ມີຊື່ ປະກອບມີ ID ແມງໄມ້ທີ່ແຍກອອກໂດຍ
ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ. ມັນອາດມີກຸ່ມທີ່ມີຊື່ ມີ
ຕົວເລກຈຸດທີ່ລອຍຕົວໃຫ້ຊົ່ວໂມງເຮັດວຽກກ່ຽວກັບແມງໄມ້. ຖ້າບໍ່ມີກຸ່ມທີ່ມີຊື່
ໃນປັດຈຸບັນ, ກຸ່ມ "()" ທໍາອິດແມ່ນສົມມຸດວ່າມີ bug IDs, ແລະເວລາເຮັດວຽກແມ່ນ
ບໍ່ໄດ້ປັບປຸງ. ການສະແດງອອກເລີ່ມຕົ້ນກົງກັນ bow 1234, bow ບໍ່ມີ. 1234, bow ຈໍານວນ
1234, ແມງໄມ້ 1234,5678, bow 1234 ແລະ 5678 ແລະການປ່ຽນແປງຂອງມັນ, ຕິດຕາມດ້ວຍ
ຈໍານວນຊົ່ວໂມງນໍາຫນ້າໂດຍ h or ຊົ່ວໂມງ, ຕົວຢ່າງ ຊົ່ວໂມງ 1.5. ການຈັບຄູ່ແມ່ນບໍ່ມີຕົວພິມນ້ອຍໃຫຍ່.

bugzilla.fixregexp
ການສະແດງຜົນປົກກະຕິເພື່ອຈັບຄູ່ ID ບັກສໍາລັບເຄື່ອງຫມາຍການສ້ອມແຊມໃນ changeset commit message.
ອັນນີ້ຕ້ອງມີກຸ່ມ "()" ທີ່ມີຊື່ ` ບັນຈຸມີ ໄດ້ bug IDs ແຍກອອກຈາກກັນ by
ບໍ່ແມ່ນຕົວເລກ ລັກສະນະ. It ອາດຈະ ຍັງ ບັນຈຸ a ຊື່ວ່າ ກຸ່ມ `` ມີ
ຕົວເລກຈຸດທີ່ລອຍຕົວໃຫ້ຊົ່ວໂມງເຮັດວຽກກ່ຽວກັບແມງໄມ້. ຖ້າບໍ່ມີກຸ່ມທີ່ມີຊື່
ໃນປັດຈຸບັນ, ກຸ່ມ "()" ທໍາອິດແມ່ນສົມມຸດວ່າມີ bug IDs, ແລະເວລາເຮັດວຽກແມ່ນ
ບໍ່ໄດ້ປັບປຸງ. ການສະແດງອອກເລີ່ມຕົ້ນກົງກັນ ແກ້ໄຂ 1234, ແກ້ໄຂ bug 1234, ແກ້ໄຂ ແມງໄມ້
1234,5678, ແກ້ໄຂ 1234 ແລະ 5678 ແລະການປ່ຽນແປງຂອງມັນ, ຕິດຕາມດ້ວຍຈໍານວນຊົ່ວໂມງ
ຄໍານໍາຫນ້າໂດຍ h or ຊົ່ວໂມງ, ຕົວຢ່າງ ຊົ່ວໂມງ 1.5. ການຈັບຄູ່ແມ່ນບໍ່ມີຕົວພິມນ້ອຍໃຫຍ່.

bugzilla.fixstatus
ສະຖານະເພື່ອຕັ້ງຂໍ້ບົກພ່ອງເມື່ອໝາຍຖືກແກ້ໄຂ. ຄ່າເລີ່ມຕົ້ນ ແກ້ໄຂ.

bugzilla.fixresolution
ຄວາມ​ລະ​ອຽດ​ໃນ​ການ​ກໍາ​ນົດ​ຂໍ້​ຜິດ​ພາດ​ໃນ​ເວ​ລາ​ທີ່​ການ​ແກ້​ໄຂ​ເຄື່ອງ​ຫມາຍ​. ຄ່າເລີ່ມຕົ້ນ FIXED.

bugzilla.style
ໄຟລ໌ຮູບແບບທີ່ຈະໃຊ້ໃນເວລາຈັດຮູບແບບຄຳເຫັນ.

bugzilla.ແມ່ແບບ
ແມ່ແບບທີ່ຈະໃຊ້ໃນເວລາຈັດຮູບແບບຄໍາເຫັນ. Overrides ແບບຖ້າລະບຸ. ເພີ່ມ​ເຕີມ
ກັບຄໍາທີ່ໃຊ້ Mercurial ປົກກະຕິ, ສ່ວນຂະຫຍາຍກໍານົດ:

{bug}

ID ບັກ Bugzilla.

{ຮາກ}

ຊື່ເສັ້ນທາງເຕັມຂອງບ່ອນເກັບມ້ຽນ Mercurial.

{webroot}

ຊື່ເສັ້ນທາງທີ່ຖອດອອກຂອງບ່ອນເກັບມ້ຽນ Mercurial.

{hgweb}

URL ພື້ນຖານສໍາລັບການທ່ອງເວັບ repositories Mercurial.

ມາດຕະຖານ ການປ່ຽນແປງ {node|ສັ້ນ} in repo {ຮາກ} ຫມາຍ to bug
{bug}.\nລາຍລະອຽດ:\n\t{desc|tabindent}

bugzilla.strip
ຈຳນວນຕົວແຍກເສັ້ນທາງທີ່ຈະລອກຈາກດ້ານໜ້າຂອງ Mercurial
ເສັ້ນທາງບ່ອນເກັບມ້ຽນ ({ຮາກ} ໃນ​ແມ່​ແບບ​) ການ​ຜະ​ລິດ​ {webroot}. ຍົກຕົວຢ່າງ, ກ
repository ກັບ {ຮາກ} /var/local/my-project ດ້ວຍແຖບ 2 ໃຫ້ຄ່າສໍາລັບ
{webroot} of ໂຄງ​ການ​ຂອງ​ຂ້າ​ພະ​ເຈົ້າ​. ຄ່າເລີ່ມຕົ້ນ 0.

web.baseurl
URL ພື້ນຖານສໍາລັບການທ່ອງເວັບ repositories Mercurial. ອ້າງອີງຈາກແມ່ແບບເປັນ {hgweb}.

ລາຍການການຕັ້ງຄ່າທົ່ວໄປກັບ XMLRPC+email ແລະ MySQL ຮູບແບບການເຂົ້າເຖິງ:

bugzilla.usermap
ເສັ້ນທາງຂອງໄຟລ໌ທີ່ມີອີເມລ໌ Mercurial committer ໄປຫາແຜນທີ່ອີເມວຂອງຜູ້ໃຊ້ Bugzilla.
ຖ້າລະບຸໄວ້, ໄຟລ໌ຄວນມີໜຶ່ງແຜນທີ່ຕໍ່ແຖວ:

committer = ຜູ້ໃຊ້ Bugzilla

ເບິ່ງອີກ [ແຜນທີ່ຜູ້ໃຊ້] ສ່ວນ.

ໄດ້ [ແຜນທີ່ຜູ້ໃຊ້] ພາກສ່ວນແມ່ນໃຊ້ເພື່ອລະບຸແຜນທີ່ຂອງອີເມລ໌ Mercurial committer ກັບ Bugzilla
ອີເມວຜູ້ໃຊ້. ເບິ່ງນຳ bugzilla.usermap. ປະກອບມີລາຍການຂອງແບບຟອມ ຜູ້ເດີນທາງ = ບັກບາລາ
ຜູ້ໃຊ້.

ການຕັ້ງຄ່າຮູບແບບການເຂົ້າເຖິງ XMLRPC:

bugzilla.bzurl
URL ພື້ນຖານສໍາລັບການຕິດຕັ້ງ Bugzilla. ຄ່າເລີ່ມຕົ້ນ http://localhost/bugzilla.

bugzilla.user
ຊື່ຜູ້ໃຊ້ທີ່ໃຊ້ເພື່ອເຂົ້າສູ່ລະບົບ Bugzilla ຜ່ານ XMLRPC. ຄ່າເລີ່ມຕົ້ນ ແມງໄມ້.

bugzilla.password
ລະຫັດຜ່ານສໍາລັບການເຂົ້າສູ່ລະບົບ Bugzilla.

ຮູບແບບການເຂົ້າເຖິງ XMLRPC+ ອີເມວໃຊ້ລາຍການການຕັ້ງຄ່າຮູບແບບການເຂົ້າເຖິງ XMLRPC, ແລະຍັງ:

bugzilla.bzemail
ທີ່ຢູ່ອີເມວ Bugzilla.

ນອກຈາກນັ້ນ, ການຕັ້ງຄ່າອີເມວ Mercurial ຕ້ອງໄດ້ຮັບການຕັ້ງຄ່າ. ເບິ່ງເອກະສານໃນ
hgrc(5), ພາກ [ອີເມລ] ແລະ [smtp].

ການຕັ້ງຄ່າຮູບແບບການເຂົ້າເຖິງ MySQL:

bugzilla.host
ຊື່ເຈົ້າພາບຂອງເຊີບເວີ MySQL ຖືຖານຂໍ້ມູນ Bugzilla. ຄ່າເລີ່ມຕົ້ນ localhost.

bugzilla.db
ຊື່ຂອງຖານຂໍ້ມູນ Bugzilla ໃນ MySQL. ຄ່າເລີ່ມຕົ້ນ ແມງໄມ້.

bugzilla.user
ຊື່ຜູ້ໃຊ້ທີ່ຈະໃຊ້ເພື່ອເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍ MySQL. ຄ່າເລີ່ມຕົ້ນ ແມງໄມ້.

bugzilla.password
ລະຫັດຜ່ານເພື່ອໃຊ້ເພື່ອເຂົ້າເຖິງເຊີບເວີ MySQL.

bugzilla.ໝົດເວລາ
ໝົດເວລາການເຊື່ອມຕໍ່ຖານຂໍ້ມູນ (ວິນາທີ). ຄ່າເລີ່ມຕົ້ນ 5.

bugzilla.bzuser
ຊື່ຜູ້ໃຊ້ Fallback Bugzilla ເພື່ອບັນທຶກຄໍາເຫັນກັບ, ຖ້າ changeset committer ບໍ່ສາມາດ
ຖືກພົບເຫັນເປັນຜູ້ໃຊ້ Bugzilla.

bugzilla.bzdir
Bugzilla ຕິດຕັ້ງໄດເລກະທໍລີ. ໃຊ້ໂດຍການແຈ້ງເຕືອນເລີ່ມຕົ້ນ. ຄ່າເລີ່ມຕົ້ນ /var/www/html/bugzilla.

bugzilla.notify
ຄໍາສັ່ງທີ່ຈະດໍາເນີນການເພື່ອໃຫ້ໄດ້ຮັບ Bugzilla ສົ່ງອີເມວແຈ້ງເຕືອນການປ່ຽນແປງ bug.
ການ​ທົດ​ແທນ​ຈາກ​ແຜນ​ທີ່​ທີ່​ມີ 3 ກະ​ແຈ​, bzdir, id (id bug) ແລະ ຜູ້ໃຊ້ (bugzilla committer
ອີເມວ). ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບສະບັບ; ຈາກ 2.18 ມັນເປັນ "cd %(bzdir)s && perl -T
contrib/sendbugmail.pl %(id)s %(user)s".

ການເປີດໃຊ້ສ່ວນຂະຫຍາຍ:

[ສ່ວນຂະຫຍາຍ]
ບັກຊິລາ =

[hooks]
# ແລ່ນ hook bugzilla ໃນທຸກໆການປ່ຽນແປງທີ່ດຶງຫຼື pushed ຢູ່ທີ່ນີ້
incoming.bugzilla = python:hgext.bugzilla.hook

ຕົວ​ຢ່າງ​ການ​ຕັ້ງ​ຄ່າ​:

ການຕັ້ງຄ່າຕົວຢ່າງ XMLRPC. ນີ້ໃຊ້ Bugzilla ຢູ່ http://my-project.org/bugzilla,
ເຂົ້າສູ່ລະບົບເປັນຜູ້ໃຊ້ [email protected] ມີລະຫັດຜ່ານ ສຽບ. ມັນຖືກນໍາໃຊ້ກັບ a
ການເກັບກໍາຂອງ repositories Mercurial ໃນ /var/local/hg/repos/, ມີການໂຕ້ຕອບເວັບໄຊຕ໌ທີ່
http://my-project.org/hg.

[bugzilla]
bzurl=http://my-project.org/bugzilla
user=[email protected]
password=plugh
version=xmlrpc
template=ປ່ຽນ {node|short} ໃນ {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
strip=5

[ເວັບ]
baseurl=http://my-project.org/hg

ການຕັ້ງຄ່າຕົວຢ່າງ XMLRPC+ ອີເມວ. ນີ້ໃຊ້ Bugzilla ຢູ່
http://my-project.org/bugzilla, ເຂົ້າສູ່ລະບົບເປັນຜູ້ໃຊ້ [email protected] ມີລະຫັດຜ່ານ
ສຽບ. ມັນຖືກນໍາໃຊ້ກັບການເກັບກໍາຂອງ repositories Mercurial ໃນ /var/local/hg/repos/,
ກັບການໂຕ້ຕອບເວັບໄຊຕ໌ທີ່ http://my-project.org/hg. ຄໍາຄິດຄໍາເຫັນ bug ຖືກສົ່ງໄປຫາ Bugzilla
ທີ່​ຢູ່​ອີ​ເມວ [email protected].

[bugzilla]
bzurl=http://my-project.org/bugzilla
user=[email protected]
password=plugh
version=xmlrpc+ອີເມລ
bzemail=[email protected]
template=ປ່ຽນ {node|short} ໃນ {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
strip=5

[ເວັບ]
baseurl=http://my-project.org/hg

[ແຜນທີ່ຜູ້ໃຊ້]
[email protected]=[email protected]

ການຕັ້ງຄ່າຕົວຢ່າງ MySQL. ນີ້ມີການຕິດຕັ້ງ Bugzilla 3.2 ທ້ອງຖິ່ນໃນ
/opt/bugzilla-3.2. ຖານຂໍ້ມູນ MySQL ເປີດຢູ່ localhost, ຊື່ຖານຂໍ້ມູນ Bugzilla ແມ່ນ ແມງໄມ້
ແລະ MySQL ແມ່ນເຂົ້າເຖິງດ້ວຍຊື່ຜູ້ໃຊ້ MySQL ແມງໄມ້ ລະຫັດຜ່ານ XYZZY. ມັນຖືກນໍາໃຊ້ກັບ a
ການເກັບກໍາຂອງ repositories Mercurial ໃນ /var/local/hg/repos/, ມີການໂຕ້ຕອບເວັບໄຊຕ໌ທີ່
http://my-project.org/hg.

[bugzilla]
host=localhost
password=XYZZY
ລຸ້ນ=3.0
bzuser=[email protected]
bzdir=/opt/bugzilla-3.2
template=ປ່ຽນ {node|short} ໃນ {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
strip=5

[ເວັບ]
baseurl=http://my-project.org/hg

[ແຜນທີ່ຜູ້ໃຊ້]
[email protected]=[email protected]

ທັງ​ຫມົດ​ຂ້າງ​ເທິງ​ນີ້​ເພີ່ມ​ຄວາມ​ຄິດ​ເຫັນ​ກັບ​ການ​ບັນ​ທຶກ bug Bugzilla ຂອງ​ຮູບ​ແບບ​ການ​:

ປ່ຽນຊຸດ 3b16791d6642 ໃນ repository-name.
http://my-project.org/hg/repository-name/rev/3b16791d6642

ປ່ຽນ​ແປງ​ຄໍາ​ຄິດ​ເຫັນ​. ບັກ 1234.

ເຊັນເຊີ
ລົບ​ເນື້ອ​ໃນ​ໄຟລ​໌​ໃນ​ການ​ແກ້​ໄຂ​ທີ່​ໃຫ້​

ຄໍາສັ່ງ censor ແນະນໍາ Mercurial ໃຫ້ລຶບເນື້ອຫາທັງຫມົດຂອງໄຟລ໌ໃນການແກ້ໄຂທີ່ກໍານົດໄວ້
ໂດຍບໍ່ມີການ ການປັບປຸງ ໄດ້ ການປ່ຽນແປງ ແຮຊ. ນີ້ອະນຸຍາດໃຫ້ປະຫວັດທີ່ມີຢູ່ແລ້ວຍັງຄົງຖືກຕ້ອງໃນຂະນະທີ່
ປ້ອງກັນບໍ່ໃຫ້ clones / ດຶງໃນອະນາຄົດຈາກການໄດ້ຮັບຂໍ້ມູນທີ່ຖືກລົບ.

ການນໍາໃຊ້ທົ່ວໄປສໍາລັບການເຊັນເຊີແມ່ນເນື່ອງມາຈາກຄວາມປອດໄພຫຼືຂໍ້ກໍານົດທາງດ້ານກົດຫມາຍ, ລວມທັງ:

* ລະຫັດຜ່ານ, ກະແຈສ່ວນຕົວ, ອຸປະກອນການເຂົ້າລະຫັດ
* ຂໍ້ມູນ/ລະຫັດ/ຫ້ອງສະໝຸດທີ່ໃບອະນຸຍາດໝົດອາຍຸ
* ຂໍ້ມູນສ່ວນຕົວ ຫຼືຂໍ້ມູນສ່ວນຕົວອື່ນໆ

nodes censored ສາມາດຂັດຂວາງການເຮັດວຽກປົກກະຕິຂອງ mercurial ທຸກຄັ້ງທີ່ຕ້ອງການຂໍ້ມູນ exciseed
ທີ່​ຈະ​ເປັນ​ເອ​ກະ​ສານ​. ບາງຄໍາສັ່ງ, ເຊັ່ນ: hg cat/hg ກັບຄືນມາ, ພຽງແຕ່ລົ້ມເຫລວໃນເວລາທີ່ຮ້ອງຂໍໃຫ້
ຜະລິດຂໍ້ມູນ censored. ອື່ນໆ, ເຊັ່ນ hg ກວດສອບ ແລະ hg ການປັບປຸງ, ຕ້ອງມີຄວາມສາມາດທົນທານຕໍ່
ຂໍ້ມູນ censored ເພື່ອສືບຕໍ່ປະຕິບັດຫນ້າທີ່ມີຄວາມຫມາຍ. ຄໍາສັ່ງດັ່ງກ່າວພຽງແຕ່ທົນທານຕໍ່
ການແກ້ໄຂໄຟລ໌ censored ຖ້າພວກມັນຖືກອະນຸຍາດໂດຍ "censor.policy=ignore" ທາງເລືອກການຕັ້ງຄ່າ.

ຄໍາສັ່ງ
ເຊັນເຊີ
hg censor -r REV [-t TEXT] [FILE]

ຕົວເລືອກ:

-r,--rev
ໄຟລ໌ censor ຈາກການແກ້ໄຂທີ່ລະບຸ

-t,-- ຂຸມຝັງສົບ
ຂໍ້ມູນການທົດແທນ tombstone

chgserver
ການຂະຫຍາຍເຊີບເວີຄໍາສັ່ງສໍາລັບ cHg (ທົດລອງ)

'ສ' ຊ່ອງ (ອ່ານ/ຂຽນ)
propagate ui.system() ຮ້ອງຂໍໃຫ້ລູກຄ້າ

'ອັດ​ຕະ​ຊີ​ໂອ' ຄໍາສັ່ງ
ຄັດຕິດ stdio ຂອງລູກຄ້າຜ່ານໂດຍ sendmsg()

'chdir' ຄໍາສັ່ງ
ປ່ຽນລາຍຊື່ປະຈຸບັນ

'getpager' ຄໍາສັ່ງ
ກວດເບິ່ງວ່າ pager ຖືກເປີດໃຊ້ງານຫຼືບໍ່ ແລະ pager ໃດຄວນຖືກປະຕິບັດ

'setenv' ຄໍາສັ່ງ
ທົດແທນ os.environ ຢ່າງສົມບູນ

'SIGHUP' signal
ໂຫຼດໄຟລ໌ການຕັ້ງຄ່າຄືນໃໝ່

ເດັກນ້ອຍ
ຄໍາສັ່ງເພື່ອສະແດງຊຸດການປ່ຽນແປງເດັກນ້ອຍ (DEPRECATED)

ສ່ວນຂະຫຍາຍນີ້ຖືກຄັດຄ້ານ. ທ່ານຄວນໃຊ້ hg log -r "ເດັກນ້ອຍ (REV)" ແທນທີ່ຈະເປັນ.

ຄໍາສັ່ງ
ເດັກນ້ອຍ
ສະ​ແດງ​ໃຫ້​ເຫັນ​ເດັກ​ນ້ອຍ​ຂອງ​ການ​ແກ້​ໄຂ​ລະ​ບົບ​ທີ່​ໄດ້​ຮັບ​ຫຼື​ເຮັດ​ວຽກ​:

ເດັກນ້ອຍ hg [-r REV] [FILE]

ພິມເດັກນ້ອຍຂອງການແກ້ໄຂໄດເລກະທໍລີທີ່ເຮັດວຽກ. ຖ້າການດັດແກ້ແມ່ນໃຫ້ຜ່ານ
-r/--rev, ເດັກນ້ອຍຂອງການປັບປຸງນັ້ນຈະຖືກພິມອອກ. ຖ້າມີການໂຕ້ຖຽງໄຟລ໌,
ການແກ້ໄຂທີ່ໄຟລ໌ໄດ້ຖືກປ່ຽນແປງຄັ້ງສຸດທ້າຍ (ຫຼັງຈາກການແກ້ໄຂໄດເລກະທໍລີທີ່ເຮັດວຽກຫຼື
argument to --rev ຖ້າ​ຫາກ​ວ່າ​ໃຫ້​) ແມ່ນ​ພິມ​ອອກ​.

ກະລຸນາໃຊ້ hg log ແທນທີ່:

ເດັກນ້ອຍ hg => hg log -r 'children()'
hg ເດັກນ້ອຍ -r REV => hg log -r 'ເດັກນ້ອຍ(REV)'

ເບິ່ງ hg ຊ່ວຍເຫຼືອ log ແລະ hg ຊ່ວຍເຫຼືອ revsets.children.

ຕົວເລືອກ:

-r,--rev
ສະແດງໃຫ້ເຫັນເດັກນ້ອຍຂອງການປັບປຸງທີ່ລະບຸໄວ້

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

churn
ຄໍາສັ່ງເພື່ອສະແດງສະຖິຕິກ່ຽວກັບປະຫວັດສາດ repository

ຄໍາສັ່ງ
churn
histogram ຂອງການປ່ຽນແປງກັບ repository:

hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]

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

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

ຕົວຢ່າງ:

# ສະແດງຈຳນວນຂອງສາຍທີ່ປ່ຽນໄປສຳລັບທຸກໆ committer
hg churn -t "{author|email}"

# ສະແດງກາຟກິດຈະກໍາປະຈໍາວັນ
hg churn -f "%H" -s -c

# ສະແດງການເຄື່ອນໄຫວຂອງຜູ້ພັດທະນາຕາມເດືອນ
hg churn -f "%Y-%m" -s -c

# ສະແດງຈຳນວນສາຍທີ່ມີການປ່ຽນແປງໃນແຕ່ລະປີ
hg churn -f "%Y" -s

ມັນເປັນໄປໄດ້ທີ່ຈະສ້າງແຜນທີ່ທີ່ຢູ່ອີເມວສະຫຼັບກັບທີ່ຢູ່ຕົ້ນຕໍໂດຍການສະຫນອງໄຟລ໌
ການນໍາໃຊ້ຮູບແບບດັ່ງຕໍ່ໄປນີ້:

=

ໄຟລ໌ດັ່ງກ່າວອາດຈະຖືກລະບຸດ້ວຍຕົວເລືອກ --aliases, ຖ້າບໍ່ດັ່ງນັ້ນໄຟລ໌ .hgchurn ຈະເປັນ
ຊອກຫາຢູ່ໃນຮາກໄດເລກະທໍລີທີ່ເຮັດວຽກ. ນາມແຝງຈະຖືກແຍກອອກຈາກຂວາສຸດ "=".

ຕົວເລືອກ:

-r,--rev
ອັດ​ຕາ​ການ​ນັບ​ສໍາ​ລັບ​ການ​ປັບ​ປຸງ​ທີ່​ກໍາ​ນົດ​ໄວ້​ຫຼື revset​

-d,- ວັນທີ
ອັດ​ຕາ​ການ​ນັບ​ສໍາ​ລັບ​ການ​ດັດ​ແກ້​ທີ່​ກົງ​ກັບ spec ວັນ​ທີ​

-t,--old template
ແມ່ແບບໃສ່ຊຸດການປ່ຽນແປງກຸ່ມ (DEPRECATED)

-T,--ແມ່ແບບ
ແມ່ແບບໃສ່ຊຸດການປ່ຽນແປງກຸ່ມ (ຄ່າເລີ່ມຕົ້ນ: {author|email})

-f,-- ຮູບແບບວັນທີ
ຮູບແບບທີ່ເຂົ້າກັນໄດ້ strftime ສໍາລັບການຈັດກຸ່ມຕາມວັນທີ

-c, --ຊຸດການປ່ຽນແປງ
ນັບອັດຕາໂດຍຈໍານວນຂອງການປ່ຽນແປງ

- ແມ່ນແລ້ວ, --ຄັດ
ຈັດຮຽງຕາມຄີ (ຄ່າເລີ່ມຕົ້ນ: ຈັດຮຽງຕາມຈຳນວນ)

--diffstat
ສະ​ແດງ​ສາຍ​ເພີ່ມ / ເອົາ​ອອກ​ແຍກ​ຕ່າງ​ຫາກ​

--ນາມແຝງ
ໄຟລ໌ທີ່ມີນາມແຝງອີເມວ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

clonebundle
ໂຄສະນາມັດທີ່ຜະລິດໄວ້ກ່ອນເພື່ອໂຄນແກ່ນ

"clonebundle" ແມ່ນສ່ວນຂະຫຍາຍຂ້າງເຊີບເວີທີ່ໃຊ້ເພື່ອໂຄສະນາການມີຢູ່ຂອງ
ສ້າງກ່ອນ, ໄຟລ໌ bundle ເປັນເຈົ້າພາບພາຍນອກໃຫ້ກັບລູກຄ້າທີ່ກໍາລັງ cloning ດັ່ງນັ້ນການ cloning
ສາມາດໄວຂຶ້ນ, ເຊື່ອຖືໄດ້, ແລະຕ້ອງການຊັບພະຍາກອນໜ້ອຍລົງໃນເຊີບເວີ.

Cloning ສາມາດເປັນ CPU ແລະ I/O ການເຮັດວຽກແບບສຸມຢູ່ໃນເຊີບເວີ. ຕາມປະເພນີ, ເຄື່ອງແມ່ຂ່າຍ, ໃນ
ຕອບສະຫນອງຕໍ່ຄໍາຮ້ອງຂໍຂອງລູກຄ້າເພື່ອ clone, dynamically ສ້າງ bundle ປະກອບດ້ວຍ
ເນື້ອ​ໃນ repository ທັງ​ຫມົດ​ແລະ​ສົ່ງ​ໃຫ້​ລູກ​ຄ້າ​. ບໍ່ມີແຄດຢູ່ໃນເຊີບເວີ
ແລະເຊີບເວີຈະຕ້ອງສ້າງ bundle ຂາອອກດຽວກັນຊ້ຳຊ້ອນໃນການຕອບສະໜອງ
ແຕ່ລະຄໍາຮ້ອງຂໍ clone. ສໍາລັບເຄື່ອງແມ່ຂ່າຍທີ່ມີ repositories ຂະຫນາດໃຫຍ່ຫຼືມີປະລິມານ clone ສູງ, ໄດ້
ການໂຫຼດຈາກ clones ສາມາດເຮັດໃຫ້ການຂະຫຍາຍເຊີບເວີມີຄວາມທ້າທາຍແລະມີຄ່າໃຊ້ຈ່າຍຫຼາຍ.

ສ່ວນຂະຫຍາຍນີ້ໃຫ້ຜູ້ປະຕິບັດການເຊີບເວີຄວາມສາມາດໃນການ offload ທີ່ມີລາຄາແພງ
ການໂຫຼດ clone ກັບການບໍລິການພາຍນອກ. ນີ້ແມ່ນວິທີການເຮັດວຽກ.

1. ຜູ້ໃຫ້ບໍລິການເຊີບເວີສ້າງກົນໄກການເຮັດໃຫ້ໄຟລ໌ມັດມີຢູ່ໃນ a
ການບໍລິການໂຮດຕິ້ງທີ່ລູກຄ້າ Mercurial ສາມາດດຶງພວກມັນໄດ້.

2. A manifest file listing the available bundle URLs and some optional metadata is added to
ຄັງເກັບມ້ຽນ Mercurial ໃນເຊີບເວີ.

3. ລູກຄ້າລິເລີ່ມການໂຄລນຕໍ່ກັບເຊີບເວີ aware bundle clone.

4. ລູກຄ້າເຫັນເຄື່ອງແມ່ຂ່າຍແມ່ນການໂຄສະນາການມັດ clone ແລະ fetches manifest
ລາຍຊື່ຊຸດທີ່ມີຢູ່.

5. ລູກຄ້າການກັ່ນຕອງແລະຈັດຮຽງຊຸດທີ່ມີໂດຍອີງໃສ່ສິ່ງທີ່ມັນສະຫນັບສະຫນູນແລະ
ມັກ.

6. ລູກຄ້າດາວໂຫຼດ ແລະນຳໃຊ້ຊຸດທີ່ສາມາດໃຊ້ໄດ້ຈາກ URL ທີ່ລະບຸໂດຍເຊີບເວີ.

7. ລູກຄ້າ reconnects ກັບເຄື່ອງແມ່ຂ່າຍຕົ້ນສະບັບແລະປະຕິບັດການທຽບເທົ່າຂອງ hg ດຶງ to
ດຶງຂໍ້ມູນ repository ທັງຫມົດທີ່ບໍ່ໄດ້ຢູ່ໃນ bundle. (ບ່ອນເກັບມ້ຽນສາມາດປັບປຸງໄດ້
ລະຫວ່າງເວລາທີ່ຊຸດໄດ້ຖືກສ້າງຂື້ນແລະເວລາທີ່ລູກຄ້າເລີ່ມຕົ້ນ clone.)

ແທນທີ່ເຄື່ອງແມ່ຂ່າຍຈະສ້າງຊຸດບ່ອນເກັບມ້ຽນເຕັມສໍາລັບທຸກໆຄໍາຮ້ອງຂໍ clone, ມັນ
ສ້າງ bundle ເຕັມຄັ້ງຫນຶ່ງແລະພວກມັນຖືກນໍາມາໃຊ້ຄືນໃຫມ່ເພື່ອ bootstrap clones ໃຫມ່. ໄດ້
ເຊີບເວີອາດຈະຍັງໂອນຂໍ້ມູນໃນເວລາທີ່ clone. ຢ່າງໃດກໍຕາມ, ນີ້ແມ່ນພຽງແຕ່ຂໍ້ມູນທີ່ໄດ້
ເພີ່ມ / ປ່ຽນແປງນັບຕັ້ງແຕ່ຊຸດໄດ້ຖືກສ້າງຂື້ນ. ສໍາລັບຂະຫນາດໃຫຍ່, repositories ສ້າງຕັ້ງຂຶ້ນ, ນີ້ສາມາດເຮັດໄດ້
ຫຼຸດການໂຫຼດເຊີບເວີສຳລັບໂຄລນໃຫ້ໜ້ອຍກວ່າ 1% ຂອງຕົ້ນສະບັບ.

ເພື່ອເຮັດວຽກ, ສ່ວນຂະຫຍາຍນີ້ຕ້ອງການຜູ້ປະຕິບັດການເຊີບເວີຕໍ່ໄປນີ້:

· ການ​ຜະ​ລິດ​ໄຟລ​໌​ມັດ​ຂອງ​ເນື້ອ​ໃນ repository (ໂດຍ​ປົກ​ກະ​ຕິ​ແຕ່​ລະ​ໄລ​ຍະ​, ເຊັ່ນ​ດຽວ​ກັນ​
ມື້).

· ເຊີບເວີໄຟລ໌ທີ່ລູກຄ້າສາມາດເຂົ້າເຖິງເຄືອຂ່າຍໄດ້ ແລະທີ່ Python ຮູ້ວິທີການສົນທະນາກັບ
ໂດຍຜ່ານສະຖານທີ່ຈັດການ URL ປົກກະຕິຂອງມັນ (ໂດຍປົກກະຕິແມ່ນເຄື່ອງແມ່ຂ່າຍ HTTP).

· ຂະບວນການສໍາລັບການຮັກສາມັດ manifest ໃນ sync ກັບໄຟລ໌ມັດທີ່ມີຢູ່.

ເວົ້າຢ່າງເຂັ້ມງວດ, ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ເຄື່ອງແມ່ຂ່າຍໂຮດຕິ້ງໄຟລ໌ຄົງທີ່: ຜູ້ໃຫ້ບໍລິການເຊີຟເວີ
ສາມາດໃຊ້ບໍລິການແບບໄດນາມິກສຳລັບການດຶງຂໍ້ມູນຊຸດ. ຢ່າງໃດກໍຕາມ, static file hosting
ການບໍລິການແມ່ນງ່າຍດາຍ ແລະສາມາດຂະຫຍາຍໄດ້ ແລະຄວນຈະພຽງພໍກັບຄວາມຕ້ອງການສ່ວນໃຫຍ່.

ໄຟລ໌ Bundle ສາມາດຖືກສ້າງຂຶ້ນດ້ວຍ hg ມັດ ຄໍາສັ່ງ. ໂດຍປົກກະຕິ hg ມັດ --ທັງໝົດ is
ໃຊ້ເພື່ອຜະລິດມັດຂອງຄັງເກັບທັງໝົດ.

hg debugcreatestreamclonebundle ສາມາດນໍາໃຊ້ເພື່ອຜະລິດພິເສດ ນ້ໍາ clone ມັດ.
ເຫຼົ່ານີ້ແມ່ນໄຟລ໌ມັດທີ່ມີປະສິດຕິພາບສູງໃນການຜະລິດແລະບໍລິໂພກ (ອ່ານ: ໄວ).
ຢ່າງໃດກໍ່ຕາມ, ພວກມັນໃຫຍ່ກວ່າຮູບແບບມັດແບບດັ້ງເດີມແລະຕ້ອງການໃຫ້ລູກຄ້າສະຫນັບສະຫນູນ
ຮູບແບບການເກັບຮັກສາຂໍ້ມູນບ່ອນເກັບມ້ຽນທີ່ແນ່ນອນທີ່ໃຊ້ໂດຍ repository ທີ່ສ້າງພວກມັນ.
ໂດຍປົກກະຕິ, ເຊີບເວີທີ່ໃໝ່ກວ່າສາມາດໃຫ້ບໍລິການຂໍ້ມູນທີ່ເຂົ້າກັນໄດ້ກັບລູກຄ້າເກົ່າ. ແນວໃດກໍ່ຕາມ,
ນ້ໍາ clone bundles ບໍ່ມີການຮັບປະກັນນີ້. Server ຜູ້ປະກອບການ ຕ້ອງການ to be ຮູ້ ທີ່
ໃຫມ່ກວ່າ ສະບັບ of ໂລກມະເລັງ ອາດຈະ ຜະລິດ ນ້ໍາ clone bundles ບໍ່ເຂົ້າກັນ ກັບ ເກົ່າກວ່າເກົ່າ
ໂລກມະເລັງ ຮຸ່ນ

ຜູ້ໃຫ້ບໍລິການເຊີບເວີແມ່ນຮັບຜິດຊອບໃນການສ້າງ a .hg/clonebundle.manifest ໄຟລ໌ທີ່ປະກອບດ້ວຍ
ບັນຊີລາຍຊື່ຂອງໄຟລ໌ມັດທີ່ມີຢູ່ທີ່ເຫມາະສົມສໍາລັບການ clones ແກ່ນ. ຖ້າໄຟລ໌ນີ້ບໍ່
ມີຢູ່, repository ຈະບໍ່ໂຄສະນາການມີຢູ່ຂອງ clone bundle ໃນເວລາທີ່ລູກຄ້າ
ເຊື່ອມຕໍ່.

ໄຟລ໌ manifest ມີແຖວໃຫມ່ ( ) delimited ບັນຊີລາຍຊື່ຂອງລາຍການ.

ແຕ່ລະແຖວໃນໄຟລ໌ນີ້ກໍານົດຊຸດທີ່ມີໃຫ້. ສາຍ​ມີ​ຮູບ​ແບບ​:

[ = [ = ]]

ນັ້ນແມ່ນ, URL ທີ່ຕິດຕາມມາດ້ວຍທາງເລືອກ, ບັນຊີລາຍຊື່ທີ່ຂັ້ນດ້ວຍຊ່ອງຫວ່າງຂອງ key=value pairs ອະທິບາຍ.
ຄຸນສົມບັດເພີ່ມເຕີມຂອງຊຸດນີ້. ທັງສອງກະແຈ ແລະຄ່າຖືກເຂົ້າລະຫັດ URI.

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

ກະແຈທີ່ສະຫງວນໄວ້ຕໍ່ໄປນີ້ແມ່ນຖືກກໍານົດໃນປັດຈຸບັນ:

BUNDLESPEC
ສະຕຣິງ "ຂໍ້ມູນສະເພາະຂອງຊຸດ" ທີ່ອະທິບາຍປະເພດຂອງຊຸດ.

ເຫຼົ່ານີ້ແມ່ນຄ່າສະຕຣິງທີ່ຍອມຮັບໂດຍ "--type" argument ຂອງ hg ມັດ.

ຄ່າໄດ້ຖືກວິເຄາະໃນຮູບແບບທີ່ເຄັ່ງຄັດ, ຊຶ່ງຫມາຍຄວາມວ່າພວກມັນຕ້ອງເປັນຂອງ
" - " ແບບຟອມ. ເບິ່ງ mercurial.exchange.parsebundlespec() ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ລາຍລະອຽດ.

hg debugbundle --spec ສາ​ມາດ​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ພິມ​ສະ​ຕ​ຣິ​ງ​ຂໍ້​ຈໍາ​ກັດ​ມັດ​ສໍາ​ລັບ​ການ a
ໄຟລ໌ມັດ. ຜົນໄດ້ຮັບຂອງຄໍາສັ່ງນີ້ສາມາດຖືກນໍາໃຊ້ verbatim ສໍາລັບມູນຄ່າຂອງ
BUNDLESPEC (ມັນ​ໄດ້​ຖືກ​ຫນີ​ແລ້ວ).

ລູກຄ້າຈະອັດຕະໂນມັດການກັ່ນຕອງອອກສະເພາະທີ່ບໍ່ຮູ້ຫຼື
ບໍ່ຮອງຮັບ ດັ່ງນັ້ນເຂົາເຈົ້າຈະບໍ່ພະຍາຍາມດາວໂຫຼດບາງອັນທີ່ອາດຈະໃຊ້ບໍ່ໄດ້.

ມູນຄ່າຕົວຈິງບໍ່ມີຜົນກະທົບຕໍ່ພຶດຕິກໍາຂອງລູກຄ້ານອກເຫນືອຈາກການກັ່ນຕອງ: ລູກຄ້າຈະ
ຍັງ sniff ປະເພດມັດຈາກ header ຂອງໄຟລ໌ດາວໂຫຼດ.

ການນໍາໃຊ້ of ນີ້ ທີ່ສໍາຄັນ is ສູງ ແນະນໍາໃຫ້, ຍ້ອນວ່າມັນຊ່ວຍໃຫ້ລູກຄ້າສາມາດຂ້າມໄດ້ງ່າຍ
ຊຸດທີ່ບໍ່ຮອງຮັບ. ຖ້າລະຫັດນີ້ບໍ່ໄດ້ຖືກກໍານົດ, ລູກຄ້າເກົ່າອາດຈະພະຍາຍາມສະຫມັກ
ມັດທີ່ມັນບໍ່ສາມາດອ່ານໄດ້.

ຕ້ອງການ
ບໍ່ວ່າຕົວຊີ້ບອກຊື່ເຊີບເວີ (SNI) ແມ່ນຕ້ອງການເພື່ອເຊື່ອມຕໍ່ກັບ URL. SNI ອະນຸຍາດໃຫ້
ເຊີບເວີເພື່ອໃຊ້ໃບຢັ້ງຢືນຫຼາຍອັນຢູ່ໃນ IP ດຽວກັນ. ມັນແມ່ນຂ້ອນຂ້າງທົ່ວໄປໃນ CDNs
ແລະຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງອື່ນໆ. ເວີຊັ່ນ Python ເກົ່າບໍ່ຮອງຮັບ SNI. ການກໍານົດ
ຄຸນ​ລັກ​ສະ​ນະ​ນີ້​ເຮັດ​ໃຫ້​ລູກ​ຄ້າ​ທີ່​ມີ​ສະ​ບັບ Python ເກົ່າ​ເພື່ອ​ກັ່ນ​ຕອງ​ການ​ເຂົ້າ​ນີ້​
ໂດຍບໍ່ມີການປະສົບຄວາມລົ້ມເຫລວ SSL opaque ໃນເວລາເຊື່ອມຕໍ່.

ຖ້ານີ້ຖືກກໍານົດ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະໂຄສະນາ URL ທີ່ບໍ່ແມ່ນ SNI ຫຼືລູກຄ້າ
ແລ່ນການປ່ອຍ Python ເກົ່າອາດຈະບໍ່ສາມາດ clone ກັບ clonebundle ໄດ້
ສະຖານທີ່.

ມູນຄ່າຄວນຈະເປັນ "ຄວາມຈິງ".

Manifests ສາມາດປະກອບມີຫຼາຍລາຍການ. ສົມມຸດວ່າ metadata ຖືກກໍານົດ, ລູກຄ້າຈະກັ່ນຕອງ
ລາຍການຈາກ manifest ທີ່ພວກເຂົາບໍ່ສະຫນັບສະຫນູນ. ລາຍການທີ່ຍັງເຫຼືອແມ່ນເປັນທາງເລືອກ
ຈັດຮຽງຕາມຄວາມມັກຂອງລູກຄ້າ (experimental.clonebundleprefers ທາງເລືອກ config). ລູກຄ້າ
ຈາກນັ້ນພະຍາຍາມດຶງເອົາຊຸດຢູ່ URL ທໍາອິດໃນບັນຊີລາຍຊື່ທີ່ຍັງເຫຼືອ.

ຂໍ້ຜິດພາດ ໃນເວລາທີ່ ດາວນ໌ໂຫລດ a ມັດ ຈະ ບໍ່ ໄດ້ ທັງຫມົດ clone ການປະຕິບັດງານ: ລູກຄ້າ do ບໍ່
ອັດຕະໂນມັດ ຕໍ່າກ່ວາ ກັບຄືນໄປບ່ອນ to a ດັ້ງເດີມ ໂຄນ. ເຫດຜົນສໍາລັບການນີ້ແມ່ນວ່າຖ້າເຄື່ອງແມ່ຂ່າຍແມ່ນ
ການ​ນໍາ​ໃຊ້ clone bundle​, ມັນ​ອາດ​ຈະ​ເຮັດ​ແນວ​ນັ້ນ​ເນື່ອງ​ຈາກ​ວ່າ​ຄຸນ​ສົມ​ບັດ​ແມ່ນ​ຈໍາ​ເປັນ​ເພື່ອ​ຊ່ວຍ​ໃຫ້​ມັນ​
ຂະໜາດ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ມີການສົມມຸດຕິຖານວ່າການໂຫຼດ clone ຈະຖືກສົ່ງກັບຄົນອື່ນ
ການບໍລິການ ແລະເຊີບເວີ Mercurial ບໍ່ຮັບຜິດຊອບໃນການຮັບໃຊ້ການໂຫຼດໂຄນນນີ້. ຖ້າ
ທີ່ການບໍລິການອື່ນໆປະສົບບັນຫາແລະລູກຄ້າເລີ່ມຫຼຸດລົງຢ່າງຫຼວງຫຼາຍກັບຕົ້ນສະບັບ
ເຊີບເວີ Mercurial, ການໂຫຼດ clone ເພີ່ມເຕີມສາມາດ overwhelm ເຄື່ອງແມ່ຂ່າຍເນື່ອງຈາກການໂຫຼດທີ່ບໍ່ຄາດຄິດ
ແລະເອົາມັນອອຟໄລຢ່າງມີປະສິດທິພາບ. ບໍ່ມີລູກຄ້າອັດຕະໂນມັດກັບໄປ cloning
ຈາກເຄື່ອງແມ່ຂ່າຍຕົ້ນສະບັບຫຼຸດຜ່ອນສະຖານະການນີ້.

ເນື່ອງຈາກວ່າບໍ່ມີເຄື່ອງແມ່ຂ່າຍ Mercurial ອັດຕະໂນມັດກ່ຽວກັບຄວາມລົ້ມເຫຼວຂອງ bundle hosting
ການບໍລິການ, ມັນເປັນສິ່ງສໍາຄັນສໍາລັບຜູ້ປະຕິບັດການເຄື່ອງແມ່ຂ່າຍທີ່ຈະເບິ່ງການບໍລິການໂຮດຕິ້ງມັດເປັນ
ການຂະຫຍາຍເຊີບເວີ Mercurial ໃນແງ່ຂອງຄວາມພ້ອມ ແລະຂໍ້ຕົກລົງລະດັບການບໍລິການ:
ຖ້າບໍລິການໂຮດຕິ້ງ bundle ຫຼຸດລົງ, ຄວາມສາມາດສໍາລັບລູກຄ້າທີ່ຈະ clone. ຫມາຍ​ເຫດ​:
ລູກ​ຄ້າ​ຈະ​ເຫັນ​ຂໍ້​ຄວາມ​ທີ່​ແຈ້ງ​ໃຫ້​ເຂົາ​ເຈົ້າ​ວິ​ທີ​ການ​ຂ້າມ​ສະ​ຖານ​ທີ່ clone bundle ໃນ​ເວ​ລາ​ທີ່ a
ຄວາມລົ້ມເຫຼວເກີດຂຶ້ນ. ດັ່ງນັ້ນຜູ້ປະຕິບັດການເຄື່ອງແມ່ຂ່າຍຄວນກະກຽມສໍາລັບບາງຄົນທີ່ຈະປະຕິບັດຕາມເຫຼົ່ານີ້
ຄໍາແນະນໍາໃນເວລາທີ່ຄວາມລົ້ມເຫຼວເກີດຂຶ້ນ, ດັ່ງນັ້ນການຂັບລົດການໂຫຼດເພີ່ມເຕີມຕໍ່ກັບ Mercurial ຕົ້ນສະບັບ
ເຊີບເວີເມື່ອການບໍລິການໂຮດຕິ້ງ bundle ລົ້ມເຫລວ.

ສີ
colorize ຜົນຜະລິດຈາກບາງຄໍາສັ່ງ

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

ຜົນກະທົບ
ເອັບເຟັກອື່ນນອກເໜືອໄປຈາກສີ, ເຊັ່ນ: ຂໍ້ຄວາມຕົວໜາ ແລະຂີດກ້ອງ, ຍັງມີຢູ່. ໂດຍ
ໃນຕອນຕົ້ນ, ຖານຂໍ້ມູນ terminfo ຖືກນໍາໃຊ້ເພື່ອຊອກຫາລະຫັດ terminal ທີ່ໃຊ້ເພື່ອປ່ຽນສີແລະ
ຜົນກະທົບ. ຖ້າ terminfo ບໍ່ສາມາດໃຊ້ໄດ້, ຫຼັງຈາກນັ້ນຜົນກະທົບຈະຖືກສະແດງດ້ວຍ ECMA-48 SGR
ຟັງຊັນຄວບຄຸມ (aka ANSI ລະຫັດຫນີ).

ຜົນກະທົບທີ່ມີຢູ່ໃນຮູບແບບ terminfo ແມ່ນ 'blink', 'bold', 'dim', 'inverse', 'ເບິ່ງບໍ່ເຫັນ',
'ຕົວອຽງ', 'ໂດດເດັ່ນ', ແລະ 'ຂີດກ້ອງ'; ໃນໂຫມດ ECMA-48, ທາງເລືອກແມ່ນ 'bold', 'inverse',
'ຕົວອຽງ' ແລະ 'ຂີດກ້ອງ'. ວິທີການສະແດງແຕ່ລະອັນແມ່ນຂຶ້ນກັບຕົວ emulator terminal. ບາງ
ອາດຈະບໍ່ມີໃຫ້ສໍາລັບປະເພດ terminal ທີ່ລະບຸ, ແລະຈະຖືກລະເລີຍຢ່າງງຽບໆ.

ປ້າຍກໍາກັບ
ຂໍ້ຄວາມໄດ້ຮັບຜົນກະທົບສີໂດຍອີງຕາມປ້າຍຊື່ທີ່ມັນມີ. Mercurial ເລີ່ມຕົ້ນຫຼາຍອັນ
ຄໍາສັ່ງປ່ອຍຂໍ້ຄວາມທີ່ມີປ້າຍຊື່. ນອກນັ້ນທ່ານຍັງສາມາດກໍານົດປ້າຍຊື່ຂອງທ່ານເອງໃນແມ່ແບບໂດຍໃຊ້
ການທໍາງານຂອງປ້າຍຊື່, ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແມ່ແບບ. ສ່ວນໜຶ່ງຂອງຂໍ້ຄວາມອາດມີຫຼາຍກວ່າໜຶ່ງອັນ
ປ້າຍຊື່. ໃນກໍລະນີດັ່ງກ່າວ, ຜົນກະທົບທີ່ໃຫ້ກັບປ້າຍສຸດທ້າຍຈະ override ຜົນກະທົບອື່ນໆ. ນີ້
ປະກອບມີຜົນກະທົບພິເສດ "none", ເຊິ່ງ nullifies ຜົນກະທົບອື່ນໆ.

ປ້າຍກຳກັບແມ່ນປົກກະຕິເບິ່ງບໍ່ເຫັນ. ເພື່ອເບິ່ງປ້າຍເຫຼົ່ານີ້ແລະຕໍາແຫນ່ງຂອງພວກເຂົາໃນ
text, ໃຊ້ global --color=debug option. ຂໍ້ຄວາມສະມໍດຽວກັນອາດຈະກ່ຽວຂ້ອງກັບ
ຫຼາຍປ້າຍຊື່, eg

[log.changeset changeset.secret|changeset: 22611:6f0a53c8f587]

ຕໍ່ໄປນີ້ແມ່ນຜົນກະທົບເລີ່ມຕົ້ນສໍາລັບບາງປ້າຍຊື່ເລີ່ມຕົ້ນ. ຜົນກະທົບເລີ່ມຕົ້ນອາດຈະເປັນ
overridden ຈາກໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ:

[ສີ]
status.modified = ສີຟ້າເຂັ້ມ underline red_background
status.added = ສີຂຽວເຂັ້ມ
status.removed = ສີແດງເຂັ້ມ blue_background
status.deleted = ສີຟ້າສີຟ້າເຂັ້ມຂີດກ້ອງ
status.unknown = ສີມ່ວງແດງເຂັ້ມຂີດກ້ອງ
status.ignored = ໜາດຳ

# 'none' ປິດເອັບເຟັກທັງໝົດ
status.clean = ບໍ່ມີ
status.copied = ບໍ່ມີ

qseries.applied = ຂີດກ້ອງສີຟ້າເຂັ້ມ
qseries.unapplied = ໜາດຳ
qseries.missing = ສີແດງເຂັ້ມ

diff.diffline = ກ້າຫານ
diff.extended = ສີຟ້າເຂັ້ມ
diff.file_a = ສີແດງເຂັ້ມ
diff.file_b = ສີຂຽວເຂັ້ມ
diff.hunk = ສີມ່ວງແດງ
diff.deleted = ສີແດງ
diff.inserted = ສີຂຽວ
diff.changed = ສີຂາວ
diff.tab =
diff.trailingwhitespace = ໜາສີແດງ_ພື້ນຫຼັງ

# ເປົ່າເພື່ອໃຫ້ມັນສືບທອດຮູບແບບຂອງປ້າຍອ້ອມຂ້າງ
changeset.public =
changeset.draft =
changeset.secret =

solve.unresolved = ສີແດງເຂັ້ມ
solve.resolved = ສີຂຽວເຂັ້ມ

bookmarks.active = ສີຂຽວ

branch.active = ບໍ່ມີ
branch.closed = ໜາດຳ
branch.current = ສີຂຽວ
branch.inactive = none

tags.normal = ສີຂຽວ
tags.local = ໜາດຳ

rebase.rebased = ສີຟ້າ
rebase.remaining = ສີແດງເຂັ້ມ

shelve.age = ຟ້າ
shelve.newest = ສີຂຽວເຂັ້ມ
shelve.name = ສີຟ້າເຂັ້ມ

histedit.remaining = ສີແດງເຂັ້ມ

Custom ສີ
ເນື່ອງຈາກວ່າມີພຽງແຕ່ແປດສີມາດຕະຖານ, ໂມດູນນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດກໍານົດຊື່ສີ
ສໍາລັບຊ່ອງສີອື່ນໆທີ່ອາດຈະສາມາດໃຊ້ໄດ້ສໍາລັບປະເພດ terminal ຂອງທ່ານ, ສົມມຸດວ່າ terminfo
ໂໝດ. ຕົວ​ຢ່າງ:

color.brightblue = 12
color.pink = 207
color.orange = 202

ເພື່ອຕັ້ງຄ່າ 'brightblue' ເປັນສີ slot 12 (ເປັນປະໂຫຍດສໍາລັບ 16 terminals ສີທີ່ມີຄວາມສະຫວ່າງກວ່າ.
ສີທີ່ກໍານົດຢູ່ໃນແປດເທິງ) ແລະ, 'ສີບົວ' ແລະ 'ສີສົ້ມ' ກັບສີໃນ 256-color xterm's
cube ສີເລີ່ມຕົ້ນ. ສີທີ່ກຳນົດໄວ້ເຫຼົ່ານີ້ອາດຈະຖືກໃຊ້ເປັນອັນໃດກໍໄດ້ທີ່ກຳນົດໄວ້ລ່ວງໜ້າ
ແປດ, ລວມທັງການຕໍ່ທ້າຍ '_background' ເພື່ອກໍານົດພື້ນຫລັງເປັນສີນັ້ນ.

Modes
ໂດຍຄ່າເລີ່ມຕົ້ນ, ການຂະຫຍາຍສີຈະໃຊ້ໂຫມດ ANSI (ຫຼືໂຫມດ win32 ໃນ Windows) ຖ້າມັນ
ກວດ​ພົບ​ຢູ່​ປາຍ​ຍອດ​. ເພື່ອ override ໂຫມດອັດຕະໂນມັດ (ເພື່ອເປີດໃຊ້ໂຫມດ terminfo, ສໍາລັບຕົວຢ່າງ), ຕັ້ງຄ່າ
ທາງ​ເລືອກ​ການ​ຕັ້ງ​ຄ່າ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

[ສີ]
ຮູບແບບ = ຂໍ້ມູນໄລຍະ

ຄ່າໃດໆນອກເໜືອໄປຈາກ 'ansi', 'win32', 'terminfo', ຫຼື 'auto' ຈະປິດການໃຊ້ງານສີ.

ໃຫ້ສັງເກດວ່າໃນບາງລະບົບ, ຮູບແບບ terminfo ອາດຈະເຮັດໃຫ້ເກີດບັນຫາໃນເວລາທີ່ການນໍາໃຊ້ສີກັບ the
ການຂະຫຍາຍ pager ແລະຫນ້ອຍ -R. ຫນ້ອຍລົງດ້ວຍຕົວເລືອກ -R ຈະສະແດງສີ ECMA-48 ເທົ່ານັ້ນ
ລະຫັດ, ແລະຮູບແບບ terminfo ບາງຄັ້ງອາດຈະປ່ອຍລະຫັດທີ່ບໍ່ຄ່ອຍເຂົ້າໃຈ. ເຈົ້າ​ສາ​ມາດ
ເຮັດ​ວຽກ​ປະ​ມານ​ນີ້​ໂດຍ​ການ​ນໍາ​ໃຊ້​ຮູບ​ແບບ ansi (ຫຼື​ຮູບ​ແບບ​ອັດ​ຕະ​ໂນ​ມັດ​)​, ຫຼື​ໂດຍ​ການ​ນໍາ​ໃຊ້​ຫນ້ອຍ -r (ຊຶ່ງ​ຈະ​
ຜ່ານທຸກລະຫັດຄວບຄຸມຢູ່ປາຍຍອດ, ບໍ່ພຽງແຕ່ລະຫັດຄວບຄຸມສີ).

ໃນບາງລະບົບ (ເຊັ່ນ: MSYS ໃນ Windows), terminal ອາດຈະສະຫນັບສະຫນູນຮູບແບບສີທີ່ແຕກຕ່າງກັນ
ກ່ວາ pager (ເປີດໃຊ້ງານຜ່ານສ່ວນຂະຫຍາຍ "pager"). ມັນເປັນໄປໄດ້ທີ່ຈະກໍານົດແຍກຕ່າງຫາກ
ໂຫມດຂຶ້ນກັບວ່າ pager ເຮັດວຽກຫຼືບໍ່:

[ສີ]
ໂໝດ = ອັດຕະໂນມັດ
pagermode = ansi

If pagermode ບໍ່ໄດ້ກໍານົດ, ໄດ້ ຮູບແບບການ ຈະຖືກນໍາໃຊ້.

ຄໍາສັ່ງ
ແປງ
ນໍາເຂົ້າການດັດແກ້ຈາກບ່ອນເກັບມ້ຽນ VCS ຕ່າງປະເທດເຂົ້າໄປໃນ Mercurial

ຄໍາສັ່ງ
ແປງ
ປ່ຽນບ່ອນເກັບຂໍ້ມູນ SCM ຕ່າງປະເທດເປັນ Mercurial.:

hg convert [OPTION]... SOURCE [DEST [REVMAP]]

ຮູບແບບແຫຼ່ງທີ່ຍອມຮັບ [ຕົວລະບຸ]:

· Mercurial [hg]

· CVS [cvs]

· Darcs [darcs]

· git [git]

· ການ​ໂຄ່ນ​ລົ້ມ [svn​]

· monotone [mtn]

· GNU Arch [gnuarch]

· Bazaar [bzr]

· ການບັງຄັບ [p4]

ຮູບແບບປາຍທາງທີ່ຍອມຮັບ [ຕົວລະບຸ]:

· Mercurial [hg]

· Subversion [svn​] (ປະ​ຫວັດ​ສາດ​ກ່ຽວ​ກັບ​ສາ​ຂາ​ແມ່ນ​ບໍ່​ໄດ້​ຮັກ​ສາ​ໄວ້​)

ຖ້າບໍ່ມີການດັດແກ້, ການແກ້ໄຂທັງຫມົດຈະຖືກປ່ຽນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ແປງເທົ່ານັ້ນ
ນໍາເຂົ້າເຖິງການແກ້ໄຂທີ່ມີຊື່ (ໃຫ້ໃນຮູບແບບທີ່ເຂົ້າໃຈໂດຍແຫຼ່ງ).

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

ໂດຍຄ່າເລີ່ມຕົ້ນ, ແຫຼ່ງທັງໝົດຍົກເວັ້ນ Mercurial ຈະໃຊ້ --branchsort. ການນໍາໃຊ້ Mercurial
--sourcesort ເພື່ອຮັກສາລໍາດັບຕົວເລກການແກ້ໄຂຕົ້ນສະບັບ. ຮູບແບບການຈັດລຽງມີດັ່ງຕໍ່ໄປນີ້
ຜົນກະທົບ:

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

--datesort
ຈັດຮຽງການດັດແກ້ຕາມວັນທີ. ບ່ອນເກັບມ້ຽນທີ່ແປງແລ້ວມີ changelogs ທີ່ເບິ່ງດີແຕ່ແມ່ນ
ມັກຈະເປັນລໍາດັບຂອງຂະຫນາດທີ່ໃຫຍ່ກວ່າອັນດຽວກັນທີ່ສ້າງຂຶ້ນໂດຍ --branchsort.

--sourcesort
ພະຍາຍາມຮັກສາຄໍາສັ່ງດັດແກ້ແຫຼ່ງ, ສະຫນັບສະຫນູນພຽງແຕ່ແຫຼ່ງ Mercurial.

--ສິ່ງ​ໃກ້​ຊິດ
ພະຍາຍາມຍ້າຍການດັດແກ້ທີ່ປິດໃຫ້ໃກ້ຄຽງເທົ່າທີ່ເປັນໄປໄດ້ກັບສາຂາແມ່, ເທົ່ານັ້ນ
ສະຫນັບສະຫນູນໂດຍແຫຼ່ງ Mercurial.

If REVMAP ບໍ່​ໄດ້​ຮັບ​, ມັນ​ຈະ​ໄດ້​ຮັບ​ການ​ເອົາ​ໄວ້​ໃນ​ສະ​ຖານ​ທີ່​ເລີ່ມ​ຕົ້ນ (/.hg/shamap by
ຄ່າເລີ່ມຕົ້ນ). ໄດ້ REVMAP ເປັນໄຟລ໌ຂໍ້ຄວາມທີ່ງ່າຍດາຍທີ່ແຜນທີ່ແຕ່ລະແຫຼ່ງຄໍາຫມັ້ນສັນຍາ ID ກັບ
ID ຈຸດໝາຍປາຍທາງສຳລັບການດັດແກ້ນັ້ນ, ເຊັ່ນ:



ຖ້າໄຟລ໌ບໍ່ມີ, ມັນຈະຖືກສ້າງຂື້ນໂດຍອັດຕະໂນມັດ. ມັນໄດ້ຖືກປັບປຸງໃນແຕ່ລະຄໍາຫມັ້ນສັນຍາທີ່ຄັດລອກ,
so hg ແປງ ສາມາດຂັດຂວາງແລະສາມາດດໍາເນີນການຊ້ໍາຊ້ອນເພື່ອຄັດລອກຄໍາຫມັ້ນສັນຍາໃຫມ່.

ແຜນທີ່ຜູ້ຂຽນແມ່ນໄຟລ໌ຂໍ້ຄວາມທີ່ງ່າຍດາຍທີ່ສ້າງແຜນທີ່ແຕ່ລະແຫຼ່ງໃຫ້ຜູ້ຂຽນໄປຫາຈຸດຫມາຍປາຍທາງ
ຄໍາຫມັ້ນສັນຍາຜູ້ຂຽນ. ມັນເປັນປະໂຫຍດສໍາລັບແຫຼ່ງ SCMs ທີ່ໃຊ້ unix logins ເພື່ອກໍານົດຜູ້ຂຽນ (ເຊັ່ນ:
CVS). ຫນຶ່ງແຖວຕໍ່ການສ້າງແຜນທີ່ຜູ້ຂຽນແລະຮູບແບບເສັ້ນແມ່ນ:

source author = ຜູ້ຂຽນປາຍທາງ

ເສັ້ນຫວ່າງເປົ່າ ແລະເສັ້ນເລີ່ມຕົ້ນດ້ວຍ ກ # ຖືກລະເລີຍ.

ແຜນຜັງໄຟລ໌ແມ່ນໄຟລ໌ທີ່ອະນຸຍາດໃຫ້ການກັ່ນຕອງ ແລະການສ້າງແຜນທີ່ໄຟລ໌ ແລະລາຍການຄືນໃໝ່. ແຕ່ລະ
ເສັ້ນສາມາດປະກອບມີຫນຶ່ງໃນຄໍາແນະນໍາຕໍ່ໄປນີ້:

ປະກອບມີ path/to/file-or-dir

ຍົກເວັ້ນ path/to/file-or-dir

ປ່ຽນຊື່ເສັ້ນທາງ/ໄປ/ແຫຼ່ງທີ່ມາ/ໄປ/ຈຸດໝາຍປາຍທາງ

ແຖວຄຳເຫັນເລີ່ມຕົ້ນດ້ວຍ #. ເສັ້ນທາງທີ່ລະບຸຈະກົງກັນຖ້າມັນເທົ່າກັບຊື່ເຕັມຂອງພີ່ນ້ອງ
ຂອງໄຟລ໌ຫຼືຫນຶ່ງໃນໄດເລກະທໍລີຫຼັກຂອງມັນ. ໄດ້ ປະກອບດ້ວຍ or ຍົກເວັ້ນ ຄໍາສັ່ງກັບ
ເສັ້ນທາງການຈັບຄູ່ທີ່ຍາວທີ່ສຸດແມ່ນໃຊ້ໄດ້, ສະນັ້ນການຈັດລໍາດັບແຖວບໍ່ສໍາຄັນ.

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

-- ເຕັມ ຈະເຮັດໃຫ້ແນ່ໃຈວ່າຊຸດການປ່ຽນແປງທີ່ມີໄຟລ໌ທີ່ຖືກຕ້ອງກັບ the
ເນື້ອໃນທີ່ຖືກຕ້ອງ. ມັນ​ຈະ​ເຮັດ​ໃຫ້​ເປັນ​ການ​ປ່ຽນ​ແປງ​ຢ່າງ​ເຕັມ​ທີ່​ຂອງ​ໄຟລ​໌​ທັງ​ຫມົດ​, ບໍ່​ພຽງ​ແຕ່​ທີ່​ມີ​
ປ່ຽນແປງ. ໄຟລ໌ທີ່ຖືກຕ້ອງແລ້ວຈະບໍ່ຖືກປ່ຽນແປງ. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອສະຫມັກ
ແຜນທີ່ໄຟລ໌ປ່ຽນແປງເມື່ອປ່ຽນເປັນເທື່ອລະກ້າວ. ນີ້​ແມ່ນ​ປະ​ຈຸ​ບັນ​ສະ​ຫນັບ​ສະ​ຫນູນ​ພຽງ​ແຕ່​ສໍາ​ລັບ​ການ​
Mercurial ແລະ Subversion.

splicemap ແມ່ນໄຟລ໌ທີ່ອະນຸຍາດໃຫ້ໃສ່ປະຫວັດສາດສັງເຄາະ, ໃຫ້ທ່ານລະບຸ
ພໍ່ແມ່ຂອງການແກ້ໄຂ. ນີ້ແມ່ນເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະ eg ໃຫ້ subversion merge ສອງ
ພໍ່ແມ່, ຫຼືຕິດພັນສອງຊຸດຂອງປະຫວັດສາດທີ່ບໍ່ໄດ້ເຊື່ອມຕໍ່ກັນ. ແຕ່ລະລາຍການປະກອບມີກະແຈ,
ຕາມດ້ວຍຍະຫວ່າງ, ຕາມດ້ວຍໜຶ່ງ ຫຼືສອງຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ:

key parent1, parent2

ທີ່ສໍາຄັນແມ່ນ ID ການແກ້ໄຂໃນລະບົບການຄວບຄຸມການແກ້ໄຂແຫຼ່ງທີ່ພໍ່ແມ່ຄວນຈະເປັນ
ດັດແກ້ (ຮູບແບບດຽວກັນກັບກະແຈໃນ .hg/shamap). ຄ່າແມ່ນ ID ການແກ້ໄຂ (ໃນທັງສອງ
ລະບົບການຄວບຄຸມການແກ້ໄຂແຫຼ່ງຫຼືຈຸດຫມາຍປາຍທາງ) ທີ່ຄວນຈະຖືກນໍາໃຊ້ເປັນພໍ່ແມ່ໃຫມ່
ສໍາລັບ node. ຕົວຢ່າງ, ຖ້າທ່ານໄດ້ລວມ "ປ່ອຍ -1.0" ເຂົ້າໄປໃນ "ລໍາຕົ້ນ", ຫຼັງຈາກນັ້ນທ່ານຄວນ
ລະບຸການດັດແກ້ກ່ຽວກັບ "ລໍາຕົ້ນ" ເປັນພໍ່ແມ່ທໍາອິດແລະຫນຶ່ງໃນ "ການປ່ອຍ-1.0"
ສາຂາເປັນທີສອງ.

ແຜນທີ່ສາຂາແມ່ນໄຟລ໌ທີ່ອະນຸຍາດໃຫ້ທ່ານປ່ຽນຊື່ສາຂາໃນເວລາທີ່ມັນຖືກນໍາມາ
ຈາກບ່ອນເກັບມ້ຽນພາຍນອກໃດກໍ່ຕາມ. ເມື່ອໃຊ້ຮ່ວມກັນກັບ splicemap, ມັນອະນຸຍາດໃຫ້
ສໍາ​ລັບ​ການ​ປະ​ສົມ​ປະ​ສານ​ທີ່​ມີ​ອໍາ​ນາດ​ທີ່​ຈະ​ຊ່ວຍ​ແກ້​ໄຂ​ເຖິງ​ແມ່ນ​ວ່າ repositories ຖືກ​ຈັດ​ການ​ບໍ່​ດີ​ທີ່​ສຸດ​ແລະ​
ເຮັດໃຫ້ພວກມັນເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນ Mercurial ທີ່ມີໂຄງສ້າງທີ່ສວຍງາມ. ແຜນທີ່ສາຂາປະກອບມີແຖວຂອງ
ແບບຟອມ:

original_branch_name new_branch_name

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

ໂລກມະເລັງ ແຫຼ່ງຂໍ້ມູນ
ແຫຼ່ງ Mercurial ຮັບຮູ້ຕົວເລືອກການຕັ້ງຄ່າຕໍ່ໄປນີ້, ທີ່ທ່ານສາມາດຕັ້ງຄ່າໄດ້
ເສັ້ນຄໍາສັ່ງກັບ --config:

convert.hg.ignoreerrors
ບໍ່ສົນໃຈຄວາມຜິດພາດຄວາມຊື່ສັດໃນເວລາອ່ານ. ໃຊ້ມັນເພື່ອແກ້ໄຂບ່ອນເກັບມ້ຽນ Mercurial ກັບ
revlogs ທີ່ຂາດຫາຍໄປ, ໂດຍການປ່ຽນຈາກແລະເປັນ Mercurial. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ຖືກຕ້ອງ.

convert.hg.saverev
ເກັບຮັກສາ ID ການແກ້ໄຂຕົ້ນສະບັບໃນຊຸດການປ່ຽນແປງ (ບັງຄັບໃຫ້ ID ເປົ້າຫມາຍປ່ຽນແປງ). ມັນໃຊ້ເວລາເປັນ
boolean argument ແລະຄ່າເລີ່ມຕົ້ນເປັນ False.

convert.hg.startrev
ລະບຸການດັດແກ້ Mercurial ເບື້ອງຕົ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.

convert.hg.revs
revset ລະບຸການແກ້ໄຂແຫຼ່ງທີ່ຈະແປງ.

CVS ແຫຼ່ງຂໍ້ມູນ
ແຫຼ່ງ CVS ຈະໃຊ້ sandbox (ເຊັ່ນ: ສໍາເນົາທີ່ກວດສອບແລ້ວ) ຈາກ CVS ເພື່ອຊີ້ໃຫ້ເຫັນຈຸດເລີ່ມຕົ້ນ
ຈຸດຂອງສິ່ງທີ່ຈະໄດ້ຮັບການປ່ຽນໃຈເຫລື້ອມໃສ. ການເຂົ້າເຖິງໂດຍກົງກັບໄຟລ໌ repository ແມ່ນບໍ່ຈໍາເປັນ,
ເວັ້ນເສຍແຕ່ແນ່ນອນ repository ແມ່ນ :ທ້ອງຖິ່ນ:. ການແປງໃຊ້ໄດເລກະທໍລີລະດັບເທິງໃນ
sandbox ເພື່ອຊອກຫາບ່ອນເກັບມ້ຽນ CVS, ແລະຫຼັງຈາກນັ້ນໃຊ້ຄໍາສັ່ງ rlog CVS ເພື່ອຊອກຫາໄຟລ໌ໄປຫາ.
ແປງ. ນີ້ຫມາຍຄວາມວ່າເວັ້ນເສຍແຕ່ແຜນທີ່ໄຟລ໌ຈະຖືກມອບໃຫ້, ໄຟລ໌ທັງຫມົດພາຍໃຕ້ໄດເລກະທໍລີເລີ່ມຕົ້ນ
ຈະຖືກແປງ, ແລະວ່າການຈັດລະບຽບໃຫມ່ໃນ CVS sandbox ຈະຖືກລະເລີຍ.

ທາງເລືອກຕໍ່ໄປນີ້ສາມາດຖືກນໍາໃຊ້ກັບ --config:

convert.cvsps.cache
ຕັ້ງເປັນ False ເພື່ອປິດການເກັບຂໍ້ມູນຈາກໄລຍະໄກ, ເພື່ອຈຸດປະສົງການທົດສອບ ແລະ debugging.
ຄ່າເລີ່ມຕົ້ນແມ່ນຖືກຕ້ອງ.

convert.cvsps.fuzz
ລະບຸເວລາສູງສຸດ (ເປັນວິນາທີ) ທີ່ອະນຸຍາດໃຫ້ລະຫວ່າງ commits ກັບ
ຜູ້ໃຊ້ທີ່ຄືກັນ ແລະບັນທຶກຂໍ້ຄວາມໃນຊຸດການປ່ຽນແປງດຽວ. ໃນເວລາທີ່ໄຟລ໌ຂະຫນາດໃຫຍ່ຫຼາຍໄດ້
ເຊັກອິນເປັນສ່ວນຫນຶ່ງຂອງຊຸດການປ່ຽນແປງຫຼັງຈາກນັ້ນຄ່າເລີ່ມຕົ້ນອາດຈະບໍ່ຍາວພຽງພໍ. ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນ 60.

convert.cvsps.mergeto
ລະບຸການສະແດງອອກປົກກະຕິທີ່ຂໍ້ຄວາມບັນທຶກຖືກຈັບຄູ່. ຖ້າກົງກັນ
ເກີດຂຶ້ນ, ຫຼັງຈາກນັ້ນຂະບວນການປ່ຽນໃຈເຫລື້ອມໃສຈະໃສ່ການດັດແກ້ dummy merging ສາຂາ
ທີ່ຂໍ້ຄວາມບັນທຶກນີ້ເກີດຂຶ້ນກັບສາຂາທີ່ລະບຸໄວ້ໃນ regex. ຄ່າເລີ່ມຕົ້ນແມ່ນ
{{mergetobranch ([-\w]+)}}

convert.cvsps.mergefrom
ລະບຸການສະແດງອອກປົກກະຕິທີ່ຂໍ້ຄວາມບັນທຶກຖືກຈັບຄູ່. ຖ້າກົງກັນ
ເກີດຂຶ້ນ, ຫຼັງຈາກນັ້ນຂະບວນການປ່ຽນໃຈເຫລື້ອມໃສຈະເພີ່ມການດັດແກ້ຫຼ້າສຸດກ່ຽວກັບສາຂາ
ລະບຸໄວ້ໃນ regex ເປັນພໍ່ແມ່ທີສອງຂອງຊຸດການປ່ຽນແປງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
{{mergefrombranch ([-\w]+)}}

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

hooks.cvslog
ລະບຸຟັງຊັນ Python ທີ່ຈະຖືກເອີ້ນໃນຕອນທ້າຍຂອງການລວບລວມບັນທຶກ CVS. ໄດ້
ຟັງຊັນແມ່ນຜ່ານບັນຊີລາຍຊື່ທີ່ມີບັນທຶກ, ແລະສາມາດດັດແປງລາຍການ
ຢູ່ໃນສະຖານທີ່, ຫຼືເພີ່ມຫຼືລຶບພວກມັນ.

hooks.cvschangesets
ລະບຸຟັງຊັນ Python ທີ່ຈະຖືກເອີ້ນຫຼັງຈາກຊຸດການປ່ຽນແປງຖືກຄິດໄລ່ຈາກ
ບັນທຶກ CVS. ຟັງຊັນຖືກສົ່ງຜ່ານບັນຊີລາຍຊື່ທີ່ມີລາຍການການປ່ຽນແປງ, ແລະສາມາດປັບປຸງແກ້ໄຂໄດ້
ການປ່ຽນແປງຢູ່ໃນສະຖານທີ່, ຫຼືເພີ່ມຫຼືລຶບພວກມັນ.

ເພີ່ມເຕີມ "debugcvsps" ຄໍາສັ່ງ Mercurial ອະນຸຍາດໃຫ້ສ້າງການປ່ຽນແປງລະຫັດການລວມເຂົ້າກັບ
ດໍາເນີນການໂດຍບໍ່ມີການເຮັດການແປງ. ພາລາມິເຕີແລະຜົນຜະລິດຂອງມັນແມ່ນຄ້າຍຄືກັນກັບ cvsps
2.1. ກະລຸນາເບິ່ງການຊ່ວຍເຫຼືອຄໍາສັ່ງສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ການໂຄ່ນລົ້ມ ແຫຼ່ງຂໍ້ມູນ
ແຫຼ່ງການໂຄ່ນລົ້ມຈະກວດພົບການວາງລຳຕົ້ນ/ສາຂາ/ປ້າຍແບບຄລາສສິກ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ສະຫນອງໃຫ້
svn://repo/path/ URL ແຫຼ່ງຖືກປ່ຽນເປັນສາຂາດຽວ. ຖ້າ svn://repo/path/trunk
ມີຢູ່, ມັນປ່ຽນສາຂາເລີ່ມຕົ້ນ. ຖ້າ svn://repo/path/branches ມີຢູ່, ຂອງມັນ
ໄດເລກະທໍລີຍ່ອຍຖືກລະບຸວ່າເປັນສາຂາທີ່ເປັນໄປໄດ້. ຖ້າ svn://repo/path/tags ມີຢູ່, ມັນແມ່ນ
ຊອກຫາ tags ອ້າງອີງສາຂາທີ່ປ່ຽນໃຈເຫລື້ອມໃສ. ຄ່າເລີ່ມຕົ້ນ ລໍາຕົ້ນ, ສາຂາ ແລະ tags ຄ່າ
ສາມາດ overridden ດ້ວຍຕົວເລືອກຕໍ່ໄປນີ້. ກໍານົດໃຫ້ພວກເຂົາເປັນເສັ້ນທາງທີ່ກ່ຽວຂ້ອງກັບ URL ແຫຼ່ງ, ຫຼື
ປ່ອຍພວກມັນຫວ່າງໄວ້ເພື່ອປິດການກວດຫາອັດຕະໂນມັດ.

ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດຕັ້ງຄ່າໄດ້ --config:

convert.svn.ສາຂາ
ລະບຸໄດເລກະທໍລີທີ່ມີສາຂາ. ຄ່າເລີ່ມຕົ້ນແມ່ນ ສາຂາ.

convert.svn.tags
ລະບຸໄດເລກະທໍລີທີ່ມີແທັກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ tags.

convert.svn.trunk
ລະບຸຊື່ຂອງສາຂາຂອງລໍາຕົ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ ລໍາຕົ້ນ.

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

ປະຫວັດແຫຼ່ງສາມາດຖືກດຶງມາຈາກການດັດແກ້ສະເພາະ, ແທນທີ່ຈະເປັນ
ປ່ຽນໃຈເຫລື້ອມໃສ. ຮອງຮັບການແປງສາຂາດຽວເທົ່ານັ້ນ.

convert.svn.startrev
ລະ​ບຸ​ເລກ​ການ​ແກ້​ໄຂ​ເລີ່ມ​ຕົ້ນ​ການ​ລະ​ເມີດ​. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.

Git ແຫຼ່ງຂໍ້ມູນ
ຜູ້ນໍາເຂົ້າ Git ປ່ຽນຄໍາຫມັ້ນສັນຍາຈາກທຸກສາຂາທີ່ສາມາດບັນລຸໄດ້ (refs ໃນ refs / heads) ແລະ
ຣີໂມດ (refs in refs/remotes) ຫາ Mercurial. ສາຂາຖືກປ່ຽນເປັນ bookmarks ກັບ
ຊື່ດຽວກັນ, ດ້ວຍການເອົາ 'refs/heads' ຊັ້ນນໍາ. ໂມດູນຍ່ອຍ Git ຖືກປ່ຽນເປັນ Git
subrepos ໃນ Mercurial.

ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດຕັ້ງຄ່າໄດ້ --config:

convert.git.similarity
ລະ​ບຸ​ວ່າ​ໄຟລ​໌​ທີ່​ຄ້າຍ​ຄື​ກັນ​ດັດ​ແກ້​ໃນ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຈະ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ນໍາ​ເຂົ້າ​ເປັນ​ການ​ປ່ຽນ​ຊື່​ຫຼື​
ສໍາເນົາ, ເປັນອັດຕາສ່ວນລະຫວ່າງ 0 (ພິການ) ແລະ 100 (ໄຟລ໌ຕ້ອງຄືກັນ). ສໍາລັບ
ຍົກຕົວຢ່າງ, 90 ຫມາຍ​ຄວາມ​ວ່າ​ການ​ລົບ / ເພີ່ມ​ຄູ່​ຈະ​ໄດ້​ຮັບ​ການ​ນໍາ​ເຂົ້າ​ເປັນ​ການ​ປ່ຽນ​ຊື່​ຖ້າ​ຫາກ​ວ່າ​ຫຼາຍ​ກ​່​ວາ​
90% ຂອງໄຟລ໌ບໍ່ໄດ້ມີການປ່ຽນແປງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 50.

convert.git.findcopiesharder
ໃນຂະນະທີ່ກວດພົບການສໍາເນົາ, ເບິ່ງໄຟລ໌ທັງຫມົດໃນສໍາເນົາທີ່ເຮັດວຽກແທນທີ່ຈະພຽງແຕ່
ການປ່ຽນແປງ. ນີ້ແມ່ນລາຄາແພງຫຼາຍສໍາລັບໂຄງການຂະຫນາດໃຫຍ່, ແລະມີປະສິດທິພາບພຽງແຕ່ເມື່ອ
convert.git.similarity ແມ່ນໃຫຍ່ກວ່າ 0. ຄ່າເລີ່ມຕົ້ນແມ່ນ False.

convert.git.remoteprefix
refs ຫ່າງໄກສອກຫຼີກຖືກແປງເປັນ bookmarks ກັບ convert.git.remoteprefix ເປັນ ຄຳ ນຳ ໜ້າ
ຕາມດ້ວຍ /. ຄ່າເລີ່ມຕົ້ນແມ່ນ 'ໄລຍະໄກ'.

convert.git.skipsubmodules
ບໍ່ປ່ຽນໄຟລ໌ .gitmodules ລະດັບຮາກຫຼືໄຟລ໌ທີ່ມີໂຫມດ 160000 ຊີ້ໃຫ້ເຫັນ
ໂມດູນຍ່ອຍ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ຖືກຕ້ອງ.

ບັງຄັບ ແຫຼ່ງຂໍ້ມູນ
ຜູ້ນໍາເຂົ້າ Perforce (P4) ສາມາດໄດ້ຮັບເສັ້ນທາງ p4 depot ຫຼືຂໍ້ກໍານົດຂອງລູກຄ້າເປັນ
ແຫຼ່ງ. ມັນຈະປ່ຽນໄຟລ໌ທັງໝົດໃນແຫລ່ງຂໍ້ມູນໃຫ້ເປັນບ່ອນເກັບມ້ຽນ Mercurial ຮາບພຽງ, ບໍ່ສົນໃຈ
ປ້າຍຊື່, ສາຂາ ແລະການເຊື່ອມໂຍງ. ໃຫ້ສັງເກດວ່າເມື່ອເສັ້ນທາງ depot ຖືກມອບໃຫ້ທ່ານໂດຍປົກກະຕິ
ຄວນລະບຸໄດເລກະທໍລີເປົ້າຫມາຍ, ເພາະວ່າຖ້າບໍ່ດັ່ງນັ້ນເປົ້າຫມາຍອາດຈະຖືກຕັ້ງຊື່ ...-ຊg.

ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດຕັ້ງຄ່າໄດ້ --config:

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

convert.p4.startrev
ລະບຸການດັດແກ້ Perforce ເບື້ອງຕົ້ນ (ຈໍານວນ Perforce changelist).

ໂລກມະເລັງ ປາຍທາງ
ຈຸດໝາຍປາຍທາງ Mercurial ຈະຮັບຮູ້ບ່ອນຍ່ອຍ Mercurial ໃນປາຍທາງ
directory, ແລະປັບປຸງໄຟລ໌ .hgsubstate ອັດຕະໂນມັດຖ້າຫາກວ່າຈຸດຫມາຍປາຍທາງ
subrepositories ປະກອບດ້ວຍ ໄຟລ໌ / /.hg/shamap. ແປງ repository ກັບ
subrepositories ຮຽກຮ້ອງໃຫ້ປ່ຽນ repository ດຽວໃນເວລາ, ຈາກລຸ່ມສຸດ.

ຕົວຢ່າງສະແດງໃຫ້ເຫັນວິທີການແປງ repository ກັບ subrepositories:

# ດັ່ງນັ້ນ convert ຮູ້ປະເພດເມື່ອມັນເຫັນຈຸດຫມາຍປາຍທາງທີ່ບໍ່ແມ່ນຫວ່າງເປົ່າ
$ hg init ແປງ

$ hg convert orig/sub1 converted/sub1
$ hg convert orig/sub2 converted/sub2
$hg convert orig ແປງ

ທາງ​ເລືອກ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ແມ່ນ​ສະ​ຫນັບ​ສະ​ຫນູນ​:

convert.hg.clonebranches
ສົ່ງສາຂາແຫຼ່ງໃນ clones ແຍກຕ່າງຫາກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ False.

convert.hg.tagsbranch
ຊື່ສາຂາສໍາລັບການດັດແກ້ tag, ເລີ່ມຕົ້ນທີ່ຈະ Default.

convert.hg.usebranchnames
ຮັກສາຊື່ສາຂາ. ຄ່າເລີ່ມຕົ້ນແມ່ນ True.

convert.hg.sourcename
ບັນທຶກສະຕຣິງທີ່ໃຫ້ໄວ້ເປັນ 'convert_source' ມູນຄ່າເພີ່ມເຕີມໃນແຕ່ລະຄໍາຫມັ້ນສັນຍາທີ່ສ້າງຂຶ້ນ
repository ເປົ້າ​ຫມາຍ​. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ.

ທັງຫມົດ ຈຸດຫມາຍປາຍທາງ
ປະເພດປາຍທາງທັງໝົດຍອມຮັບຕົວເລືອກຕໍ່ໄປນີ້:

convert.skiptags
ບໍ່ປ່ຽນແທັກຈາກ repo ແຫຼ່ງໄປຫາ repo ເປົ້າຫມາຍ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ບໍ່ຖືກຕ້ອງ.

ຕົວເລືອກ:

--ຜູ້ຂຽນ
ຊື່ຜູ້ໃຊ້ແຜນທີ່ຊື່ໄຟລ໌ (DEPRECATED) (ໃຊ້ --authormap ແທນ)

- ແມ່ນແລ້ວ,--source-type
ປະເພດບ່ອນເກັບມ້ຽນແຫຼ່ງ

-d,--dest-type
ປະເພດບ່ອນເກັບມ້ຽນປາຍທາງ

-r,--rev
ນໍາເຂົ້າເຖິງການແກ້ໄຂແຫຼ່ງ REV

-A,-- ແຜນທີ່ຜູ້ຂຽນ
remap ຊື່ຜູ້ໃຊ້ໂດຍໃຊ້ໄຟລ໌ນີ້

-- ແຜນທີ່ໄຟລ໌
remap ຊື່ໄຟລ໌ໂດຍໃຊ້ເນື້ອໃນຂອງໄຟລ໌

-- ເຕັມ ນຳໃຊ້ການປ່ຽນແປງແຜນທີ່ໄຟລ໌ໂດຍການປ່ຽນໄຟລ໌ທັງໝົດອີກຄັ້ງ

--ແຜນຜັງ
splice ສັງເຄາະປະຫວັດສາດເຂົ້າໄປໃນສະຖານທີ່

-- ແຜນທີ່ສາຂາ
ປ່ຽນຊື່ສາຂາໃນຂະນະທີ່ປ່ຽນ

--ສາຂາ
ພະຍາຍາມຈັດຮຽງການປ່ຽນແປງຕາມສາຂາ

--datesort
ພະຍາຍາມຈັດຮຽງການປ່ຽນແປງຕາມວັນທີ

--sourcesort
ຮັກສາຄໍາສັ່ງການປ່ຽນແປງແຫຼ່ງ

--ສິ່ງ​ໃກ້​ຊິດ
ພະຍາຍາມຈັດລໍາດັບການແກ້ໄຂປິດຄືນໃຫມ່

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ອີອລ
ຈັດການແຖວໃໝ່ໂດຍອັດຕະໂນມັດໃນໄຟລ໌ບ່ອນເກັບມ້ຽນ

ການຂະຫຍາຍນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດຈັດການປະເພດຂອງເສັ້ນສິ້ນສຸດ (CRLF ຫຼື LF) ທີ່ໃຊ້ໃນ
repository ແລະໃນໄດເລກະທໍລີເຮັດວຽກທ້ອງຖິ່ນ. ດ້ວຍວິທີນັ້ນ, ທ່ານສາມາດໄດ້ຮັບເສັ້ນ CRLF
ໃນ Windows ແລະ LF ເທິງ Unix/Mac, ດັ່ງນັ້ນຈຶ່ງເຮັດໃຫ້ທຸກຄົນໃຊ້ OS ຂອງເຂົາເຈົ້າໃນຕອນທ້າຍ.

ສ່ວນຂະຫຍາຍອ່ານການຕັ້ງຄ່າຂອງມັນຈາກສະບັບ .hgeol ພົບໄຟລ໌ການຕັ້ງຄ່າໃນ
ຮາກຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ. ໄດ້ .hgeol ໄຟລ໌ໃຊ້ syntax ດຽວກັນກັບສິ່ງອື່ນໆ
ໄຟລ໌ການຕັ້ງຄ່າ Mercurial. ມັນ​ນໍາ​ໃຊ້​ສອງ​ພາກ​ສ່ວນ​, [ຮູບ​ແບບ​] ແລະ [ຄັງ​ເກັບ​ຮັກ​ສາ​].

ໄດ້ [ຮູບ​ແບບ​] ພາກ​ສ່ວນ​ລະ​ບຸ​ວ່າ​ການ​ສິ້ນ​ເສັ້ນ​ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ປ່ຽນ​ແປງ​ລະ​ຫວ່າງ​ການ​ເຮັດ​ວຽກ​
ໄດເລກະທໍລີແລະບ່ອນເກັບມ້ຽນ. ຮູບແບບແມ່ນກໍານົດໂດຍຮູບແບບໄຟລ໌. ການແຂ່ງຂັນຄັ້ງທໍາອິດ
ຖືກນໍາໃຊ້, ສະນັ້ນໃສ່ຮູບແບບສະເພາະຫຼາຍກ່ອນ. ເສັ້ນສິ້ນສຸດທີ່ມີແມ່ນ LF, CRLF, ແລະ
BIN.

ໄຟລ໌ທີ່ມີຮູບແບບການປະກາດຂອງ CRLF or LF ສະເຫມີຖືກກວດກາແລະເກັບຮັກສາໄວ້ໃນ
repository ໃນ​ຮູບ​ແບບ​ນັ້ນ​ແລະ​ໄຟລ​໌​ປະ​ກາດ​ວ່າ​ເປັນ​ຖານ​ສອງ (BIN) ຖືກປະໄວ້ບໍ່ປ່ຽນແປງ.
ນອກຈາກນັ້ນ, native ເປັນນາມແຝງສໍາລັບການກວດສອບຢູ່ໃນເສັ້ນເລີ່ມຕົ້ນຂອງເວທີ:
LF ໃນ Unix (ລວມທັງ Mac OS X) ແລະ CRLF ໃນ Windows. ໃຫ້ສັງເກດວ່າ BIN (ບໍ່​ມີ​ຫຍັງ​ກັບ​ເສັ້ນ​
endings) ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນຂອງ Mercurial; ມັນເປັນສິ່ງຈໍາເປັນພຽງແຕ່ຖ້າທ່ານຕ້ອງການ override a
ຕໍ່ມາ, ຮູບແບບທົ່ວໄປຫຼາຍຂຶ້ນ.

ທາງເລືອກ [ຄັງ​ເກັບ​ຮັກ​ສາ​] ພາກ​ສ່ວນ​ລະ​ບຸ​ການ​ສິ້ນ​ເສັ້ນ​ທີ່​ຈະ​ນໍາ​ໃຊ້​ສໍາ​ລັບ​ໄຟລ​໌​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​
ຄັງເກັບມ້ຽນ. ມັນ​ມີ​ການ​ຕັ້ງ​ຄ່າ​ດຽວ​, native, ເຊິ່ງກໍານົດການສິ້ນສຸດເສັ້ນການເກັບຮັກສາ
ສໍາລັບໄຟລ໌ທີ່ປະກາດເປັນ native ໃນ [ຮູບ​ແບບ​] ພາກ. ມັນສາມາດຖືກຕັ້ງເປັນ LF or CRLF. ໄດ້
ມາດຕະຖານແມ່ນ LF. ສໍາລັບການຍົກຕົວຢ່າງ, ນີ້ຫມາຍຄວາມວ່າໃນ Windows, ໄຟລ໌ configured ເປັນ native (CRLF
ໂດຍຄ່າເລີ່ມຕົ້ນ) ຈະຖືກປ່ຽນເປັນ LF ເມື່ອເກັບໄວ້ໃນບ່ອນເກັບມ້ຽນ. ໄຟລ໌ທີ່ຖືກປະກາດວ່າເປັນ LF,
CRLF, ຫຼື BIN ໃນ [ຮູບ​ແບບ​] ພາກສ່ວນຈະຖືກເກັບຮັກສາໄວ້ສະ ເໝີ ຄືກັບຢູ່ໃນບ່ອນເກັບມ້ຽນ.

ຕົວຢ່າງສະບັບ .hgeol file:

[ຮູບ​ແບບ​]
**.py = ພື້ນເມືອງ
**.vcproj = CRLF
**.txt = native
Makefile = LF
**.jpg = BIN

[ຄັງ​ເກັບ​ຮັກ​ສາ​]
native = LF

ຫມາຍ​ເຫດ​ກົດ​ລະ​ບຽບ​ຈະ​ນໍາ​ໃຊ້​ຄັ້ງ​ທໍາ​ອິດ​ໃນ​ເວ​ລາ​ທີ່​ໄຟລ​໌​ໄດ້​ຖືກ​ສໍາ​ພັດ​ໃນ​ລະ​ບົບ​ການ​ເຮັດ​ວຽກ​, ເຊັ່ນ​: ໂດຍ​
ການອັບເດດເປັນ null ແລະກັບຄືນໄປບ່ອນປາຍເພື່ອແຕະໄຟລ໌ທັງຫມົດ.

ສ່ວນຂະຫຍາຍໃຊ້ທາງເລືອກ [eol] ພາກທີ່ອ່ານຈາກທັງສອງ Mercurial ປົກກະຕິ
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​ແລະ​ .hgeol ໄຟລ໌, ກັບສຸດທ້າຍ overriding ອະດີດ. ເຈົ້າ​ສາ​ມາດ
ໃຊ້ພາກສ່ວນນັ້ນເພື່ອຄວບຄຸມພຶດຕິກໍາໂດຍລວມ. ມີ​ສາມ​ການ​ຕັ້ງ​ຄ່າ​:

· eol.native (ຄ່າເລີ່ມຕົ້ນ os.linesep) ສາ​ມາດ​ກໍາ​ນົດ​ເປັນ​ LF or CRLF ເພື່ອ override ຄ່າເລີ່ມຕົ້ນ
ການຕີລາຄາຂອງ native ສໍາລັບການຈ່າຍເງິນ. ນີ້ສາມາດຖືກນໍາໃຊ້ກັບ hg ເກັບ ກ່ຽວກັບ Unix, ເວົ້າວ່າ, ກັບ
ສ້າງແຟ້ມຈັດເກັບທີ່ໄຟລ໌ມີສ່ວນທ້າຍແຖວສໍາລັບ Windows.

· eol.only-consistent (ຄ່າເລີ່ມຕົ້ນ True) ສາມາດຖືກຕັ້ງເປັນ False ເພື່ອເຮັດໃຫ້ສ່ວນຂະຫຍາຍປ່ຽນເປັນ
ໄຟລ໌ທີ່ມີ EOLs ທີ່ບໍ່ສອດຄ່ອງກັນ. ບໍ່ສອດຄ່ອງຫມາຍຄວາມວ່າມີທັງສອງ CRLF ແລະ LF ປະຈຸບັນ
ໃນໄຟລ໌. ໄຟລ໌ດັ່ງກ່າວປົກກະຕິແລ້ວບໍ່ໄດ້ສໍາພັດພາຍໃຕ້ການສົມມຸດວ່າພວກເຂົາເຈົ້າມີ
EOLs ປະສົມກັບຈຸດປະສົງ.

· eol.fix-trailing-newline (ຄ່າເລີ່ມຕົ້ນ False) ສາມາດຖືກຕັ້ງເປັນ True ເພື່ອໃຫ້ແນ່ໃຈວ່າປ່ຽນໃຈເຫລື້ອມໃສ
ໄຟລ໌ສິ້ນສຸດດ້ວຍຕົວອັກສອນ EOL (ທັງ \n or \ r \ n ຕາມ​ຮູບ​ແບບ​ການ​ຕັ້ງ​ຄ່າ).

ການຂະຫຍາຍສະຫນອງ ລະຫັດສະຫລາດ: ແລະ cleverdecode: ການກັ່ນຕອງເຊັ່ນ: ປະຕິເສດ
win32text extension ບໍ່. ນີ້ຫມາຍຄວາມວ່າທ່ານສາມາດປິດການທໍາງານ win32text ແລະເປີດໃຊ້ eol ແລະ
ຕົວກອງຂອງທ່ານຈະຍັງເຮັດວຽກຢູ່. ທ່ານພຽງແຕ່ຕ້ອງການການກັ່ນຕອງເຫຼົ່ານີ້ຈົນກວ່າທ່ານຈະໄດ້ກະກຽມ a
.hgeol ຍື່ນ.

ໄດ້ win32text.forbid* hooks ທີ່ສະຫນອງໂດຍສ່ວນຂະຫຍາຍ win32text ໄດ້ຖືກລວມເຂົ້າໃນ a
hook ດຽວທີ່ມີຊື່ eol.checkheadshook. hook ຈະຊອກຫາເສັ້ນທີ່ຄາດວ່າຈະສິ້ນສຸດຈາກ
ໄດ້ .hgeol ໄຟລ໌, ຊຶ່ງຫມາຍຄວາມວ່າທ່ານຕ້ອງຍ້າຍໄປຫາ a .hgeol ໄຟລ໌ທໍາອິດກ່ອນທີ່ຈະນໍາໃຊ້
ຂໍ. eol.checkheadshook ພຽງແຕ່ກວດເບິ່ງຫົວຫນ້າ, ການແກ້ໄຂທີ່ບໍ່ຖືກຕ້ອງລະດັບປານກາງຈະຖືກ pushed.
ເພື່ອຫ້າມພວກມັນຢ່າງສົມບູນ, ໃຫ້ໃຊ້ eol.checkallhook hook. hooks ເຫຼົ່ານີ້ຖືກນໍາໃຊ້ທີ່ດີທີ່ສຸດເປັນ
pretxnchangegroup hooks.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຮູບແບບ glob ທີ່ໃຊ້.

extdiff
ຄໍາສັ່ງອະນຸຍາດໃຫ້ໂຄງການພາຍນອກປຽບທຽບການດັດແກ້

ການຂະຫຍາຍ extdiff Mercurial ອະນຸຍາດໃຫ້ທ່ານນໍາໃຊ້ໂຄງການພາຍນອກເພື່ອປຽບທຽບການດັດແກ້,
ຫຼືການດັດແກ້ກັບໄດເລກະທໍລີທີ່ເຮັດວຽກ. ໂຄງການຄວາມແຕກຕ່າງພາຍນອກແມ່ນເອີ້ນວ່າ a
ຊຸດທາງເລືອກທີ່ສາມາດຕັ້ງຄ່າໄດ້ແລະສອງ arguments ທີ່ບໍ່ແມ່ນທາງເລືອກ: ເສັ້ນທາງໄປຫາໄດເລກະທໍລີທີ່ມີ
ພາບຖ່າຍຂອງໄຟລ໌ເພື່ອປຽບທຽບ.

ສ່ວນຂະຫຍາຍ extdiff ຍັງອະນຸຍາດໃຫ້ທ່ານປັບຄ່າຄໍາສັ່ງ diff ໃຫມ່, ດັ່ງນັ້ນທ່ານບໍ່ຈໍາເປັນຕ້ອງ
ພິມ hg extdiff -p kdiff3 ສະເຫມີ.

[extdiff]
# ເພີ່ມຄໍາສັ່ງໃຫມ່ທີ່ດໍາເນີນການ GNU diff(1) ໃນໂຫມດ 'context diff'
cdiff = gdiff -Nprc5
## ຫຼືວິທີເກົ່າ:
#cmd.cdiff = gdiff
#opts.cdiff = -Nprc5

# ເພີ່ມຄໍາສັ່ງໃຫມ່ທີ່ເອີ້ນວ່າ meld, ແລ່ນ meld (ບໍ່ຈໍາເປັນຕ້ອງຕັ້ງຊື່ສອງເທື່ອ). ຖ້າ
# ເຄື່ອງມືການຜະສົມຜະສານບໍ່ສາມາດໃຊ້ໄດ້, ເຄື່ອງມືການຜະສົມຜະສານໃນ [merge-tools]
# ຈະຖືກນໍາໃຊ້, ຖ້າມີ
meld =

# ເພີ່ມຄໍາສັ່ງໃຫມ່ທີ່ເອີ້ນວ່າ vimdiff, ແລ່ນ gvimdiff ດ້ວຍ DirDiff plugin
# (ເບິ່ງ http://www.vim.org/scripts/script.php?script_id=102) ບໍ່ແມ່ນ
# ຜູ້ໃຊ້ພາສາອັງກິດ, ໃຫ້ແນ່ໃຈວ່າໃສ່ "let g:DirDiffDynamicDiffText = 1" ໃນ
# .vimrc ຂອງເຈົ້າ
vimdiff = gvim -f "+ ຕໍ່ໄປ" \
"+ ປະຕິບັດ 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"

arguments ເຄື່ອງມືສາມາດປະກອບມີຕົວແປທີ່ຂະຫຍາຍໃນເວລາແລ່ນ:

$parent1, $plabel1 - ຊື່ໄຟລ໌, ປ້າຍອະທິບາຍຂອງພໍ່ແມ່ທໍາອິດ
$child, $clabel - ຊື່ໄຟລ໌, ປ້າຍອະທິບາຍການດັດແກ້ເດັກນ້ອຍ
$parent2, $plabel2 - ຊື່ໄຟລ໌, ປ້າຍອະທິບາຍຂອງພໍ່ແມ່ທີສອງ
$root - ຮາກ repository
$parent ເປັນນາມແຝງຂອງ $parent1.

ສ່ວນຂະຫຍາຍ extdiff ຈະເບິ່ງຢູ່ໃນພາກສ່ວນ [diff-tools] ແລະ [merge-tools] ຂອງເຈົ້າສຳລັບຄວາມແຕກຕ່າງ.
arguments ເຄື່ອງມື, ເມື່ອບໍ່ມີໃຜຖືກລະບຸໄວ້ໃນ [extdiff].

[extdiff]
kdiff3 =

[ເຄື່ອງ​ມື​ຄວາມ​ແຕກ​ຕ່າງ​]
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $ພໍ່ແມ່ $child

ທ່ານ​ສາ​ມາດ​ນໍາ​ໃຊ້ -I/-X ແລະ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ໄຟລ​໌​ຫຼື​ຊື່​ລະ​ບົບ​ເຊັ່ນ​ດຽວ​ກັນ​ hg diff ຄຳ ສັ່ງ. ທ
ສ່ວນຂະຫຍາຍ extdiff ເຮັດໃຫ້ພາບຖ່າຍຂອງໄຟລ໌ທີ່ຈໍາເປັນເທົ່ານັ້ນ, ດັ່ງນັ້ນການດໍາເນີນການຄວາມແຕກຕ່າງພາຍນອກ
ຕົວ​ຈິງ​ແລ້ວ​ໂຄງ​ການ​ຈະ​ໄວ pretty (ຢ່າງ​ຫນ້ອຍ​ໄວ​ກ​່​ວາ​ທີ່​ຈະ​ມີ​ການ​ປຽບ​ທຽບ​ທັງ​ຫມົດ​
ຕົ້ນໄມ້).

ຄໍາສັ່ງ
extdiff
ໃຊ້​ໂປຣ​ແກຣມ​ພາຍ​ນອກ​ເພື່ອ​ປ່ຽນ​ບ່ອນ​ເກັບ​ຂໍ້​ມູນ (ຫຼື​ໄຟລ​໌​ທີ່​ເລືອກ​)​:

hg extdiff [OPT]... [FILE]...

ສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງລະຫວ່າງການດັດແກ້ສໍາລັບໄຟລ໌ທີ່ລະບຸ, ໂດຍໃຊ້ໂຄງການພາຍນອກ. ໄດ້
ໂຄງ​ການ​ເລີ່ມ​ຕົ້ນ​ການ​ນໍາ​ໃຊ້​ແມ່ນ​ແຕກ​ຕ່າງ​, ມີ​ທາງ​ເລືອກ​ໃນ​ຕອນ​ຕົ້ນ "-Npru​"​.

ເພື່ອເລືອກໂປຣແກຣມອື່ນ, ໃຫ້ໃຊ້ຕົວເລືອກ -p/--program. ໂຄງການດັ່ງກ່າວຈະໄດ້ຮັບການຜ່ານ
ຊື່ຂອງສອງໄດເລກະທໍລີທີ່ຈະປຽບທຽບ. ເພື່ອຜ່ານທາງເລືອກເພີ່ມເຕີມໃຫ້ກັບໂຄງການ, ໃຫ້ໃຊ້
-o/- ທາງເລືອກ. ສິ່ງເຫຼົ່ານີ້ຈະຖືກສົ່ງຜ່ານກ່ອນຊື່ຂອງໄດເລກະທໍລີທີ່ຈະປຽບທຽບ.

ເມື່ອການໂຕ້ຖຽງການດັດແກ້ສອງອັນຖືກໃຫ້, ຫຼັງຈາກນັ້ນການປ່ຽນແປງຈະສະແດງລະຫວ່າງການດັດແກ້ເຫຼົ່ານັ້ນ. ຖ້າ
ພຽງແຕ່ການດັດແກ້ຫນຶ່ງແມ່ນໄດ້ລະບຸໄວ້ຫຼັງຈາກນັ້ນການດັດແກ້ນັ້ນຖືກປຽບທຽບກັບໄດເລກະທໍລີທີ່ເຮັດວຽກ,
ແລະ, ເມື່ອບໍ່ມີການດັດແກ້ຖືກລະບຸ, ໄຟລ໌ໄດເລກະທໍລີທີ່ເຮັດວຽກຖືກປຽບທຽບກັບມັນ
ພໍ່ແມ່.

ຕົວເລືອກ:

-p,-- ໂປຣແກມ
ໂຄງການປຽບທຽບທີ່ຈະດໍາເນີນການ

-o,-- ທາງ​ເລືອກ​
ທາງເລືອກຜ່ານໂຄງການປຽບທຽບ

-r,--rev
ການແກ້ໄຂ

-c,-- ການ​ປ່ຽນ​ແປງ​
ການ​ປ່ຽນ​ແປງ​ໂດຍ​ການ​ປັບ​ປຸງ​

--patch
ປຽບທຽບ patches ສໍາລັບການດັດແກ້ສອງ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຄວາມຈິງ
http authentication ກັບ factotum

ການຂະຫຍາຍນີ້ອະນຸຍາດໃຫ້ ຄວາມຈິງ(4) ສິ່ງອໍານວຍຄວາມສະດວກໃນແຜນການ 9 ຈາກເວທີ Bell Labs ເຖິງ
ສະໜອງຂໍ້ມູນການພິສູດຢືນຢັນສຳລັບການເຂົ້າເຖິງ HTTP. ລາຍການການຕັ້ງຄ່າທີ່ລະບຸໄວ້ໃນ
ພາກສ່ວນການກວດສອບເຊັ່ນດຽວກັນກັບຂໍ້ມູນການພິສູດຢືນຢັນທີ່ສະຫນອງໃຫ້ຢູ່ໃນ URL repository ແມ່ນ
ສະຫນັບສະຫນູນຢ່າງເຕັມສ່ວນ. ຖ້າບໍ່ມີການລະບຸຄໍານໍາຫນ້າ, ຄ່າຂອງ "*" ຈະຖືກສົມມຸດ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ລະຫັດຖືກລະບຸເປັນ:

proto=pass service=hg prefix= user= !ລະຫັດຜ່ານ=

ຖ້າສ່ວນຂະຫຍາຍ factotum ບໍ່ສາມາດອ່ານລະຫັດທີ່ຕ້ອງການໄດ້, ຫນຶ່ງຈະຖືກຮ້ອງຂໍ
ໂຕ້ຕອບ.

ພາກສ່ວນການຕັ້ງຄ່າສາມາດໃຊ້ໄດ້ເພື່ອປັບແຕ່ງພຶດຕິກຳການແລ່ນເວລາ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຫຼົ່ານີ້
ລາຍການແມ່ນ:

[ຂໍ້ເທັດຈິງ]
ປະຕິບັດໄດ້ = /bin/auth/factotum
mountpoint = /mnt/factotum
ບໍລິການ = hg

ການເຂົ້າທີ່ປະຕິບັດໄດ້ກໍານົດເສັ້ນທາງເຕັມໄປຫາ factotum binary. ການເຂົ້າ mountpoint
ກໍານົດເສັ້ນທາງໄປຫາບໍລິການໄຟລ໌ factotum. ສຸດທ້າຍ, ການບໍລິການເຂົ້າຄວບຄຸມໄດ້
ຊື່ບໍລິການທີ່ໃຊ້ໃນເວລາອ່ານກະແຈ.

ດຶງ
ດຶງ, ປັບປຸງແລະລວມຢູ່ໃນຄໍາສັ່ງດຽວ (DEPRECATED)

ຄໍາສັ່ງ
ດຶງ
ດຶງ​ການ​ປ່ຽນ​ແປງ​ຈາກ repository ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​, ລວມ​ການ​ປ່ຽນ​ແປງ​ໃຫມ່​ຖ້າ​ຫາກ​ວ່າ​ຈໍາ​ເປັນ​.

hg fetch [ແຫຼ່ງຂໍ້ມູນ]

ນີ້ພົບເຫັນການປ່ຽນແປງທັງຫມົດຈາກ repository ຢູ່ໃນເສັ້ນທາງຫຼື URL ທີ່ກໍານົດໄວ້ແລະເພີ່ມໃຫ້ເຂົາເຈົ້າ
repository ທ້ອງຖິ່ນ.

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

ເມື່ອການລວມເຂົ້າກັນແມ່ນຈໍາເປັນ, ໄດເລກະທໍລີທີ່ເຮັດວຽກໄດ້ຖືກປັບປຸງທໍາອິດໃຫ້ກັບການດຶງໃຫມ່
ການປ່ຽນແປງ. ຫຼັງຈາກນັ້ນ, ການປ່ຽນແປງໃນທ້ອງຖິ່ນຈະຖືກລວມເຂົ້າໃນການປ່ຽນແປງທີ່ດຶງອອກມາ. ເພື່ອປ່ຽນຄໍາສັ່ງລວມ,
ໃຊ້ --switch-parent.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-r,--rev
ການແກ້ໄຂສະເພາະທີ່ທ່ານຕ້ອງການດຶງ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

--force-editor
ແກ້​ໄຂ​ຂໍ້​ຄວາມ​ຄໍາ​ສັ່ງ (DEPRECATED)

--ສະຫຼັບ-ພໍ່ແມ່
ສະຫຼັບພໍ່ແມ່ເມື່ອລວມເຂົ້າກັນ

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

gpg
ຄໍາສັ່ງທີ່ຈະເຊັນແລະກວດສອບການປ່ຽນແປງ

ຄໍາສັ່ງ
ກວດເບິ່ງ
ກວດສອບລາຍເຊັນທັງໝົດທີ່ອາດຈະມີການດັດແກ້ສະເພາະ:

hg sigcheck REV

ກວດສອບລາຍເຊັນທັງໝົດທີ່ອາດຈະມີການດັດແກ້ສະເພາະ

ອາການ
ເພີ່ມລາຍເຊັນສໍາລັບການດັດແກ້ປະຈຸບັນຫຼືໃຫ້:

hg sign [OPTION]... [REV]...

ຖ້າບໍ່ມີການດັດແກ້, ພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກແມ່ນຖືກນໍາໃຊ້, ຫຼືຄໍາແນະນໍາຖ້າບໍ່ມີ
ກວດສອບການດັດແກ້ແລ້ວ.

ໄດ້ gpg.cmd ການຕັ້ງຄ່າ config ສາມາດຖືກນໍາໃຊ້ເພື່ອກໍານົດຄໍາສັ່ງທີ່ຈະດໍາເນີນການ. ລະຫັດເລີ່ມຕົ້ນສາມາດເປັນ
ລະບຸໄວ້ກັບ gpg.key.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ຕົວເລືອກ:

-l, --ທ້ອງຖິ່ນ
ເຮັດໃຫ້ລາຍເຊັນທ້ອງຖິ່ນ

-f, --ກຳລັງ
ເຊັນເຖິງແມ່ນວ່າ sigfile ໄດ້ຖືກດັດແກ້

--no-commit
ຫ້າມເຊັນຊື່ຫຼັງຈາກເຊັນຊື່

-k,--key
id ທີ່ສໍາຄັນທີ່ຈະເຊັນດ້ວຍ

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

sigs
ລາຍຊື່ການປ່ຽນແປງທີ່ເຊັນ:

hg sigs

ລາຍ​ຊື່​ການ​ປ່ຽນ​ແປງ​ລາຍ​ຊື່​

graphlog
ຄໍາ​ສັ່ງ​ທີ່​ຈະ​ເບິ່ງ​ເສັ້ນ​ສະ​ແດງ​ການ​ແກ້​ໄຂ​ຈາກ shell (DEPRECATED​)

ການທໍາງານຂອງສ່ວນຂະຫຍາຍນີ້ໄດ້ຖືກລວມຢູ່ໃນຫຼັກ Mercurial ຕັ້ງແຕ່ຮຸ່ນ 2.3.
ກະລຸນາໃຊ້ hg log -G ... ແທນທີ່ຈະເປັນ.

ສ່ວນຂະຫຍາຍນີ້ເພີ່ມຕົວເລືອກ --graph ກັບຄໍາສັ່ງຂາເຂົ້າ, ອອກ ແລະບັນທຶກ. ເມື່ອນີ້
ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ຮັບ​, ການ​ເປັນ​ຕົວ​ແທນ ASCII ຂອງ​ເສັ້ນ​ສະ​ແດງ​ການ​ແກ້​ໄຂ​ແມ່ນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​.

ຄໍາສັ່ງ
hawthorn
ສະແດງປະຫວັດການແກ້ໄຂພ້ອມກັບເສັ້ນສະແດງການດັດແກ້ ASCII:

hg glog [ຕົວເລືອກ]... [FILE]

ພິມປະຫວັດການແກ້ໄຂພ້ອມກັບກຣາຟການດັດແກ້ທີ່ແຕ້ມດ້ວຍຕົວອັກສອນ ASCII.

ໂນດທີ່ພິມເປັນຕົວອັກສອນ @ ແມ່ນພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ.

ນີ້ແມ່ນນາມແຝງເພື່ອ hg log -G.

ຕົວເລືອກ:

-f, --ຕິດຕາມ
ປະ​ຕິ​ບັດ​ຕາມ​ປະ​ຫວັດ​ສາດ​ການ​ປ່ຽນ​ແປງ​, ຫຼື​ປະ​ຫວັດ​ສາດ​ໄຟລ​໌​ໃນ​ທົ່ວ​ສໍາ​ເນົາ​ແລະ​ການ​ປ່ຽນ​ຊື່​

-- ປະ​ຕິ​ບັດ​ຕາມ​ທໍາ​ອິດ​
ພຽງ​ແຕ່​ປະ​ຕິ​ບັດ​ຕາມ​ແມ່​ທໍາ​ອິດ​ຂອງ​ການ​ປ່ຽນ​ແປງ​ການ​ລວມ (DEPRECATED)

-d,- ວັນທີ
ສະແດງການດັດແກ້ທີ່ກົງກັບ spec ວັນທີ

-C, -- ສຳເນົາ
ສະ​ແດງ​ໄຟລ​໌​ສໍາ​ເນົາ​

-k,-- ຄໍາສໍາຄັນ
ຄົ້ນຫາຂໍ້ຄວາມທີ່ບໍ່ມີຕົວພິມນ້ອຍໃສ່ຕົວພິມນ້ອຍໃຫຍ່

-r,--rev
ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ດັດ​ແກ້​ທີ່​ກໍາ​ນົດ​ໄວ້​ຫຼື revset​

-- ເອົາ​ອອກ​
ລວມເອົາການດັດແກ້ທີ່ໄຟລ໌ຖືກເອົາອອກ

-m, -- only-merges
ສະ​ແດງ​ໃຫ້​ເຫັນ​ພຽງ​ແຕ່​ການ​ລວມ (DEPRECATED)

-u,-ຜູ້ໃຊ້
ການແກ້ໄຂທີ່ເຮັດໂດຍຜູ້ໃຊ້

--ສາຂາດຽວ
ສະແດງພຽງແຕ່ການປ່ຽນແປງພາຍໃນສາຂາທີ່ມີຊື່ (DEPRECATED)

-b,--ສາຂາ
ສະແດງການປ່ຽນແປງພາຍໃນສາຂາທີ່ມີຊື່

-P,--prune
ຢ່າສະແດງການດັດແກ້ຫຼືບັນພະບຸລຸດຂອງມັນ

-p, --patch
ສະແດງ patch

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-l,-- ຈຳກັດ
ຈໍາກັດຈໍານວນການປ່ຽນແປງທີ່ສະແດງ

-M, -- ບໍ່ລວມ
ບໍ່ສະແດງໃຫ້ເຫັນການລວມ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-G, --ກຣາຟ
ສະແດງການດັດແກ້ DAG

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

hgcia
hooks ສໍາລັບການເຊື່ອມໂຍງກັບການບໍລິການແຈ້ງການ CIA.vc

ອັນນີ້ຫມາຍເຖິງການດໍາເນີນການເປັນກຸ່ມການປ່ຽນແປງຫຼື hook ຂາເຂົ້າ. ເພື່ອຕັ້ງຄ່າມັນ, ຕັ້ງຄ່າ
ຕົວເລືອກຕໍ່ໄປນີ້ໃນ hgrc ຂອງທ່ານ:

[cia]
# ຊື່ຜູ້ໃຊ້ CIA ທີ່ທ່ານລົງທະບຽນ
user=foo
# ຊື່ໂຄງການໃນ CIA
project = foo
# ໂມດູນ (ໂຄງການຍ່ອຍ) (ທາງເລືອກ)
#ໂມດູນ = foo
# ເພີ່ມ diffstat ໃສ່ຂໍ້ຄວາມບັນທຶກ (ທາງເລືອກ)
#diffstat = ບໍ່ຖືກຕ້ອງ
# ແມ່ແບບທີ່ຈະໃຊ້ສໍາລັບຂໍ້ຄວາມບັນທຶກ (ທາງເລືອກ)
#template = {desc}\n{baseurl}{webroot}/rev/{node}-- {diffstat}
# ຮູບແບບທີ່ຈະໃຊ້ (ທາງເລືອກ)
#style = foo
# URL ຂອງ​ການ​ບໍ​ລິ​ການ​ແຈ້ງ​ການ CIA (ທາງ​ເລືອກ​ອື່ນ​)
# ທ່ານສາມາດນໍາໃຊ້ mailto: URLs ທີ່ຈະສົ່ງໂດຍອີເມລ໌, eg
# mailto:[email protected]
# ໃຫ້ແນ່ໃຈວ່າຕັ້ງ email.from ຖ້າທ່ານເຮັດສິ່ງນີ້.
#url = http://cia.vc/
# ພິມຂໍ້ຄວາມແທນທີ່ຈະສົ່ງມັນ (ທາງເລືອກ)
#test = ຜິດ
# ຈຳນວນຂອງເຄື່ອງໝາຍຂີດຕໍ່ເພື່ອລອກເອົາເສັ້ນທາງ url
#ເສັ້ນ = 0

[hooks]
# ໜຶ່ງໃນນັ້ນ:
changegroup.cia = python:hgcia.hook
#incoming.cia = python:hgcia.hook

[ເວັບ]
# ຖ້າທ່ານຕ້ອງການ hyperlinks (ທາງເລືອກ)
baseurl = http://server/path/to/repo

hgk
ຄົ້ນຫາບ່ອນເກັບມ້ຽນໃນແບບກຣາຟິກ

ການຂະຫຍາຍ hgk ອະນຸຍາດໃຫ້ຊອກຫາປະຫວັດຂອງ repository ໃນຮູບແບບກາຟິກ. ມັນ
ຕ້ອງການ Tcl/Tk ເວີຊັນ 8.4 ຫຼືໃໝ່ກວ່າ. (Tcl/Tk ບໍ່ໄດ້ຖືກແຈກຢາຍດ້ວຍ Mercurial.)

hgk ປະ​ກອບ​ດ້ວຍ​ສອງ​ພາກ​ສ່ວນ​: script Tcl ທີ່​ເຮັດ​ການ​ສະ​ແດງ​ແລະ​ການ​ສອບ​ຖາມ​ຂອງ​
ຂໍ້ມູນ, ແລະການຂະຫຍາຍໄປຫາ Mercurial ທີ່ມີຊື່ hgk.py, ເຊິ່ງສະຫນອງ hooks ສໍາລັບ hgk ກັບ
ໄດ້​ຮັບ​ຂໍ້​ມູນ​. hgk ສາມາດພົບເຫັນຢູ່ໃນໄດເລກະທໍລີປະກອບສ່ວນ, ແລະສ່ວນຂະຫຍາຍໄດ້ຖືກຈັດສົ່ງ
ຢູ່ໃນບ່ອນເກັບມ້ຽນ hgext, ແລະຕ້ອງໄດ້ຮັບການເປີດໃຊ້ງານ.

ໄດ້ hg ເບິ່ງ ຄໍາສັ່ງຈະເປີດຕົວ hgk Tcl script. ເພື່ອໃຫ້ຄໍາສັ່ງນີ້ເຮັດວຽກ, hgk ຕ້ອງເປັນ
ໃນ​ເສັ້ນ​ທາງ​ການ​ຊອກ​ຫາ​ຂອງ​ທ່ານ​. ອີກທາງເລືອກ, ທ່ານສາມາດກໍານົດເສັ້ນທາງໄປຫາ hgk ໃນການຕັ້ງຄ່າຂອງທ່ານ
file:

[hgk]
ເສັ້ນທາງ = /location/of/hgk

hgk ສາມາດໃຊ້ສ່ວນຂະຫຍາຍ extdiff ເພື່ອເບິ່ງການດັດແກ້. ສົມມຸດວ່າທ່ານມີ
ຕັ້ງຄ່າຄໍາສັ່ງ extdiff vdiff ແລ້ວ, ພຽງແຕ່ເພີ່ມ:

[hgk]
vdiff=vdiff

ເມນູສະພາບການດັດແກ້ໃນປັດຈຸບັນຈະສະແດງລາຍການເພີ່ມເຕີມເພື່ອດັບໄຟ vdiff ໃນ hovered ແລະ
ການດັດແກ້ທີ່ເລືອກ.

ຄໍາສັ່ງ
ເບິ່ງ
ເລີ່ມ​ຕົ້ນ​ການ​ເບິ່ງ​ປະ​ຫວັດ​ສາດ​ແບບ​ໂຕ້​ຕອບ​:

hg view [-l LIMIT] [REVRANGE]

ເລີ່ມຕົ້ນຕົວເບິ່ງປະຫວັດສາດແບບໂຕ້ຕອບ

ຕົວເລືອກ:

-l,-- ຈຳກັດ
ຈໍາກັດຈໍານວນການປ່ຽນແປງທີ່ສະແດງ

ຈຸດເດັ່ນ
ການເນັ້ນໄວຍະກອນສໍາລັບ hgweb (ຕ້ອງການ Pygments)

ມັນຂຶ້ນກັບຫ້ອງສະໝຸດການເນັ້ນໄວຍະກອນ Pygments: http://pygments.org/

ມີຕົວເລືອກການຕັ້ງຄ່າຕໍ່ໄປນີ້:

[ເວັບ]
pygments_style = (default: colorful)
highlightfiles = (ຄ່າເລີ່ມຕົ້ນ: ຂະໜາດ('<5M'))
highlightonlymatchfilename = (ຄ່າເລີ່ມຕົ້ນຜິດ)

highlightonlymatchfilename ຈະເນັ້ນພຽງແຕ່ໄຟລ໌ຖ້າຫາກວ່າປະເພດຂອງເຂົາເຈົ້າສາມາດໄດ້ຮັບການກໍານົດໂດຍ
ຊື່ໄຟລ໌ຂອງເຂົາເຈົ້າ. ເມື່ອອັນນີ້ບໍ່ຖືກເປີດໃຊ້ງານ (ຄ່າເລີ່ມຕົ້ນ), Pygments ຈະພະຍາຍາມຢ່າງໜັກ
ກໍານົດປະເພດໄຟລ໌ຈາກເນື້ອຫາແລະການຈັບຄູ່ໃດໆ (ເຖິງແມ່ນວ່າຈະກົງກັບຄວາມເຊື່ອຫມັ້ນຕໍ່າ
ຄະ​ແນນ​) ຈະ​ຖືກ​ນໍາ​ໃຊ້​.

ກວດແກ້
ການແກ້ໄຂປະຫວັດສາດແບບໂຕ້ຕອບ

ດ້ວຍການຕິດຕັ້ງສ່ວນຂະຫຍາຍນີ້, Mercurial ໄດ້ຮັບຄໍາສັ່ງໃຫມ່ຫນຶ່ງ: histedit. ການ​ນໍາ​ໃຊ້​ແມ່ນ​ເປັນ​
ຕໍ່ໄປນີ້, ສົມມຸດວ່າປະຫວັດສາດຕໍ່ໄປນີ້:

@3[tip] 7c2fd3b9020c 2009-04-27 18:04 -0500 durin42
| ເພີ່ມ delta
|
o 2 030b686bedc4 2009-04-27 18:04 -0500 durin42
| ເພີ່ມແກມມາ
|
o 1 c561b4e977df 2009-04-27 18:04 -0500 durin42
| ເພີ່ມເບຕ້າ
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 durin42
ເພີ່ມອັນຟາ

ຖ້າເຈົ້າຕ້ອງແລ່ນ hg ກວດແກ້ c561b4e977df, ທ່ານຈະເຫັນໄຟລ໌ຕໍ່ໄປນີ້ເປີດຢູ່ໃນຂອງທ່ານ
ບັນນາທິການ:

ເລືອກ c561b4e977df ເພີ່ມເບຕ້າ
ເລືອກ 030b686bedc4 ເພີ່ມແກມມາ
ເລືອກ 7c2fd3b9020c ເພີ່ມ delta

# ແກ້ໄຂປະຫວັດລະຫວ່າງ c561b4e977df ແລະ 7c2fd3b9020c
#
# ຄໍາໝັ້ນສັນຍາແມ່ນໄດ້ລະບຸໄວ້ຕັ້ງແຕ່ໜ້ອຍສຸດຫາຫຼ້າສຸດ
#
# ຄໍາສັ່ງ:
# p, ເລືອກ = ໃຊ້ຄໍາຫມັ້ນສັນຍາ
# e, edit = ໃຊ້ commit, ແຕ່ຢຸດສໍາລັບການດັດແກ້
# f, fold = ໃຊ້ commit, ແຕ່ລວມມັນກັບອັນຂ້າງເທິງ
# r, roll = like fold, but discard this commit this description
# d, drop = ເອົາຄໍາຫມັ້ນສັນຍາອອກຈາກປະຫວັດສາດ
# m, mess = ແກ້ໄຂຂໍ້ຄວາມ commit ໂດຍບໍ່ມີການປ່ຽນເນື້ອໃນ commit
#

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

ເລືອກ 030b686bedc4 ເພີ່ມແກມມາ
ເລືອກ c561b4e977df ເພີ່ມເບຕ້າ
ພັບ 7c2fd3b9020c ເພີ່ມ delta

# ແກ້ໄຂປະຫວັດລະຫວ່າງ c561b4e977df ແລະ 7c2fd3b9020c
#
# ຄໍາໝັ້ນສັນຍາແມ່ນໄດ້ລະບຸໄວ້ຕັ້ງແຕ່ໜ້ອຍສຸດຫາຫຼ້າສຸດ
#
# ຄໍາສັ່ງ:
# p, ເລືອກ = ໃຊ້ຄໍາຫມັ້ນສັນຍາ
# e, edit = ໃຊ້ commit, ແຕ່ຢຸດສໍາລັບການດັດແກ້
# f, fold = ໃຊ້ commit, ແຕ່ລວມມັນກັບອັນຂ້າງເທິງ
# r, roll = like fold, but discard this commit this description
# d, drop = ເອົາຄໍາຫມັ້ນສັນຍາອອກຈາກປະຫວັດສາດ
# m, mess = ແກ້ໄຂຂໍ້ຄວາມ commit ໂດຍບໍ່ມີການປ່ຽນເນື້ອໃນ commit
#

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

ເພີ່ມເບຕ້າ
***
ເພີ່ມ delta

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

@ 2[tip] 989b4d060121 2009-04-27 18:04 -0500 durin42
| ເພີ່ມ beta ແລະ delta.
|
o 1 081603921c3f 2009-04-27 18:04 -0500 durin42
| ເພີ່ມແກມມາ
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 durin42
ເພີ່ມອັນຟາ

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

ໄດ້ ດັດແກ້ ການດໍາເນີນງານຈະລຸດທ່ານກັບຄືນໄປຫາຄໍາສັ່ງ, ອະນຸຍາດໃຫ້ທ່ານສາມາດແກ້ໄຂໄຟລ໌
freely, ຫຼືແມ້ກະທັ້ງການນໍາໃຊ້ hg ການບັນທຶກ ເພື່ອເຮັດການປ່ຽນແປງບາງຢ່າງເປັນຄໍາຫມັ້ນສັນຍາແຍກຕ່າງຫາກ. ເມື່ອເຈົ້າຢູ່
ສໍາເລັດແລ້ວ, ການປ່ຽນແປງທີ່ຍັງເຫຼືອທີ່ບໍ່ໄດ້ຕົກລົງຈະມຸ່ງຫມັ້ນເຊັ່ນດຽວກັນ. ເມື່ອເຮັດແລ້ວ, ແລ່ນ hg
ກວດແກ້ --ສືບຕໍ່ ເພື່ອສໍາເລັດຂັ້ນຕອນນີ້. ທ່ານຈະໄດ້ຮັບການເຕືອນສໍາລັບຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາໃຫມ່, ແຕ່
ຂໍ້ຄວາມສັນຍາເລີ່ມຕົ້ນຈະເປັນຂໍ້ຄວາມຕົ້ນສະບັບສໍາລັບ ດັດແກ້ ed ການ​ປັບ​ປຸງ​.

ໄດ້ ຂໍ້ຄວາມ ການດໍາເນີນງານຈະໃຫ້ທ່ານມີໂອກາດທີ່ຈະປັບປຸງຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາໂດຍບໍ່ມີການປ່ຽນແປງ
ເນື້ອໃນ. ມັນເປັນທາງລັດສໍາລັບການເຮັດ ດັດແກ້ ທັນທີທັນໃດປະຕິບັດຕາມໂດຍ hg ກວດແກ້
--ສືບຕໍ່`.

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

ຖ້າພວກເຮົາ clone the histedit-ed example repository ຂ້າງເທິງແລະເພີ່ມສີ່ການປ່ຽນແປງ, ດັ່ງກ່າວ
ພວກ​ເຮົາ​ມີ​ປະ​ຫວັດ​ສາດ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

@6[tip] 038383181893 2009-04-27 18:04 -0500 stefan
| ເພີ່ມ theta
|
o 5 140988835471 2009-04-27 18:04 -0500 stefan
| ເພີ່ມ eta
|
o 4 122930637314 2009-04-27 18:04 -0500 stefan
| ເພີ່ມ zeta
|
o 3 836302820282 2009-04-27 18:04 -0500 stefan
| ເພີ່ມ Epsilon
|
o 2 989b4d060121 2009-04-27 18:04 -0500 durin42
| ເພີ່ມ beta ແລະ delta.
|
o 1 081603921c3f 2009-04-27 18:04 -0500 durin42
| ເພີ່ມແກມມາ
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 durin42
ເພີ່ມອັນຟາ

ຖ້າທ່ານແລ່ນ hg ກວດແກ້ --ຂາອອກ ໃນ clone ຫຼັງຈາກນັ້ນມັນແມ່ນຄືກັນກັບການແລ່ນ hg ກວດແກ້
836302820282. ຖ້າທ່ານຕ້ອງການວາງແຜນທີ່ຈະຍູ້ໄປຫາບ່ອນເກັບມ້ຽນທີ່ Mercurial ບໍ່ໄດ້ກວດພົບ
ກ່ຽວຂ້ອງກັບ repo ແຫຼ່ງ, ທ່ານສາມາດເພີ່ມ a --ກຳລັງ ທາງເລືອກ.

config
ເສັ້ນກົດລະບຽບຂອງ Histedit ຖືກຕັດອອກເປັນ 80 ຕົວອັກສອນຕາມຄ່າເລີ່ມຕົ້ນ. ທ່ານສາມາດປັບແຕ່ງສິ່ງນີ້
ພຶດຕິກໍາໂດຍການກໍານົດຄວາມຍາວທີ່ແຕກຕ່າງກັນໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ:

[ແກ້​ໄຂ​ປະ​ຫວັດ​ສາດ​]
linelen = 120 # ຕັດເສັ້ນກົດລະບຽບຢູ່ທີ່ 120 ຕົວອັກສອນ

hg ກວດແກ້ ພະຍາຍາມອັດຕະໂນມັດທີ່ຈະເລືອກເອົາການແກ້ໄຂພື້ນຖານທີ່ເຫມາະສົມທີ່ຈະນໍາໃຊ້. ເຖິງ
ປ່ຽນແປງການດັດແກ້ພື້ນຖານທີ່ຖືກນໍາໃຊ້, ກໍານົດ revset ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ:

[ແກ້​ໄຂ​ປະ​ຫວັດ​ສາດ​]
defaultrev = only(.) & draft()

ຕາມຄ່າເລີ່ມຕົ້ນ, ແຕ່ລະການແກ້ໄຂທີ່ແກ້ໄຂແລ້ວຕ້ອງມີຢູ່ໃນຄໍາສັ່ງ histedit. ເພື່ອເອົາອອກ
ການ​ທົບ​ທວນ​ຄືນ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​ນໍາ​ໃຊ້​ ວາງ ການດໍາເນີນງານ. ທ່ານສາມາດ configure ການຫຼຸດລົງທີ່ຈະ implicit ສໍາລັບ
ຄໍາຫມັ້ນສັນຍາທີ່ຂາດຫາຍໄປໂດຍການເພີ່ມ:

[ແກ້​ໄຂ​ປະ​ຫວັດ​ສາດ​]
dropmissing = ຈິງ

ຄໍາສັ່ງ
ກວດແກ້
ແກ້ໄຂປະຫວັດຊຸດການປ່ຽນແປງແບບໂຕ້ຕອບ:

hg histedit [ຕົວເລືອກ] ([ANCESTOR] | --outgoing [URL])

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

· ເລືອກເອົາ ເພື່ອ [ຄືນ]ສັ່ງຊຸດການປ່ຽນແປງ

· ວາງ ເພື່ອຍົກເລີກຊຸດການປ່ຽນແປງ

· ຂັດຂວາງ ເພື່ອ reword the changeset ຄໍາຫມັ້ນສັນຍາຂໍ້ຄວາມ

· ເທົ່າ ເພື່ອສົມທົບມັນກັບຊຸດການປ່ຽນແປງກ່ອນຫນ້າ

· ມ້ວນ ຄືກັບການພັບ, ແຕ່ການຍົກເລີກຄໍາອະທິບາຍຂອງສັນຍານີ້

· ດັດແກ້ ເພື່ອແກ້ໄຂຊຸດການປ່ຽນແປງນີ້

ມີ​ຫຼາຍ​ວິ​ທີ​ທີ່​ຈະ​ເລືອກ​ເອົາ​ການ​ປ່ຽນ​ແປງ​ຮາກ​ແມ່ນ​:

· ລະບຸ ANCESTOR ໂດຍກົງ

· ໃຊ້ --outgoing -- ມັນຈະເປັນຕົວປ່ຽນເສັ້ນທຳອິດທີ່ບໍ່ໄດ້ລວມຢູ່ໃນປາຍທາງ.
(ເບິ່ງ hg ຊ່ວຍເຫຼືອ config.default-push)

· ຖ້າ​ບໍ່​ດັ່ງ​ນັ້ນ​, ຄ່າ​ຈາກ "histedit.defaultrev​" ທາງ​ເລືອກ config ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເປັນ revset ກັບ
ເລືອກການແກ້ໄຂພື້ນຖານເມື່ອ ANCESTOR ບໍ່ໄດ້ລະບຸ. ການແກ້ໄຂຄັ້ງທຳອິດກັບຄືນມາໂດຍ
revset ໄດ້ຖືກນໍາໃຊ້. ໂດຍຄ່າເລີ່ມຕົ້ນ, ອັນນີ້ເລືອກປະຫວັດທີ່ສາມາດແກ້ໄຂໄດ້ທີ່ເປັນເອກະລັກສະເພາະ
ເຊື້ອສາຍຂອງລະບົບການເຮັດວຽກ.

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

ໃຊ້ "min(outgoing() and ::.)" ຫຼື revset specification ທີ່ຄ້າຍຄືກັນແທນ --outgoing to
ກໍານົດການແກ້ໄຂການດັດແກ້ເປົ້າຫມາຍທີ່ແນ່ນອນໃນສະຖານະການທີ່ບໍ່ຊັດເຈນດັ່ງກ່າວ. ເບິ່ງ hg ຊ່ວຍເຫຼືອ ປັບປ່ຽນ ສໍາລັບການ
ລາຍລະອຽດກ່ຽວກັບການເລືອກການດັດແກ້.

ຕົວຢ່າງ:

·ຈໍານວນການປ່ຽນແປງໄດ້ຖືກເຮັດ. ການແກ້ໄຂ 3 ແມ່ນບໍ່ຈໍາເປັນ.

ເລີ່ມ​ຕົ້ນ​ການ​ແກ້​ໄຂ​ປະ​ຫວັດ​ສາດ​ຈາກ​ການ​ແກ້​ໄຂ 3​:

hg histedit -r 3

ບັນນາທິການເປີດ, ປະກອບມີບັນຊີລາຍຊື່ຂອງການແກ້ໄຂ, ໂດຍມີການປະຕິບັດສະເພາະທີ່ລະບຸໄວ້:

ເລືອກ 5339bf82f0ca 3 Zworgle the foobar
ເລືອກ 8ef592ce7cc4 4 ບິດເບືອນ zerlog
ເລືອກ 0a9639fcda9d 5 Morgify the cromulancy

ຂໍ້​ມູນ​ເພີ່ມ​ເຕີມ​ກ່ຽວ​ກັບ​ການ​ປະ​ຕິ​ບັດ​ທີ່​ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ປະ​ກົດ​ວ່າ​ຂ້າງ​ລຸ່ມ​ນີ້​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​
ການປັບປຸງ.

ເພື່ອເອົາການດັດແກ້ 3 ອອກຈາກປະຫວັດສາດ, ການປະຕິບັດຂອງມັນ (ໃນຕອນຕົ້ນຂອງທີ່ກ່ຽວຂ້ອງ
line) ຖືກປ່ຽນເປັນ 'drop':

ຫຼຸດລົງ 5339bf82f0ca 3 Zworgle the foobar
ເລືອກ 8ef592ce7cc4 4 ບິດເບືອນ zerlog
ເລືອກ 0a9639fcda9d 5 Morgify the cromulancy

·ຈໍານວນການປ່ຽນແປງໄດ້ຖືກເຮັດ. ການແກ້ໄຂ 2 ແລະ 4 ຕ້ອງໄດ້ຮັບການແລກປ່ຽນ.

ເລີ່ມ​ຕົ້ນ​ການ​ແກ້​ໄຂ​ປະ​ຫວັດ​ສາດ​ຈາກ​ການ​ແກ້​ໄຂ 2​:

hg histedit -r 2

ບັນນາທິການເປີດ, ປະກອບມີບັນຊີລາຍຊື່ຂອງການແກ້ໄຂ, ໂດຍມີການປະຕິບັດສະເພາະທີ່ລະບຸໄວ້:

ເລືອກ 252a1af424ad 2 Blorb a morgwazzle
ເລືອກ 5339bf82f0ca 3 Zworgle the foobar
ເລືອກ 8ef592ce7cc4 4 ບິດເບືອນ zerlog

ເພື່ອແລກປ່ຽນການດັດແກ້ 2 ແລະ 4, ເສັ້ນຂອງມັນຖືກແລກປ່ຽນຢູ່ໃນບັນນາທິການ:

ເລືອກ 8ef592ce7cc4 4 ບິດເບືອນ zerlog
ເລືອກ 5339bf82f0ca 3 Zworgle the foobar
ເລືອກ 252a1af424ad 2 Blorb a morgwazzle

ໃຫ້ຜົນຕອບແທນ 0 ໃນຄວາມສໍາເລັດ, 1 ຖ້າການແຊກແຊງຂອງຜູ້ໃຊ້ແມ່ນຕ້ອງການ (ບໍ່ພຽງແຕ່ສໍາລັບ "ແກ້ໄຂ" ໂດຍເຈດຕະນາ
ຄໍາສັ່ງ, ແຕ່ຍັງສໍາລັບການແກ້ໄຂບັນຫາຂໍ້ຂັດແຍ່ງທີ່ບໍ່ຄາດຄິດ).

ຕົວເລືອກ:

-- ຄໍາສັ່ງ
ອ່ານປະຫວັດການແກ້ໄຂຈາກໄຟລ໌ທີ່ລະບຸໄວ້

-c, --ສືບຕໍ່
ດຳເນີນການແກ້ໄຂຕໍ່ໄປ

--ດັດແກ້-ວາງແຜນ
ແກ້ໄຂລາຍການປະຕິບັດທີ່ຍັງເຫຼືອ

-k, --ຮັກສາ
ຢ່າຖອດໂນດເກົ່າອອກຫຼັງຈາກການແກ້ໄຂສໍາເລັດ

--ເອົາລູກອອກ
ຍົກເລີກການແກ້ໄຂທີ່ກຳລັງດຳເນີນຢູ່

-o, --ຂາອອກ
ບໍ່ພົບການປ່ຽນແປງໃນປາຍທາງ

-f, --ກຳລັງ
ບັງຄັບໃຫ້ອອກເຖິງແມ່ນວ່າສໍາລັບ repositories ທີ່ບໍ່ກ່ຽວຂ້ອງ

-r,--rev
ສະບັບທໍາອິດທີ່ຈະໄດ້ຮັບການດັດແກ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຄໍາ
ຂະຫຍາຍຄໍາສໍາຄັນໃນໄຟລ໌ທີ່ຕິດຕາມ

ສ່ວນຂະຫຍາຍນີ້ຂະຫຍາຍ RCS/CVS ຄ້າຍຄື ຫຼື ປັບແຕ່ງເອງ $Keywords$ ໃນໄຟລ໌ຂໍ້ຄວາມທີ່ຕິດຕາມ.
ເລືອກໂດຍການຕັ້ງຄ່າຂອງທ່ານ.

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

ຄໍາສໍາຄັນຂະຫຍາຍໄປຫາຂໍ້ມູນຊຸດການປ່ຽນແປງທີ່ກ່ຽວຂ້ອງກັບການປ່ຽນແປງຫຼ້າສຸດທີ່ກ່ຽວຂ້ອງກັບ
ພໍ່ແມ່ໄດເລກະທໍລີທີ່ເຮັດວຽກຂອງແຕ່ລະໄຟລ໌.

ການຕັ້ງຄ່າແມ່ນເຮັດຢູ່ໃນພາກສ່ວນ [keyword], [keywordset] ແລະ [keywords] ຂອງ hgrc.
ໄຟລ໌.

ຕົວຢ່າງ:

[ຄຳ ສັບ]
# ຂະຫຍາຍຄໍາສໍາຄັນໃນທຸກໄຟລ໌ python ຍົກເວັ້ນຄໍາທີ່ກົງກັບ "x*"
**.py =
x* = ບໍ່ສົນໃຈ

[ຊຸດຄໍາສໍາຄັນ]
# ມັກ svn- ຫຼາຍກວ່າ cvs-like default keywords
svn = ຄວາມຈິງ

ຫມາຍເຫດ ຍິ່ງເຈົ້າຢູ່ໃນຮູບແບບຊື່ໄຟລ໌ຂອງເຈົ້າຫຼາຍເທົ່າໃດ ເຈົ້າຈະສູນເສຍຄວາມໄວໜ້ອຍລົງ
ຫໍສະ ໝຸດ.

ສໍາລັບ [keywordmaps] ແຜນທີ່ແມ່ແບບແລະການສາທິດການຂະຫຍາຍຕົວແລະການດໍາເນີນການຄວບຄຸມ hg kwdemo.
ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແມ່ແບບ ສໍາລັບບັນຊີລາຍຊື່ຂອງແມ່ແບບແລະຕົວກອງທີ່ມີຢູ່.

ສາມຕົວກອງແມ່ແບບວັນທີເພີ່ມເຕີມແມ່ນສະຫນອງໃຫ້:

utcdate

"2006/09/18 15:13:13"

svnutcdate

"2006-09-18 15:13:13Z"

svnisodate

" 2006-09-18 08:13:13 -700 (ຈັນ, 18 ກັນຍາ 2006)"

ແຜນທີ່ແມ່ແບບເລີ່ມຕົ້ນ (ເບິ່ງດ້ວຍ hg kwdemo -d) ສາມາດໄດ້ຮັບການທົດແທນດ້ວຍການປັບແຕ່ງ
ຄໍາສໍາຄັນແລະແມ່ແບບ. ອີກເທື່ອຫນຶ່ງ, ແລ່ນ hg kwdemo ເພື່ອຄວບຄຸມຜົນໄດ້ຮັບຂອງການຕັ້ງຄ່າຂອງທ່ານ
ປ່ຽນແປງ.

ກ່ອນທີ່ຈະປ່ຽນ / ປິດການໃຊ້ຄໍາທີ່ໃຊ້ວຽກ, ທ່ານຕ້ອງດໍາເນີນການ hg kvhrink ເພື່ອຫຼີກເວັ້ນການເກັບຮັກສາ
ຂະຫຍາຍຄໍາສໍາຄັນໃນປະຫວັດສາດການປ່ຽນແປງ.

ເພື່ອບັງຄັບການຂະຫຍາຍຫຼັງຈາກເປີດໃຊ້ມັນ, ຫຼືການປ່ຽນແປງການຕັ້ງຄ່າ, ດໍາເນີນການ hg kwexpand.

ການຂະຫຍາຍຕົວທີ່ກວມເອົາຫຼາຍກວ່າຫນຶ່ງເສັ້ນແລະການຂະຫຍາຍທີ່ເພີ່ມຂຶ້ນ, ເຊັ່ນ CVS' $Log$, ແມ່ນ
ບໍ່​ສະ​ຫນັບ​ສະ​ຫນຸນ. ແຜນທີ່ແມ່ແບບຄໍາສໍາຄັນ "Log = {desc}" ຂະຫຍາຍໄປຫາແຖວທໍາອິດຂອງ
ປ່ຽນ​ຄໍາ​ອະ​ທິ​ບາຍ​.

ຄໍາສັ່ງ
kwdemo
ພິມ [keywords] ການຕັ້ງຄ່າແລະຕົວຢ່າງການຂະຫຍາຍ:

hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...

ສະ​ແດງ​ໃຫ້​ເຫັນ​ແຜນ​ທີ່​ແມ່​ແບບ​ຄໍາ​ທີ່​ກໍາ​ນົດ​ໄວ້​ໃນ​ປັດ​ຈຸ​ບັນ​, custom ຫຼື​ເລີ່ມ​ຕົ້ນ​ແລະ​ການ​ຂະ​ຫຍາຍ​ຕົວ​ຂອງ​ເຂົາ​ເຈົ້າ​.

ຂະຫຍາຍການຕັ້ງຄ່າປັດຈຸບັນໂດຍການລະບຸແຜນທີ່ເປັນອາກິວເມັນ ແລະໃຊ້ -f/--rcfile ເພື່ອ
ແຫຼ່ງໄຟລ໌ hgrc ພາຍນອກ.

ໃຊ້ -d/--default ເພື່ອປິດການຕັ້ງຄ່າປັດຈຸບັນ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ແມ່ແບບ ສໍາລັບຂໍ້ມູນກ່ຽວກັບແມ່ແບບແລະການກັ່ນຕອງ.

ຕົວເລືອກ:

-d, --ຄ່າເລີ່ມຕົ້ນ
ສະແດງແຜນທີ່ແມ່ແບບຄໍາຫລັກເລີ່ມຕົ້ນ

-f,--rcfile
ອ່ານແຜນທີ່ຈາກ rcfile

kwexpand
ຂະຫຍາຍຄໍາສໍາຄັນໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg kwexpand [ຕົວເລືອກ]... [FILE]...

ດໍາເນີນການຫຼັງຈາກ (re)ເປີດການຂະຫຍາຍຄໍາຫລັກ.

kwexpand ປະຕິເສດທີ່ຈະດໍາເນີນການຖ້າໄຟລ໌ທີ່ໃຫ້ນັ້ນມີການປ່ຽນແປງໃນທ້ອງຖິ່ນ.

ຕົວເລືອກ:

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

kwfiles
ສະແດງໄຟລ໌ທີ່ກໍາຫນົດຄ່າສໍາລັບການຂະຫຍາຍຄໍາຫລັກ:

hg kwfiles [OPTION]... [FILE]...

ບອກໄຟລ໌ໃດໃນໄດເລກະທໍລີທີ່ເຮັດວຽກຖືກຈັບຄູ່ໂດຍການຕັ້ງຄ່າ [ຄໍາສໍາຄັນ]
ຮູບແບບ.

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

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຄໍາ ກ່ຽວກັບວິທີການສ້າງຮູບແບບທັງສໍາລັບການລວມແລະການຍົກເວັ້ນ
ໄຟລ໌.

ດ້ວຍ -A/--all ແລະ -v/--verbose ລະຫັດທີ່ໃຊ້ເພື່ອສະແດງສະຖານະຂອງໄຟລ໌ແມ່ນ:

K = ຜູ້ສະຫມັກຂະຫຍາຍຄໍາຫລັກ
k = ຜູ້ສະຫມັກຂະຫຍາຍຄໍາຫລັກ (ບໍ່ໄດ້ຕິດຕາມ)
ຂ້ອຍ = ບໍ່ສົນໃຈ
i = ບໍ່ສົນໃຈ (ບໍ່ໄດ້ຕິດຕາມ)

ຕົວເລືອກ:

-A, --ທັງໝົດ
ສະແດງທຸງສະຖານະຄໍາຫລັກຂອງໄຟລ໌ທັງໝົດ

-i, --ບໍ່ສົນໃຈ
ສະແດງໄຟລ໌ທີ່ຍົກເວັ້ນຈາກການຂະຫຍາຍ

-u, --ບໍ່ຮູ້ຈັກ
ສະແດງໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກ (ບໍ່ໄດ້ຕິດຕາມ) ເທົ່ານັ້ນ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

kvhrink
ກັບຄືນຄໍາທີ່ຂະຫຍາຍຢູ່ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg kwshrink [OPTION]... [FILE]...

ຕ້ອງດໍາເນີນການກ່ອນທີ່ຈະປ່ຽນ / ປິດຄໍາທີ່ໃຊ້ວຽກ.

kwshrink ປະຕິເສດທີ່ຈະດໍາເນີນການຖ້າຫາກວ່າໄຟລ໌ທີ່ໃຫ້ປະກອບດ້ວຍການປ່ຽນແປງໃນທ້ອງຖິ່ນ.

ຕົວເລືອກ:

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ໄຟລ໌ຂະຫນາດໃຫຍ່
ຕິດຕາມໄຟລ໌ໄບນາຣີຂະຫນາດໃຫຍ່

ໄຟລ໌ໄບນາຣີຂະຫນາດໃຫຍ່ມີແນວໂນ້ມທີ່ຈະບໍ່ບີບອັດຫຼາຍ, ບໍ່ມີຄວາມແຕກຕ່າງຫຼາຍ, ແລະບໍ່ແມ່ນທັງຫມົດ
ລວມກັນໄດ້. ໄຟລ໌ດັ່ງກ່າວບໍ່ໄດ້ຖືກຈັດການຢ່າງມີປະສິດທິພາບໂດຍຮູບແບບການເກັບຮັກສາຂອງ Mercurial (revlog),
ເຊິ່ງແມ່ນອີງໃສ່ deltas binary ທີ່ຖືກບີບອັດ; ການເກັບຮັກສາໄຟລ໌ binary ຂະຫນາດໃຫຍ່ເປັນປົກກະຕິ
ໄຟລ໌ Mercurial ຈະເສຍແບນວິດ ແລະພື້ນທີ່ດິສກ໌ ແລະເພີ່ມການໃຊ້ຄວາມຈຳຂອງ Mercurial.
ສ່ວນຂະຫຍາຍ bigfiles ແກ້ໄຂບັນຫາເຫຼົ່ານີ້ໂດຍການເພີ່ມ client-server ສູນກາງ
ຊັ້ນເທິງຂອງ Mercurial: ໄຟລ໌ຂະຫນາດໃຫຍ່ອາໄສຢູ່ໃນ a ສູນກາງ ຮ້ານ ອອກ​ໃນ​ເຄືອ​ຂ່າຍ​
ບາງບ່ອນ, ແລະທ່ານພຽງແຕ່ເອົາການດັດແກ້ທີ່ທ່ານຕ້ອງການເມື່ອທ່ານຕ້ອງການ.

largefiles ເຮັດວຽກໂດຍການຮັກສາ "ໄຟລ໌ standin" ໃນ .hglf/ ສໍາລັບແຕ່ລະ bigfile. ໄດ້
standins ແມ່ນນ້ອຍ (41 bytes: SHA-1 hash plus newline) ແລະຖືກຕິດຕາມໂດຍ Mercurial.
ການແກ້ໄຂຂະຫນາດໃຫຍ່ແມ່ນຖືກກໍານົດໂດຍ SHA-1 hash ຂອງເນື້ອຫາຂອງພວກເຂົາ, ເຊິ່ງຖືກຂຽນ
ກັບ standin ໄດ້. bigfiles ໃຊ້ ID ການແກ້ໄຂນັ້ນເພື່ອເອົາ/ໃສ່ການດັດແກ້ bigfile ຈາກ/ເຖິງ
ຮ້ານຄ້າກາງ. ນີ້ຊ່ວຍປະຢັດພື້ນທີ່ດິດແລະແບນວິດ, ເພາະວ່າທ່ານບໍ່ຈໍາເປັນ
ດຶງເອົາການດັດແກ້ປະຫວັດສາດທັງຫມົດຂອງໄຟລ໌ຂະຫນາດໃຫຍ່ໃນເວລາທີ່ທ່ານ clone ຫຼືດຶງ.

ເພື່ອເລີ່ມຕົ້ນການເກັບຮັກສາໃຫມ່ຫຼືເພີ່ມໄຟລ໌ສອງຂະຫນາດໃຫຍ່ໃຫມ່, ພຽງແຕ່ເພີ່ມ --large ກັບຂອງທ່ານ hg ເພີ່ມ
ຄໍາສັ່ງ. ຍົກ​ຕົວ​ຢ່າງ:

$dd if=/dev/urandom of=randomdata count=2000
$ hg ເພີ່ມ --large randomdata
$hg commit -m 'ເພີ່ມຂໍ້ມູນແບບສຸ່ມເປັນໄຟລ໌ຂະໜາດໃຫຍ່'

ເມື່ອທ່ານຍູ້ຊຸດການປ່ຽນແປງທີ່ເພີ່ມ / ແກ້ໄຂໄຟລ໌ຂະຫນາດໃຫຍ່ໃສ່ບ່ອນເກັບມ້ຽນຫ່າງໄກສອກຫຼີກ, ຂອງມັນ
ການແກ້ໄຂໄຟລ໌ຂະຫນາດໃຫຍ່ຈະຖືກອັບໂຫລດພ້ອມກັບມັນ. ໃຫ້ສັງເກດວ່າໄລຍະໄກ Mercurial ຕ້ອງ
ຍັງມີສ່ວນຂະຫຍາຍຂອງ bigfiles ທີ່ເປີດໃຫ້ໃຊ້ງານໄດ້.

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

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ດຶງ​ໄຟລ​໌​ຂະ​ຫນາດ​ໃຫຍ່​ທີ່​ທ່ານ​ບໍ່​ຈໍາ​ເປັນ​ຕ້ອງ​ສໍາ​ລັບ​ການ​ປັບ​ປຸງ​ເທື່ອ​, ຫຼັງ​ຈາກ​ນັ້ນ​ທ່ານ​ສາ​ມາດ​ໃຊ້​ດຶງ​ກັບ​
ໄດ້ --lfrev ທາງເລືອກຫຼື hg lfດຶງ ຄໍາສັ່ງ.

ຖ້າຫາກວ່າທ່ານຮູ້ວ່າທ່ານກໍາລັງດຶງຈາກສະຖານທີ່ທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນແລະຕ້ອງການທີ່ຈະດາວນ໌ໂຫລດທັງຫມົດ
ຂະ​ຫນາດ​ໃຫຍ່​ໄຟລ​໌​ທີ່​ສອດ​ຄ້ອງ​ກັນ​ກັບ​ການ​ປ່ຽນ​ແປງ​ໃຫມ່​ໃນ​ເວ​ລາ​ດຽວ​ກັນ​, ຫຼັງ​ຈາກ​ນັ້ນ​ທ່ານ​ສາ​ມາດ​ດຶງ​ກັບ​
--lfrev "ດຶງ()".

ຖ້າຫາກວ່າທ່ານພຽງແຕ່ຕ້ອງການທີ່ຈະຮັບປະກັນວ່າທ່ານຈະມີຂະຫນາດໃຫຍ່ໄຟລ໌ທີ່ຈໍາເປັນເພື່ອ merge ຫຼື rebase
ກັບຫົວໃຫມ່ທີ່ທ່ານກໍາລັງດຶງ, ຫຼັງຈາກນັ້ນທ່ານສາມາດດຶງດ້ວຍ --lfrev "ຫົວ(ດຶງ())" ທຸງ
ເພື່ອດາວໂຫລດໄຟລ໌ຂະໜາດໃຫຍ່ທີ່ໃໝ່ຢູ່ໃນຫົວທີ່ເຈົ້າກຳລັງດຶງໄວ້ລ່ວງໜ້າ.

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

ຖ້າທ່ານມີໄຟລ໌ຂະຫນາດໃຫຍ່ທີ່ຕິດຕາມໂດຍ Mercurial ໂດຍບໍ່ມີການຂະຫຍາຍໄຟລ໌ຂະຫນາດໃຫຍ່, ທ່ານ
ຈະຕ້ອງປ່ຽນບ່ອນເກັບມ້ຽນຂອງເຈົ້າເພື່ອໃຫ້ໄດ້ປະໂຫຍດຈາກໄຟລ໌ຂະໜາດໃຫຍ່. ນີ້ແມ່ນເຮັດແລ້ວ
ກັບ hg lf convert ຄໍາສັ່ງ:

$ hg lfconvert --size 10 oldrepo newrepo

ໃນບ່ອນເກັບມ້ຽນທີ່ມີໄຟລ໌ຂະຫນາດໃຫຍ່ຢູ່ໃນພວກມັນແລ້ວ, ໄຟລ໌ໃຫມ່ໃດໆທີ່ເກີນ 10MB ຈະ
ອັດຕະໂນມັດຈະຖືກເພີ່ມເປັນໄຟລ໌ຂະຫນາດໃຫຍ່. ເພື່ອປ່ຽນເກນນີ້, ໃຫ້ຕັ້ງ bigfiles.minsize in
ໄຟລ໌ config Mercurial ຂອງທ່ານໃຫ້ຂະຫນາດຕໍາ່ສຸດໃນ megabytes ເພື່ອຕິດຕາມເປັນ bigfile, ຫຼື
ໃຊ້ຕົວເລືອກ --lfsize ກັບຄໍາສັ່ງເພີ່ມ (ຍັງຢູ່ໃນ megabytes):

[ໄຟລ໌ຂະຫນາດໃຫຍ່]
ຂະໜາດນ້ອຍ = 2

$hg ເພີ່ມ --lfsize 2

ໄດ້ largefiles.patterns ທາງເລືອກ config ຊ່ວຍໃຫ້ທ່ານສາມາດລະບຸບັນຊີລາຍຊື່ຂອງຮູບແບບຊື່ໄຟລ໌
(ເບິ່ງ hg ຊ່ວຍເຫຼືອ ຮູບແບບການ) ທີ່​ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ຕິດ​ຕາມ​ສະ​ເຫມີ​ເປັນ bigfiles​:

[ໄຟລ໌ຂະຫນາດໃຫຍ່]
ຮູບແບບ =
* .jpg
re:.*\.(png|bmp)$
library.zip
ເນື້ອໃນ/ສຽງ/*

ໄຟລ໌ທີ່ກົງກັບຫນຶ່ງໃນຮູບແບບເຫຼົ່ານີ້ຈະຖືກເພີ່ມເປັນໄຟລ໌ຂະຫນາດໃຫຍ່ໂດຍບໍ່ຄໍານຶງເຖິງໄຟລ໌ເຫຼົ່ານັ້ນ
ຂະຫນາດ.

ໄດ້ bigfiles.minsize ແລະ largefiles.patterns ຕົວເລືອກ config ຈະຖືກລະເລີຍສໍາລັບການໃດໆ
repositories ບໍ່ມີໄຟລ໌ຂະຫນາດໃຫຍ່. ເພື່ອເພີ່ມໄຟລ໌ໃຫຍ່ທໍາອິດໃສ່ a
repository, ທ່ານຕ້ອງເຮັດແນວນັ້ນຢ່າງຊັດເຈນດ້ວຍທຸງຂະຫນາດໃຫຍ່ທີ່ສົ່ງໄປຫາ hg ເພີ່ມ ຄໍາສັ່ງ.

ຄໍາສັ່ງ
lf convert
ປ່ຽນບ່ອນເກັບມ້ຽນປົກກະຕິເປັນບ່ອນເກັບຂໍ້ມູນຂະຫນາດໃຫຍ່:

hg lfconvert SOURCE DEST [FILE ...]

ປ່ຽນ repository SOURCE ເປັນ DEST repository ໃຫມ່, ຄືກັນກັບ SOURCE ຍົກເວັ້ນວ່າ
ໄຟລ໌ທີ່ແນ່ນອນຈະຖືກປ່ຽນເປັນໄຟລ໌ຂະຫນາດໃຫຍ່: ໂດຍສະເພາະ, ໄຟລ໌ທີ່ກົງກັບໃດໆ
PATTERN or ຂະໜາດຂອງມັນສູງກວ່າເກນຂະໜາດຕໍ່າສຸດຈະຖືກປ່ຽນເປັນໄຟລ໌ຂະໜາດໃຫຍ່. ໄດ້
ຂະ​ຫນາດ​ທີ່​ນໍາ​ໃຊ້​ເພື່ອ​ກໍາ​ນົດ​ວ່າ​ຈະ​ເປັນ​ຫຼື​ບໍ່​ທີ່​ຈະ​ຕິດ​ຕາມ​ໄຟລ​໌​ເປັນ​ໄຟລ​໌​ໃຫຍ່​ແມ່ນ​ຂະ​ຫນາດ​ຂອງ​
ສະບັບທໍາອິດຂອງໄຟລ໌. ຂະໜາດຕໍ່າສຸດສາມາດລະບຸໄດ້ດ້ວຍ --size ຫຼື in
ການຕັ້ງຄ່າເປັນ bigfiles.size.

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

ໃຊ້ --to-normal ເພື່ອປ່ຽນໄຟລ໌ໃຫຍ່ກັບໄປເປັນໄຟລ໌ປົກກະຕິ; ຫຼັງຈາກນີ້, DEST
repository ສາ​ມາດ​ນໍາ​ໃຊ້​ໂດຍ​ບໍ່​ມີ​ການ​ຂະ​ຫນາດ​ໃຫຍ່​ຢູ່​ໃນ​ທັງ​ຫມົດ​.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ,--ຂະໜາດ
ຂະໜາດຕໍາ່ສຸດທີ່ (MB) ສໍາລັບໄຟລ໌ທີ່ຈະຖືກປ່ຽນເປັນໄຟລ໌ຂະຫນາດໃຫຍ່

-- ປົກກະຕິ
ປ່ຽນຈາກ repo ໃຫຍ່ເປັນ repo ປົກກະຕິ

lfດຶງ
ດຶງໄຟລ໌ຂະຫນາດໃຫຍ່ສໍາລັບການດັດແກ້ທີ່ລະບຸຈາກແຫຼ່ງທີ່ລະບຸໄວ້:

hg lfpull -r REV... [-e CMD] [--remotecmd CMD] [SOURCE]

ດຶງໄຟລ໌ຂະຫນາດໃຫຍ່ທີ່ອ້າງອີງຈາກຊຸດການປ່ຽນແປງໃນທ້ອງຖິ່ນແຕ່ຂາດຢູ່ໃນທ້ອງຖິ່ນ, ດຶງ
ຈາກ repository ຫ່າງໄກສອກຫຼີກກັບ cache ທ້ອງຖິ່ນ.

ຖ້າ SOURCE ຖືກລະເວັ້ນ, ເສັ້ນທາງ 'ເລີ່ມຕົ້ນ' ຈະຖືກໃຊ້. ເບິ່ງ hg ຊ່ວຍເຫຼືອ url ສໍາລັບການຫຼາຍ
ຂໍ້ມູນຂ່າວສານ.

ບາງຕົວຢ່າງ:

·ດຶງໄຟລ໌ຂະຫນາດໃຫຍ່ສໍາລັບຫົວຫນ້າສາຂາທັງຫມົດ:

hg lfpull -r "ຫົວ() ແລະບໍ່ປິດ()"

·ດຶງ bigfiles ໃນສາຂາເລີ່ມຕົ້ນ:

hg lfpull -r "ສາຂາ(ຄ່າເລີ່ມຕົ້ນ)"

ຕົວເລືອກ:

-r,--rev
ດຶງໄຟລ໌ຂະຫນາດໃຫຍ່ສໍາລັບການດັດແກ້ເຫຼົ່ານີ້

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

mq
ຈັດການ stack ຂອງ patches ໄດ້

ສ່ວນຂະຫຍາຍນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດເຮັດວຽກກັບຊຸດຂອງ patches ໃນບ່ອນເກັບມ້ຽນ Mercurial. ມັນຄຸ້ມຄອງ
ສອງ stacks ຂອງ patches - ທັງຫມົດ patches ຮູ້ຈັກ, ແລະ patches ນໍາໃຊ້ (subset ຂອງ patches ຮູ້ຈັກ).

patches ທີ່ຮູ້ຈັກແມ່ນເປັນຕົວແທນເປັນໄຟລ໌ patch ໃນໄດເລກະທໍລີ .hg/patches. ນຳໃຊ້ແຜ່ນແພ
ແມ່ນທັງໄຟລ໌ patch ແລະຊຸດການປ່ຽນແປງ.

ວຽກງານທົ່ວໄປ (ໃຊ້ hg ຊ່ວຍເຫຼືອ ຄໍາສັ່ງ ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ):

ສ້າງ patch ໃຫມ່ qnew
ນໍາເຂົ້າ patch qimport ທີ່ມີຢູ່ແລ້ວ

ພິມຊຸດ patch qseries
ພິມ patches ນໍາໃຊ້ qapplied

ເພີ່ມ patch ທີ່ຮູ້ຈັກກັບ stack qpush ທີ່ໃຊ້
ເອົາ patch ອອກຈາກ stack qpop ທີ່ໃຊ້
ໂຫຼດຂໍ້ມູນຄືນໃໝ່ຂອງ patch ທີ່ໃຊ້ເທິງສຸດ qrefresh

ໂດຍຄ່າເລີ່ມຕົ້ນ, mq ຈະໃຊ້ git patches ໂດຍອັດຕະໂນມັດເມື່ອຕ້ອງການເພື່ອຫຼີກເວັ້ນການສູນເສຍຮູບແບບໄຟລ໌
ການ​ປ່ຽນ​ແປງ​, ການ​ສໍາ​ເນົາ​ການ​ບັນ​ທຶກ​, ໄຟລ​໌​ຖານ​ສອງ​ຫຼື​ການ​ສ້າງ​ໄຟລ​໌​ເປົ່າ​ຫຼື​ການ​ລົບ​. ພຶດຕິກໍານີ້
ສາມາດໄດ້ຮັບການ configured ກັບ:

[mq]
git = auto/keep/yes/no

ຖ້າຕັ້ງເປັນ 'ຮັກສາ', mq ຈະປະຕິບັດຕາມການຕັ້ງຄ່າສ່ວນ [diff] ໃນຂະນະທີ່ຮັກສາທີ່ມີຢູ່ແລ້ວ
git patches ເມື່ອ qrefresh. ຖ້າຕັ້ງເປັນ 'ແມ່ນ' ຫຼື 'ບໍ່', mq ຈະ override ສ່ວນ [diff]
ແລະສະເຫມີສ້າງ git ຫຼື patches ປົກກະຕິ, ອາດຈະສູນເສຍຂໍ້ມູນໃນກໍລະນີທີສອງ.

ມັນອາດຈະເປັນຄວາມປາຖະຫນາສໍາລັບການປ່ຽນແປງ mq ທີ່ຈະຖືກເກັບໄວ້ໃນໄລຍະລັບ (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ),
ເຊິ່ງສາມາດເປີດໃຊ້ໄດ້ດ້ວຍການຕັ້ງຄ່າຕໍ່ໄປນີ້:

[mq]
ຄວາມລັບ = ຄວາມຈິງ

ໂດຍຄ່າເລີ່ມຕົ້ນ, ທ່ານຈະຈັດການແຖວ patch ທີ່ມີຊື່ວ່າ "patches". ທ່ານ​ສາ​ມາດ​ສ້າງ​ອື່ນໆ​,
ແຖວ ເພີ້ມ ເອ ກະ ລາດ ກັບ hg ຄິວ ຄໍາສັ່ງ.

ຖ້າໄດເລກະທໍລີທີ່ເຮັດວຽກມີໄຟລ໌ທີ່ບໍ່ໄດ້ເຊື່ອມຕໍ່, qpush, qpop ແລະ qgoto abort
ທັນທີ. ຖ້າ -f/--force ຖືກໃຊ້, ການປ່ຽນແປງຈະຖືກຍົກເລີກ. ການຕັ້ງຄ່າ:

[mq]
keepchanges = ແທ້

ເຮັດໃຫ້ພວກເຂົາປະພຶດຕົວຄືກັບວ່າ --keep-changes ໄດ້ຖືກຜ່ານ, ແລະການປ່ຽນແປງທ້ອງຖິ່ນທີ່ບໍ່ມີການຂັດແຍ້ງຈະ
ໄດ້ຮັບການທົນທານແລະຮັກສາໄວ້. ຖ້າທາງເລືອກທີ່ບໍ່ເຂົ້າກັນໄດ້ເຊັ່ນ -f/--force ຫຼື --exact ແມ່ນ
ຜ່ານໄປ, ການຕັ້ງຄ່ານີ້ຖືກລະເລີຍ.

ສ່ວນຂະຫຍາຍນີ້ໃຊ້ເພື່ອສະໜອງຄຳສັ່ງເສັ້ນດ່າງ. ຄໍາສັ່ງນີ້ປະຈຸບັນອາໄສຢູ່ໃນແຖບ
ການຂະຫຍາຍ.

ຄໍາສັ່ງ
qapplied
ພິມ patches ທີ່ໃຊ້ແລ້ວ:

hg qapplied [-1] [-s] [PATCH]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-1, -- ສຸດທ້າຍ
ສະແດງພຽງແຕ່ patch ທີ່ໃຊ້ກ່ອນຫນ້າ

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

qclone
clone main ແລະ patch repository ໃນເວລາດຽວກັນ:

hg qclone [ຕົວເລືອກ]... ແຫຼ່ງ [DEST]

ຖ້າແຫຼ່ງແມ່ນທ້ອງຖິ່ນ, ຈຸດຫມາຍປາຍທາງຈະບໍ່ຖືກນໍາໃຊ້ patches. ຖ້າແຫຼ່ງແມ່ນຫ່າງໄກສອກຫຼີກ, ນີ້
ຄໍາສັ່ງບໍ່ສາມາດກວດເບິ່ງວ່າ patches ຖືກນໍາໃຊ້ໃນແຫຼ່ງ, ດັ່ງນັ້ນບໍ່ສາມາດຮັບປະກັນວ່າ patches
ບໍ່ໄດ້ໃຊ້ໃນປາຍທາງ. ຖ້າທ່ານ clone repository ຫ່າງໄກສອກຫຼີກ, ໃຫ້ແນ່ໃຈວ່າກ່ອນທີ່ຈະມີ
ບໍ່​ມີ​ການ​ແກ້​ໄຂ​.

ແຫຼ່ງທີ່ມາຂອງ patch repository ແມ່ນຊອກຫາຢູ່ໃນ /.hg/patches ໂດຍຄ່າເລີ່ມຕົ້ນ. ໃຊ້ -p ກັບ
ປ່ຽນແປງ.

ໄດເຣັກທໍຣີ patch ຕ້ອງເປັນບ່ອນເກັບມ້ຽນ Mercurial ທີ່ຖືກວາງໄວ້, ດັ່ງທີ່ຈະຖືກສ້າງຂື້ນໂດຍ hg ໃນ​ມັນ
--mq.

ກັບຄືນ 0 ໃນຄວາມສໍາເລັດ.

ຕົວເລືອກ:

--ດຶງ ໃຊ້ pull protocol ເພື່ອສຳເນົາ metadata

-U, --ການອັບເດດ
ຢ່າປັບປຸງໄດເລກະທໍລີທີ່ເຮັດວຽກໃຫມ່

-- ບໍ່ໄດ້ບີບອັດ
ໃຊ້ການໂອນຍ້າຍທີ່ບໍ່ໄດ້ບີບອັດ (ໄວຜ່ານ LAN)

-p,-- ເພີ້ມ
ທີ່ຕັ້ງຂອງບ່ອນເກັບຂໍ້ມູນ patch ແຫຼ່ງ

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

qcommit
ສັນຍາການປ່ຽນແປງໃນບ່ອນເກັບຂໍ້ມູນຄິວ (ຍົກເລີກ):

hg qcommit [OPTION]... [FILE]...

ຄຳສັ່ງນີ້ຖືກປະຕິເສດ; ໃຊ້ hg ຄໍາຫມັ້ນສັນຍາ --mq ແທນທີ່ຈະເປັນ.

ຕົວເລືອກ:

-A, --addremove
ໝາຍໄຟລ໌ໃໝ່/ທີ່ຂາດຫາຍໄປວ່າຖືກເພີ່ມ/ເອົາອອກກ່ອນການກະທຳ

-- ສາຂາ
ໝາຍຫົວສາຂາວ່າປິດ

--ປັບປຸງ
ແກ້ໄຂພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ

- ແມ່ນແລ້ວ, --ລັບ
ໃຊ້ໄລຍະລັບສໍາລັບຄໍາຫມັ້ນສັນຍາ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-i, --ໂຕ້ຕອບ
ໃຊ້ໂໝດໂຕ້ຕອບ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: qci

qdelete
ເອົາ patches ອອກຈາກຄິວ:

hg qdelete [-k] [PATCH]...

ແຜ່ນແພຕ້ອງບໍ່ຖືກນຳໃຊ້, ແລະຢ່າງໜ້ອຍຕ້ອງໃຊ້ແພັກໜຶ່ງອັນ. patch ທີ່ແນ່ນອນ
ຕ້ອງໃຫ້ຕົວລະບຸ. ດ້ວຍ -k/--keep, ໄຟລ໌ patch ຖືກຮັກສາໄວ້ໃນ patch
ລະບົບ.

ເພື່ອຢຸດການຈັດການ patch ແລະຍ້າຍມັນເຂົ້າໄປໃນປະຫວັດຖາວອນ, ໃຫ້ໃຊ້ hg qfinish ຄໍາສັ່ງ.

ຕົວເລືອກ:

-k, --ຮັກສາ
ຮັກສາໄຟລ໌ patch

-r,--rev
ຢຸດ​ການ​ຈັດ​ການ​ການ​ແກ້​ໄຂ (DEPRECATED)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: qremove qrm

qdiff
ຄວາມ​ແຕກ​ຕ່າງ​ຂອງ​ການ​ແກ້​ໄຂ​ໃນ​ປັດ​ຈຸ​ບັນ​ແລະ​ການ​ດັດ​ແກ້​ຕໍ່​ມາ​:

hg qdiff [ຕົວເລືອກ]... [FILE]...

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

ການນໍາໃຊ້ hg diff ຖ້າທ່ານຕ້ອງການເບິ່ງການປ່ຽນແປງທີ່ເຮັດຕັ້ງແຕ່ qrefresh ຫຼ້າສຸດ, ຫຼື hg ການສົ່ງອອກ
qtip ຖ້າທ່ານຕ້ອງການເບິ່ງການປ່ຽນແປງທີ່ເຮັດໂດຍ patch ໃນປັດຈຸບັນໂດຍບໍ່ມີການລວມທັງການປ່ຽນແປງທີ່ເຮັດ
ນັບຕັ້ງແຕ່ qrefresh.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-ກ, --ຂໍ້​ຄວາມ
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

--nodates
ຍົກເລີກວັນທີຈາກສ່ວນຫົວທີ່ແຕກຕ່າງ

--noprefix
omit a/ ແລະ b/ prefixes ຈາກ filenames

-p, --show-function
ສະແດງວ່າແຕ່ລະການປ່ຽນແປງຢູ່ໃນຫນ້າທີ່ໃດ

-- ປີ້ນ
ຜະລິດຄວາມແຕກຕ່າງທີ່ຍົກເລີກການປ່ຽນແປງ

-w, --ignore-all-space
ບໍ່ສົນໃຈພື້ນທີ່ສີຂາວເມື່ອປຽບທຽບເສັ້ນ

-b, --ignore-space-change
ບໍ່ສົນໃຈການປ່ຽນແປງຈໍານວນພື້ນທີ່ສີຂາວ

-B, --ignore-blank-lines
ບໍ່ສົນໃຈການປ່ຽນແປງຂອງແຖວທັງໝົດແມ່ນຫວ່າງເປົ່າ

-U,--ໂຮມ
ຈໍານວນແຖວຂອງບໍລິບົດທີ່ຈະສະແດງ

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

-- ຮາກ
ຜະລິດຄວາມແຕກຕ່າງທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີຍ່ອຍ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

qfinish
ຍ້າຍ patches ທີ່ໃຊ້ເຂົ້າໃນປະຫວັດການເກັບຮັກສາ:

hg qfinish [-a] [REV]...

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

ຍອມຮັບໄລຍະການແກ້ໄຂ ຫຼືທາງເລືອກ -a/--applied. ຖ້າ --applied ຖືກລະບຸ, ທັງຫມົດ
ການແກ້ໄຂ mq ທີ່ໃຊ້ໄດ້ຖືກລຶບອອກຈາກການຄວບຄຸມ mq. ຖ້າ​ບໍ່​ດັ່ງ​ນັ້ນ​, ການ​ປັບ​ປຸງ​ທີ່​ໄດ້​ຮັບ​ຈະ​ຕ້ອງ​ເປັນ​
ຢູ່ຖານຂອງ stack ຂອງ patches ນໍາໃຊ້.

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

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-ກ, -- ນຳໃຊ້ແລ້ວ
ສຳເລັດຊຸດການປ່ຽນແປງທີ່ນຳໃຊ້ທັງໝົດ

qfold
ພັບ patches ທີ່ມີຊື່ເຂົ້າໄປໃນ patch ໃນປັດຈຸບັນ:

hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...

Patches ຍັງບໍ່ທັນໄດ້ຖືກນໍາໃຊ້. ແຕ່ລະ patch ຈະຖືກນໍາໃຊ້ຢ່າງຕໍ່ເນື່ອງກັບປະຈຸບັນ
patch ໃນຄໍາສັ່ງໃຫ້. ຖ້າ​ຫາກ​ວ່າ​ການ​ແກ້​ໄຂ​ທັງ​ຫມົດ​ສໍາ​ເລັດ​ຜົນ​, ການ​ແກ້​ໄຂ​ໃນ​ປັດ​ຈຸ​ບັນ​ຈະ​ເປັນ​
ໂຫຼດຫນ້າຈໍຄືນດ້ວຍ patch ສະສົມໃຫມ່, ແລະ patches folded ຈະຖືກລຶບອອກ. ກັບ
-k/--keep, ໄຟລ໌ patch folded ຈະບໍ່ຖືກໂຍກຍ້າຍອອກຫຼັງຈາກນັ້ນ.

ສ່ວນຫົວສຳລັບແຕ່ລະແຜ່ນພັບຈະຖືກເຊື່ອມເຂົ້າກັບສ່ວນຫົວຂອງແທັບປັດຈຸບັນ,
ແຍກອອກໂດຍສາຍຂອງ * * *.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-k, --ຮັກສາ
ຮັກສາໄຟລ໌ patch folded

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

qgoto
push ຫຼື pop patches ຈົນກ່ວາ patch ທີ່ມີຊື່ຢູ່ເທິງສຸດ stack:

hg qgoto [ຕົວເລືອກ]... PATCH

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-- ຮັກສາການປ່ຽນແປງ
ທົນທານຕໍ່ການປ່ຽນແປງທ້ອງຖິ່ນທີ່ບໍ່ຂັດແຍ້ງ

-f, --ກຳລັງ
ຂຽນທັບການປ່ຽນແປງທ້ອງຖິ່ນ

--no-backup
ຢ່າບັນທຶກສໍາເນົາສໍາຮອງຂອງໄຟລ໌

qguard
ກໍານົດຫຼືພິມ guards ສໍາລັບ patch:

hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]

Guards ຄວບຄຸມວ່າ patch ສາມາດ pushed ໄດ້. Patch ທີ່ບໍ່ມີກອງແມ່ນ pushed ສະເຫມີ. ກ
patch ທີ່ມີກອງບວກ ("+foo") ຖືກ pushed ພຽງແຕ່ຖ້າຫາກວ່າໄດ້ hg qselect ຄໍາສັ່ງມີ
ເປີດໃຊ້ມັນ. Patch ທີ່ມີກອງທາງລົບ ("-foo") ແມ່ນບໍ່ເຄີຍ pushed ຖ້າ hg qselect
ຄໍາສັ່ງໄດ້ເປີດໃຊ້ມັນ.

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

ໝາຍເຫດ ການລະບຸຕົວປ້ອງກັນທາງລົບດຽວນີ້ຕ້ອງການ '--'.

ເພື່ອ​ຕັ້ງ​ຍາມ​ຢູ່​ໃນ​ການ​ແກ້​ໄຂ​ອື່ນ​:

hg qguard other.patch -- +2.6.17 -stable

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-l, --ລາຍການ
ບັນຊີລາຍຊື່ patches ແລະກອງທັງຫມົດ

-n, --ບໍ່ມີ
ຖິ້ມກອງທັງຫມົດ

ສະມາຊິກ
ພິມສ່ວນຫົວຂອງ patch ເທິງສຸດ ຫຼືທີ່ລະບຸໄວ້:

hg ໂຕຜູ້ແທນ [PATCH]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຂາເຂົ້າ
ນໍາເຂົ້າ patch ຫຼືຊຸດການປ່ຽນແປງທີ່ມີຢູ່ແລ້ວ:

hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...

Patch ໄດ້ຖືກໃສ່ເຂົ້າໄປໃນຊຸດຫຼັງຈາກ patch ທີ່ໃຊ້ຫຼ້າສຸດ. ຖ້າບໍ່ມີ patches
ຖືກນໍາໃຊ້, qimport prepends patch ກັບຊຸດ.

patch ຈະມີຊື່ດຽວກັນກັບໄຟລ໌ແຫຼ່ງຂອງມັນເວັ້ນເສຍແຕ່ວ່າທ່ານໃຫ້ມັນໃຫມ່ກັບ
-n/--ຊື່.

ທ່ານສາມາດລົງທະບຽນ patch ທີ່ມີຢູ່ແລ້ວພາຍໃນໄດເລກະທໍລີ patch ດ້ວຍທຸງ -e/--ທີ່ມີຢູ່ແລ້ວ.

ດ້ວຍ -f/--force, patch ທີ່ມີຢູ່ແລ້ວຂອງຊື່ດຽວກັນຈະຖືກຂຽນທັບ.

ຊຸດການປ່ຽນແປງທີ່ມີຢູ່ແລ້ວອາດຈະຖືກຈັດໃສ່ພາຍໃຕ້ການຄວບຄຸມ mq ດ້ວຍ -r/--rev (ເຊັ່ນ: qimport --rev .
-n patch ຈະວາງການແກ້ໄຂໃນປະຈຸບັນພາຍໃຕ້ການຄວບຄຸມ mq). ດ້ວຍ -g/--git, ເພີ້ມ
ນໍາເຂົ້າດ້ວຍ --rev ຈະໃຊ້ຮູບແບບ git diff. ເບິ່ງຄວາມແຕກຕ່າງຂອງຫົວຂໍ້ຊ່ວຍເຫຼືອສໍາລັບຂໍ້ມູນ
ວ່າເປັນຫຍັງອັນນີ້ຈຶ່ງສຳຄັນຕໍ່ການຮັກສາຂໍ້ມູນການປ່ຽນຊື່/ສຳເນົາ ແລະການປ່ຽນແປງການອະນຸຍາດ.
ການນໍາໃຊ້ hg qfinish ເພື່ອເອົາຊຸດການປ່ຽນແປງອອກຈາກການຄວບຄຸມ mq.

ເພື່ອນໍາເຂົ້າ patch ຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ, ຜ່ານ - ເປັນໄຟລ໌ patch. ເມື່ອນໍາເຂົ້າຈາກ
ການປ້ອນຂໍ້ມູນມາດຕະຖານ, ຊື່ patch ຕ້ອງຖືກລະບຸໂດຍໃຊ້ທຸງ --name.

ເພື່ອນໍາເຂົ້າ patch ທີ່ມີຢູ່ແລ້ວໃນຂະນະທີ່ປ່ຽນຊື່ມັນ:

hg qimport -e ທີ່ມີຢູ່ແລ້ວ-patch -n ຊື່ໃຫມ່

ຕອບ 0 ຖ້າການນຳເຂົ້າສຳເລັດ.

ຕົວເລືອກ:

-e, -- ທີ່ມີຢູ່ແລ້ວ
ນໍາເຂົ້າໄຟລ໌ໃນ patch directory

-n,--ຊື່
ຊື່ຂອງໄຟລ໌ patch

-f, --ກຳລັງ
ຂຽນທັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ

-r,--rev
ວາງການແກ້ໄຂທີ່ມີຢູ່ແລ້ວພາຍໃຕ້ການຄວບຄຸມ mq

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-P, --ຍູ້
qpush ຫຼັງຈາກການນໍາເຂົ້າ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຊິນິດ
ຢູ່ໃນບ່ອນເກັບຂໍ້ມູນຄິວໃໝ່ (ເຊົາສະໝັກ):

hg qinit [-c]

ຄັງເກັບຄິວຖືກຍົກເລີກໂດຍຄ່າເລີ່ມຕົ້ນ. ຖ້າ -c/--create-repo ຖືກລະບຸ, qinit
ຈະສ້າງບ່ອນເກັບຂໍ້ມູນຊ້ອນກັນແຍກຕ່າງຫາກສໍາລັບ patches (qinit -c ອາດຈະຖືກດໍາເນີນການຕໍ່ມາ
ປ່ຽນບ່ອນເກັບຂໍ້ມູນ patch unversioned ເຂົ້າໄປໃນສະບັບຫນຶ່ງ). ທ່ານສາມາດນໍາໃຊ້ qcommit to
ສັນຍາການປ່ຽນແປງກັບບ່ອນເກັບຂໍ້ມູນແຖວນີ້.

ຄຳສັ່ງນີ້ຖືກຄັດຄ້ານ. ຖ້າບໍ່ມີ -c, ມັນຫມາຍເຖິງຄໍາສັ່ງທີ່ກ່ຽວຂ້ອງອື່ນໆ. ດ້ວຍ -c,
ການນໍາໃຊ້ hg ໃນ​ມັນ --mq ແທນທີ່ຈະເປັນ.

ຕົວເລືອກ:

-c, --create-repo
ສ້າງ repository ແຖວ

qnew
ສ້າງ patch ໃຫມ່:

hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...

qnew ສ້າງ patch ໃໝ່ຢູ່ເທິງສຸດຂອງ patch ທີ່ນຳໃຊ້ໃນປັດຈຸບັນ (ຖ້າມີ). patch ຈະເປັນ
ເລີ່ມຕົ້ນດ້ວຍການປ່ຽນແປງທີ່ຍັງຄ້າງຄາຢູ່ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ. ເຈົ້າອາດຈະໃຊ້ເຊັ່ນກັນ
-I/--include, -X/--exclude, and/or a list of files after the patch name to add only.
ການ​ປ່ຽນ​ແປງ​ໄຟລ​໌​ທີ່​ກົງ​ກັນ​ກັບ​ການ​ແກ້​ໄຂ​ໃຫມ່​, ປະ​ໄວ້​ສ່ວນ​ທີ່​ເຫຼືອ​ເປັນ​ການ​ດັດ​ແກ້​ທີ່​ບໍ່​ໄດ້​ຮັບ​ການ​ອະ​ນຸ​ຍາດ​.

-u/--user ແລະ -d/--date ສາມາດຖືກນໍາໃຊ້ເພື່ອກໍານົດ (ໃຫ້) ຜູ້ໃຊ້ແລະວັນທີ, ຕາມລໍາດັບ.
-U/--currentuser ແລະ -D/--currentdate ຕັ້ງຜູ້ໃຊ້ເປັນຜູ້ໃຊ້ປັດຈຸບັນ ແລະວັນທີເຖິງວັນທີປັດຈຸບັນ.

-e/--edit, -m/--message ຫຼື -l/--logfile ຕັ້ງຄ່າ patch header ເຊັ່ນດຽວກັນກັບຄໍາຫມັ້ນສັນຍາ.
ຂໍ້ຄວາມ. ຖ້າບໍ່ມີການລະບຸໄວ້, ສ່ວນຫົວແມ່ນຫວ່າງເປົ່າ ແລະຂໍ້ຄວາມທີ່ຕັ້ງໄວ້ແມ່ນ '[mq]:
PATCH'.

ໃຊ້ຕົວເລືອກ -g/--git ເພື່ອຮັກສາ patch ໃນຮູບແບບ git extended diff. ອ່ານຄວາມແຕກຕ່າງ
ຫົວຂໍ້ຊ່ວຍເຫຼືອສໍາລັບຂໍ້ມູນເພີ່ມເຕີມວ່າເປັນຫຍັງອັນນີ້ຈຶ່ງສໍາຄັນຕໍ່ການຮັກສາການປ່ຽນແປງການອະນຸຍາດ
ແລະສຳເນົາ/ປ່ຽນຊື່ຂໍ້ມູນ.

ຕອບ 0 ເມື່ອການສ້າງແພັດໃໝ່ສຳເລັດແລ້ວ.

ຕົວເລືອກ:

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-f, --ກຳລັງ
ນໍາເຂົ້າການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ (ປະຕິເສດ)

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

-U, -- ຜູ້ໃຊ້ປະຈຸບັນ
ເພີ່ມ "ຈາກ: "ເພື່ອແກ້ໄຂ

-u,-ຜູ້ໃຊ້
ເພີ່ມ "ຈາກ: "ເພື່ອແກ້ໄຂ

-D, --ວັນທີ
ເພີ່ມ "ວັນທີ: "ເພື່ອແກ້ໄຂ

-d,- ວັນທີ
ເພີ່ມ "ວັນທີ: "ເພື່ອແກ້ໄຂ

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຖັດໄປ
ພິມຊື່ຂອງ patch ທີ່ສາມາດ pushable ຕໍ່ໄປ:

hg qnext [-s]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

qpop
ແກ້​ໄຂ​ປັດ​ຈຸ​ບັນ​ອອກ​ຈາກ stack ໄດ້​:

hg qpop [-a] [-f] [PATCH | INDEX]

ໂດຍບໍ່ມີການໂຕ້ຖຽງ, pops off ເທິງຂອງ patch stack ໄດ້. ຖ້າໃຫ້ຊື່ patch, ຮັກສາ
popping off patches ຈົນກ່ວາ patch ທີ່ມີຊື່ແມ່ນຢູ່ເທິງສຸດຂອງ stack ໄດ້.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ຍົກເລີກຖ້າໄດເລກະທໍລີທີ່ເຮັດວຽກປະກອບດ້ວຍການປ່ຽນແປງທີ່ບໍ່ສອດຄ່ອງ. ກັບ
--keep-changes, ຍົກ​ເລີກ​ພຽງ​ແຕ່​ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌ uncommitted ທັບ​ຊ້ອນ​ກັບ​ໄຟລ​໌ patched. ກັບ
-f/--force, backup ແລະຍົກເລີກການປ່ຽນແປງທີ່ເຮັດກັບໄຟລ໌ດັ່ງກ່າວ.

ກັບຄືນ 0 ໃນຄວາມສໍາເລັດ.

ຕົວເລືອກ:

-ກ, --ທັງໝົດ
ປ໊ອບປ໊ອບອັບທັງຫມົດ

-n,--ຊື່
ຊື່ຄິວທີ່ຈະປາກົດ (DEPRECATED)

-- ຮັກສາການປ່ຽນແປງ
ທົນທານຕໍ່ການປ່ຽນແປງທ້ອງຖິ່ນທີ່ບໍ່ຂັດແຍ້ງ

-f, --ກຳລັງ
ລືມ​ການ​ປ່ຽນ​ແປງ​ໃນ​ທ້ອງ​ຖິ່ນ​ກັບ​ໄຟລ​໌ patched​

--no-backup
ຢ່າບັນທຶກສໍາເນົາສໍາຮອງຂອງໄຟລ໌

qprev
ພິມຊື່ຂອງ patch ທີ່ໃຊ້ກ່ອນໜ້ານີ້:

hg qprev [-s]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

qpush
ຍູ້ແຜ່ນຕໍ່ໄປໃສ່ stack ໄດ້:

hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]

ໂດຍຄ່າເລີ່ມຕົ້ນ, ຍົກເລີກຖ້າໄດເລກະທໍລີທີ່ເຮັດວຽກປະກອບດ້ວຍການປ່ຽນແປງທີ່ບໍ່ສອດຄ່ອງ. ກັບ
--keep-changes, ຍົກ​ເລີກ​ພຽງ​ແຕ່​ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌ uncommitted ທັບ​ຊ້ອນ​ກັບ​ໄຟລ​໌ patched. ກັບ
-f/--force, backup ແລະ patch ໃນໄລຍະການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງ.

ກັບຄືນ 0 ໃນຄວາມສໍາເລັດ.

ຕົວເລືອກ:

-- ຮັກສາການປ່ຽນແປງ
ທົນທານຕໍ່ການປ່ຽນແປງທ້ອງຖິ່ນທີ່ບໍ່ຂັດແຍ້ງ

-f, --ກຳລັງ
ນຳໃຊ້ຢູ່ເທິງສຸດຂອງການປ່ຽນແປງໃນທ້ອງຖິ່ນ

-e, --ແນ່ນອນ
ນຳໃຊ້ແພັກເກັດເປົ້າໝາຍໃຫ້ກັບພໍ່ແມ່ທີ່ບັນທຶກໄວ້

-l, --ລາຍການ
ລາຍຊື່ patch ຊື່ໃນຂໍ້ຄວາມ commit

-ກ, --ທັງໝົດ
ນຳໃຊ້ແພັກເກັດທັງໝົດ

-m, --ລວມເຂົ້າກັນ
ຮວມຈາກແຖວອື່ນ (DEPRECATED)

-n,--ຊື່
ຮວມຊື່ຄິວ (DEPRECATED)

--ຍ້າຍ ຈັດລໍາດັບຊຸດ patch ຄືນໃຫມ່ແລະນໍາໃຊ້ພຽງແຕ່ patch

--no-backup
ຢ່າບັນທຶກສໍາເນົາສໍາຮອງຂອງໄຟລ໌

ຄິວ
ຈັດການຄິວ patch ຫຼາຍ:

hg qqueue [ຕົວເລືອກ] [QUEUE]

ສະຫນັບສະຫນູນການປ່ຽນລະຫວ່າງແຖວ patch ທີ່ແຕກຕ່າງກັນ, ເຊັ່ນດຽວກັນກັບການສ້າງແຖວ patch ໃຫມ່
ແລະການລຶບສິ່ງທີ່ມີຢູ່ແລ້ວ.

ການລະເວັ້ນຊື່ຄິວ ຫຼືການລະບຸ -l/--list ຈະສະແດງໃຫ້ທ່ານເຫັນຄິວທີ່ລົງທະບຽນ - ໂດຍ
ເລີ່ມຕົ້ນແຖວ "ປົກກະຕິ" patches ແມ່ນລົງທະບຽນ. ຄິວທີ່ເຮັດວຽກໃນປັດຈຸບັນຈະເປັນ
ໝາຍດ້ວຍ "(active)". ການລະບຸ --active ຈະພິມພຽງແຕ່ຊື່ຂອງຄິວທີ່ໃຊ້ໄດ້.

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

ເພື່ອລຶບຄິວທີ່ມີຢູ່ແລ້ວ, ໃຫ້ໃຊ້ --delete. ທ່ານບໍ່ສາມາດລຶບຄິວທີ່ໃຊ້ໄດ້ໃນປັດຈຸບັນ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-l, --ລາຍການ
ລາຍຊື່ຄິວທີ່ມີຢູ່ທັງໝົດ

--active
ພິມຊື່ຂອງຄິວທີ່ໃຊ້ໄດ້

-c, --ສ້າງ
ສ້າງຄິວໃໝ່

--ປ່ຽນຊື່
ປ່ຽນຊື່ຄິວທີ່ໃຊ້ວຽກ

--ລຶບ
ລຶບການອ້າງອີງໃສ່ຄິວ

-- ລ້າງ
ລຶບແຖວ, ແລະເອົາ patch dir

ໂຫຼດຂໍ້ມູນຄືນໃໝ່
ປັບ​ປຸງ​ແກ້​ໄຂ​ໃນ​ປັດ​ຈຸ​ບັນ​:

hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...

ຖ້າຮູບແບບໄຟລ໌ໃດຖືກສະຫນອງໃຫ້, patch ທີ່ປັບປຸງໃຫມ່ຈະມີພຽງແຕ່ການດັດແກ້
ທີ່ກົງກັບຮູບແບບເຫຼົ່ານັ້ນ; ການດັດແກ້ທີ່ຍັງເຫຼືອຈະຍັງຄົງຢູ່ໃນການເຮັດວຽກ
ລະບົບ.

ຖ້າ -s/--short ຖືກລະບຸ, ໄຟລ໌ທີ່ມີຢູ່ໃນ patch ປະຈຸບັນຈະຖືກໂຫຼດຫນ້າຈໍຄືນ
ເຊັ່ນໄຟລ໌ທີ່ກົງກັນແລະຍັງຄົງຢູ່ໃນ patch.

ຖ້າ -e/--edit ຖືກລະບຸ, Mercurial ຈະເລີ່ມບັນນາທິການທີ່ກໍາຫນົດຄ່າຂອງທ່ານເພື່ອໃຫ້ທ່ານເຂົ້າໄປໃນ a
ຂໍ້ຄວາມ. ໃນ​ກໍ​ລະ​ນີ qrefresh ບໍ່​ສໍາ​ເລັດ​, ທ່ານ​ຈະ​ຊອກ​ຫາ​ສໍາ​ຮອງ​ຂໍ້​ຄວາມ​ຂອງ​ທ່ານ​ໃນ​
.hg/last-message.txt.

hg add/remove/copy/rename ເຮັດວຽກຕາມປົກກະຕິ, ເຖິງແມ່ນວ່າທ່ານອາດຈະຕ້ອງການໃຊ້ patches ແບບ git
(-g/--git ຫຼື [diff] git=1) ເພື່ອຕິດຕາມສຳເນົາ ແລະປ່ຽນຊື່. ເບິ່ງຄວາມແຕກຕ່າງຂອງຫົວຂໍ້ຊ່ວຍເຫຼືອສໍາລັບການເພີ່ມເຕີມ
ຂໍ້ມູນກ່ຽວກັບຮູບແບບ git diff.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

- ແມ່ນແລ້ວ, --ສັ້ນ
ໂຫຼດຂໍ້ມູນຄືນໃໝ່ພຽງແຕ່ໄຟລ໌ທີ່ຢູ່ໃນ patch ແລະໄຟລ໌ທີ່ລະບຸໄວ້

-U, -- ຜູ້ໃຊ້ປະຈຸບັນ
ເພີ່ມ / ປັບປຸງພາກສະຫນາມຜູ້ຂຽນໃນ patch ກັບຜູ້ໃຊ້ປະຈຸບັນ

-u,-ຜູ້ໃຊ້
ຕື່ມ / ປັບປຸງພາກສະຫນາມຜູ້ຂຽນໃນ patch ກັບຜູ້ໃຊ້ທີ່ໃຫ້

-D, --ວັນທີ
ຕື່ມ / ປັບປຸງວັນທີພາກສະຫນາມໃນ patch ກັບວັນທີປະຈຸບັນ

-d,- ວັນທີ
ຕື່ມ / ປັບປຸງວັນທີພາກສະຫນາມໃນ patch ກັບວັນທີທີ່ໃຫ້

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

qrename
ປ່ຽນຊື່ patch:

hg qrename PATCH1 [PATCH2]

ດ້ວຍການໂຕ້ຖຽງໜຶ່ງ, ປ່ຽນຊື່ patch ປັດຈຸບັນເປັນ PATCH1. ດ້ວຍສອງການໂຕ້ຖຽງ, ປ່ຽນຊື່
PATCH1 ຫາ PATCH2.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ນາມແຝງ: qmv

qrestore
ຟື້ນຟູສະຖານະຄິວທີ່ບັນທຶກໄວ້ໂດຍການແກ້ໄຂ (DEPRECATED):

hg qrestore [-d] [-u] REV

ຄໍາສັ່ງນີ້ຖືກປະຕິເສດ, ໃຊ້ hg ປະຕິເສດ ແທນທີ່ຈະເປັນ.

ຕົວເລືອກ:

-d, --ລຶບ
ລຶບ​ບັນ​ທຶກ​ການ​ເຂົ້າ​

-u, --ອັບເດດ
ປັບປຸງລາຍຊື່ຄິວທີ່ເຮັດວຽກ

qsave
ບັນ​ທຶກ​ສະ​ຖາ​ນະ​ຄິວ​ໃນ​ປັດ​ຈຸ​ບັນ (DEPRECATED):

hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]

ຄໍາສັ່ງນີ້ຖືກປະຕິເສດ, ໃຊ້ hg ປະຕິເສດ ແທນທີ່ຈະເປັນ.

ຕົວເລືອກ:

-c, -- ສຳເນົາ
ສຳເນົາ patch directory

-n,--ຊື່
ສຳເນົາຊື່ໄດເລກະທໍລີ

-e, -- ຫວ່າງ
ລຶບໄຟລ໌ສະຖານະຄິວ

-f, --ກຳລັງ
ບັງຄັບສຳເນົາ

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

qselect
ຕັ້ງ ຫຼືພິມແຜ່ນປ້ອງກັນເພື່ອຍູ້:

hg qselect [OPTION]... [GUARD]...

ການນໍາໃຊ້ hg qguard ຄໍາສັ່ງເພື່ອກໍານົດຫຼືພິມ guards ໃນ patch, ຫຼັງຈາກນັ້ນໃຊ້ qselect ເພື່ອບອກ mq
ທີ່ກອງທີ່ຈະໃຊ້. Patch ຈະຖືກ pushed ຖ້າມັນບໍ່ມີກອງຫຼືກອງໃນທາງບວກໃດໆ
ກົງກັບກອງທີ່ເລືອກໃນປັດຈຸບັນ, ແຕ່ຈະບໍ່ຖືກຍູ້ຖ້າມີກອງທາງລົບໃດກົງກັນ
ກອງ​ປະ​ຈຸ​ບັນ​. ຍົກ​ຕົວ​ຢ່າງ:

qguard foo.patch -- ຄົງທີ່ (ກອງທາງລົບ)
qguard bar.patch +stable (ກອງທາງບວກ)
qselect ຄົງທີ່

ນີ້ກະຕຸ້ນ "ຄວາມຫມັ້ນຄົງ" ກອງ. mq ຈະຂ້າມ foo.patch (ເນື່ອງຈາກວ່າມັນມີຄ່າລົບ
match) ແຕ່ push bar.patch (ເນື່ອງຈາກວ່າມັນມີການແຂ່ງຂັນໃນທາງບວກ).

ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ພິມກອງກໍາລັງເຄື່ອນໄຫວໃນປະຈຸບັນ. ດ້ວຍການໂຕ້ຖຽງອັນໜຶ່ງ, ຕັ້ງຄ່າການເຄື່ອນໄຫວ
ກອງ.

ໃຊ້ -n/--none ເພື່ອປິດກອງ (ບໍ່ຈຳເປັນຕ້ອງມີການໂຕ້ຖຽງອື່ນ). ເມື່ອບໍ່ມີກອງ
active, patches ກັບ guards ໃນທາງບວກແມ່ນຂ້າມແລະ patches ທີ່ມີກອງທາງລົບແມ່ນ
ຍູ້.

qselect ສາມາດປ່ຽນກອງໃນ patches ທີ່ໃຊ້ໄດ້. ມັນບໍ່ປາກົດ guarded patches ໂດຍ
ຄ່າເລີ່ມຕົ້ນ. ໃຊ້ --pop ເພື່ອກັບຄືນໄປຫາ patch ທີ່ໃຊ້ຫຼ້າສຸດທີ່ບໍ່ໄດ້ປ້ອງກັນ. ໃຊ້
--reapply (ຊຶ່ງຫມາຍຄວາມວ່າ --pop) ເພື່ອຍູ້ກັບຄືນໄປບ່ອນ patch ໃນປັດຈຸບັນຫຼັງຈາກນັ້ນ, ແຕ່ໃຫ້ຂ້າມ.
patches guarded.

ໃຊ້ -s/--series ເພື່ອພິມລາຍຊື່ກອງທັງໝົດໃນໄຟລ໌ຊຸດ (ບໍ່ມີການໂຕ້ຖຽງອື່ນ.
ຕ້ອງການ). ໃຊ້ -v ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-n, --ບໍ່ມີ
ປິດການທໍາງານກອງທັງຫມົດ

- ແມ່ນແລ້ວ, --ຊຸດ
ລາຍຊື່ກອງທັງໝົດໃນໄຟລ໌ຊຸດ

--ປັອບ ປາກົດຂຶ້ນກ່ອນທີ່ຈະມີ guarded ທໍາອິດນໍາໃຊ້ patch

-- ສະໝັກຄືນໃໝ່
ປາກົດ, ຈາກນັ້ນນຳໃຊ້ແພັດຄືນໃໝ່

qseries
ພິມໄຟລ໌ຊຸດທັງໝົດ:

hg qseries [-ms]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-m, --ຫາຍ
ພິມ patches ບໍ່ໄດ້ຢູ່ໃນຊຸດ

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

qtop
ພິມຊື່ຂອງ patch ໃນປັດຈຸບັນ:

hg qtop [-s]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

quanapplied
ພິມ patches ທີ່ຍັງບໍ່ໄດ້ນໍາໃຊ້:

hg qnapplied [-1] [-s] [PATCH]

ຕອບຄືນ 0 ໃນຄວາມສຳເລັດ.

ຕົວເລືອກ:

-1, -- ທໍາອິດ
ສະແດງໃຫ້ເຫັນພຽງແຕ່ patch ທໍາອິດ

- ແມ່ນແລ້ວ, -- ສະຫຼຸບ
ພິມແຖວທຳອິດຂອງສ່ວນຫົວ patch

ແຈ້ງ
hooks ສໍາລັບການສົ່ງອີເມວແຈ້ງການຊຸກຍູ້

ສ່ວນຂະຫຍາຍນີ້ປະຕິບັດ hooks ເພື່ອສົ່ງອີເມວແຈ້ງເຕືອນເມື່ອການປ່ຽນແປງຖືກສົ່ງຈາກ
ຫຼືໄດ້ຮັບໂດຍ repository ທ້ອງຖິ່ນ.

ກ່ອນອື່ນ ໝົດ, ເປີດການຂະຫຍາຍຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ hg ຊ່ວຍເຫຼືອ ການຂະຫຍາຍ, ແລະລົງທະບຽນ hook ທ່ານ
ຕ້ອງການແລ່ນ. ເຂົ້າມາ ແລະ ກຸ່ມ​ການ​ປ່ຽນ​ແປງ​ hooks ຖືກດໍາເນີນການເມື່ອໄດ້ຮັບການປ່ຽນແປງ, ໃນຂະນະທີ່
ລາຍຈ່າຍ hooks ແມ່ນສໍາລັບການປ່ຽນແປງທີ່ຖືກສົ່ງໄປຫາບ່ອນເກັບມ້ຽນອື່ນ:

[hooks]
# ນຶ່ງອີເມວສຳລັບແຕ່ລະຊຸດການປ່ຽນແປງທີ່ເຂົ້າມາ
incoming.notify = python:hgext.notify.hook
# ນຶ່ງອີເມວສຳລັບການປ່ຽນແປງທີ່ເຂົ້າມາທັງໝົດ
changegroup.notify = python:hgext.notify.hook

# ນຶ່ງອີເມລ໌ສຳລັບການປ່ຽນແປງທີ່ອອກມາທັງໝົດ
outgoing.notify = python:hgext.notify.hook

ນີ້ລົງທະບຽນ hooks ໄດ້. ເພື່ອເປີດໃຊ້ການແຈ້ງເຕືອນ, ສະມາຊິກຕ້ອງຖືກມອບໝາຍໃຫ້
ບ່ອນເກັບມ້ຽນ. ໄດ້ [ຜູ້​ຊົມ​ໃຊ້​] ພາກສ່ວນແຜນທີ່ຫຼາຍບ່ອນເກັບມ້ຽນໃຫ້ກັບຜູ້ຮັບທີ່ໃຫ້. ໄດ້
[reposubs] ພາກສ່ວນແຜນທີ່ຜູ້ຮັບຫຼາຍຄົນໃສ່ບ່ອນເກັບມ້ຽນອັນດຽວ:

[ຜູ້​ຊົມ​ໃຊ້​]
# ລະຫັດແມ່ນອີເມວຜູ້ຈອງ, ມູນຄ່າແມ່ນບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຮູບແບບ repo
user@host = ຮູບແບບ

[reposubs]
# ລະຫັດແມ່ນຮູບແບບ repo, ມູນຄ່າແມ່ນບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງອີເມວສະມາຊິກ
ຮູບແບບ = user@host

A ຮູບແບບ ເປັນ ໂລກ ການຈັບຄູ່ເສັ້ນທາງຢ່າງແທ້ຈິງໄປຫາບ່ອນເກັບມ້ຽນ, ເລືອກທາງເລືອກກັບ a
revset ການສະແດງອອກ. ການສະແດງອອກ revset, ຖ້າມີ, ຖືກແຍກອອກຈາກໂລກໂດຍ hash.
ຕົວຢ່າງ:

[reposubs]
*/widgets#branch(ປ່ອຍ) = [email protected]

ອັນນີ້ສົ່ງໃຫ້ [email protected] ທຸກຄັ້ງທີ່ມີການປ່ຽນແປງໃນ ປ່ອຍ ສາຂາກະຕຸ້ນ ກ
ການແຈ້ງເຕືອນໃນບ່ອນເກັບມ້ຽນໃດໆທີ່ລົງທ້າຍໃນ ເຄື່ອງມື.

ເພື່ອຈັດວາງພວກມັນພາຍໃຕ້ການຄຸ້ມຄອງຜູ້ໃຊ້ໂດຍກົງ, [ຜູ້​ຊົມ​ໃຊ້​] ແລະ [reposubs] ພາກສ່ວນ
ອາດຈະຖືກຈັດໃສ່ໃນແຍກຕ່າງຫາກ hgrc ໄຟລ໌ແລະປະກອບໂດຍການອ້າງອີງ:

[ແຈ້ງ]
config = /path/to/subscriptionsfile

ການແຈ້ງເຕືອນຈະບໍ່ຖືກສົ່ງຈົນກ່ວາ notify.test ຄ່າຖືກຕັ້ງເປັນ ທີ່ບໍ່ຖືກຕ້ອງ; ເບິ່ງຂ້າງລຸ່ມນີ້.

ເນື້ອຫາການແຈ້ງເຕືອນສາມາດປັບປ່ຽນໄດ້ດ້ວຍລາຍການການຕັ້ງຄ່າຕໍ່ໄປນີ້:

notify.test
If ທີ່ແທ້ຈິງ, ພິມຂໍ້ຄວາມເພື່ອ stdout ແທນທີ່ຈະສົ່ງໃຫ້ເຂົາເຈົ້າ. ຄ່າເລີ່ມຕົ້ນ: ຖືກ.

notify.sources
ບັນຊີລາຍຊື່ທີ່ແຍກອອກຈາກພື້ນທີ່ຂອງແຫຼ່ງການປ່ຽນແປງ. ການແຈ້ງເຕືອນຈະຖືກເປີດໃຊ້ພຽງແຕ່ເມື່ອ a
ແຫຼ່ງຂອງ changeset ແມ່ນຢູ່ໃນບັນຊີລາຍຊື່ນີ້. ແຫຼ່ງຂໍ້ມູນອາດຈະເປັນ:

ບໍລິການ

ການປ່ຽນແປງທີ່ໄດ້ຮັບຜ່ານ http ຫຼື ssh

ດຶງ

ການປ່ຽນແປງທີ່ໄດ້ຮັບຜ່ານ hg ດຶງ

ບໍ່ໄດ້ມັດ

ການປ່ຽນແປງທີ່ໄດ້ຮັບຜ່ານ hg ບໍ່ໄດ້ມັດ

ການຊຸກຍູ້

ການປ່ຽນແປງທີ່ສົ່ງຫຼືໄດ້ຮັບຜ່ານ hg ການຊຸກຍູ້

ມັດ

ການປ່ຽນແປງທີ່ສົ່ງຜ່ານ hg ບໍ່ໄດ້ມັດ

ຄ່າເລີ່ມຕົ້ນ: ໃຫ້ບໍລິການ.

notify.strip
ຈໍາ​ນວນ​ຂອງ slashes ນໍາ​ໄປ​ສູ່​ການ​ລອກ​ເອົາ​ຈາກ​ເສັ້ນ​ທາງ url​. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການແຈ້ງເຕືອນ
repositories ອ້າງອິງກັບເສັ້ນທາງຢ່າງແທ້ຈິງຂອງພວກເຂົາ. notify.strip ໃຫ້ເຈົ້າຫັນພວກມັນ
ເຂົ້າໄປໃນເສັ້ນທາງທີ່ກ່ຽວຂ້ອງ. ຍົກ​ຕົວ​ຢ່າງ, notify.strip=3 ຈະປ່ຽນແປງ /long/path/repository
ເຂົ້າໄປໃນ repository. ຄ່າເລີ່ມຕົ້ນ: 0.

notify.domain
ໂດເມນອີເມວເລີ່ມຕົ້ນສຳລັບຜູ້ສົ່ງ ຫຼືຜູ້ຮັບທີ່ບໍ່ມີໂດເມນທີ່ຈະແຈ້ງ.

notify.style
ໄຟລ໌ຮູບແບບທີ່ຈະໃຊ້ໃນເວລາຈັດຮູບແບບອີເມວ.

notify.template
ແມ່ແບບທີ່ຈະໃຊ້ໃນເວລາຈັດຮູບແບບອີເມວ.

notify.incoming
ແມ່ແບບທີ່ຈະໃຊ້ໃນເວລາທີ່ແລ່ນເປັນ hook ຂາເຂົ້າ, overriding notify.template.

ແຈ້ງອອກ
ແມ່ແບບທີ່ຈະໃຊ້ໃນເວລາທີ່ແລ່ນເປັນ hook ອອກ, overriding notify.template.

notify.changegroup
ແມ່ແບບທີ່ຈະໃຊ້ໃນເວລາທີ່ແລ່ນເປັນ hook ກຸ່ມການປ່ຽນແປງ, overriding notify.template.

notify.maxdiff
ຈໍາ​ນວນ​ສູງ​ສຸດ​ຂອງ​ສາຍ​ແຕກ​ຕ່າງ​ທີ່​ຈະ​ລວມ​ເຂົ້າ​ໃນ​ອີ​ເມລ​ການ​ແຈ້ງ​ການ​. ຕັ້ງຄ່າເປັນ 0 ເພື່ອປິດການໃຊ້ງານ
ຄວາມແຕກຕ່າງ, ຫຼື -1 ເພື່ອລວມເອົາທັງໝົດຂອງມັນ. ຄ່າເລີ່ມຕົ້ນ: 300.

notify.maxsubject
ຈໍານວນຕົວອັກສອນສູງສຸດໃນຫົວຂໍ້ຂອງອີເມວ. ຄ່າເລີ່ມຕົ້ນ: 67.

notify.diffstat
ຕັ້ງເປັນ True ເພື່ອລວມເອົາ diffstat ກ່ອນເນື້ອຫາ diff. ຄ່າເລີ່ມຕົ້ນ: ຖືກ.

notify.merge
ຖ້າຖືກຕ້ອງ, ກະລຸນາສົ່ງການແຈ້ງເຕືອນເພື່ອລວມຊຸດການປ່ຽນແປງ. ຄ່າເລີ່ມຕົ້ນ: ຖືກ.

notify.mbox
ຖ້າຕັ້ງໄວ້, ຕື່ມອີເມວໃສ່ໄຟລ໌ mbox ນີ້ແທນການສົ່ງ. ຄ່າເລີ່ມຕົ້ນ: ບໍ່ມີ.

notify.fromauthor
ຖ້າຕັ້ງ, ໃຊ້ committer ຂອງຊຸດການປ່ຽນແປງທໍາອິດໃນກຸ່ມການປ່ຽນແປງສໍາລັບ "ຈາກ"
ພາກສະຫນາມຂອງຈົດຫມາຍແຈ້ງການ. ຖ້າບໍ່ໄດ້ຕັ້ງ, ເອົາຜູ້ໃຊ້ອອກຈາກ repo pushing.
ຄ່າເລີ່ມຕົ້ນ: ບໍ່ຖືກຕ້ອງ.

ຖ້າຕັ້ງ, ລາຍການຕໍ່ໄປນີ້ຈະຖືກໃຊ້ເພື່ອປັບແຕ່ງການແຈ້ງເຕືອນ:

email.ຈາກ
Email From ທີ່ຢູ່ທີ່ຈະໃຊ້ຖ້າບໍ່ມີໃຜສາມາດພົບເຫັນຢູ່ໃນເນື້ອຫາອີເມວທີ່ສ້າງຂຶ້ນ.

web.baseurl
Root repository URL ເພື່ອສົມທົບກັບ repository paths ໃນເວລາທີ່ເຮັດໃຫ້ການອ້າງອີງ. ເບິ່ງ
ຍັງ notify.strip.

pager
ຄົ້ນຫາຜົນໄດ້ຮັບຄໍາສັ່ງກັບ pager ພາຍນອກ

ເພື່ອກໍານົດ pager ທີ່ຄວນຈະຖືກນໍາໃຊ້, ກໍານົດຕົວແປຂອງຄໍາຮ້ອງສະຫມັກ:

[pager]
pager = ຫນ້ອຍ -FRX

ຖ້າບໍ່ໄດ້ຕັ້ງ pager, ສ່ວນຂະຫຍາຍ pager ໃຊ້ຕົວແປສະພາບແວດລ້ອມ $PAGER. ຖ້າບໍ່
pager.pager, ຫຼື $PAGER ຖືກຕັ້ງ, ບໍ່ມີ pager ຖືກໃຊ້.

ທ່ານ​ສາ​ມາດ​ປິດ​ການ​ທໍາ​ງານ pager ສໍາ​ລັບ​ຄໍາ​ສັ່ງ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​ໂດຍ​ການ​ເພີ່ມ​ໃຫ້​ເຂົາ​ເຈົ້າ​ໃນ​ບັນ​ຊີ​ລາຍ​ການ pager.ignore​:

[pager]
ignore = ສະບັບ, ຊ່ວຍ, ປັບປຸງ

ນອກນັ້ນທ່ານຍັງສາມາດເປີດໃຊ້ pager ພຽງແຕ່ສໍາລັບຄໍາສັ່ງສະເພາະໃດຫນຶ່ງໂດຍໃຊ້ pager.attend. ຂ້າງລຸ່ມນີ້ແມ່ນ
ບັນຊີລາຍຊື່ເລີ່ມຕົ້ນຂອງຄໍາສັ່ງທີ່ຈະຈັດຫນ້າ:

[pager]
attend = annotate, cat, diff, ສົ່ງອອກ, glog, log, qdiff

ການຕັ້ງຄ່າ pager.attend ເປັນຄ່າຫວ່າງເປົ່າຈະເຮັດໃຫ້ຄໍາສັ່ງທັງຫມົດຖືກຈັດເປັນຫນ້າ.

ຖ້າ pager.attend ມີຢູ່, pager.ignore ຈະຖືກລະເລີຍ.

ສຸດທ້າຍ, ທ່ານສາມາດເປີດໃຊ້ແລະປິດການທໍາງານຂອງຫນ້າສໍາລັບຄໍາສັ່ງສ່ວນບຸກຄົນດ້ວຍ
ເຂົ້າ​ຮ່ວມ- ທາງເລືອກ. ການຕັ້ງຄ່ານີ້ມີຄວາມສຳຄັນກວ່າການເຂົ້າຮ່ວມທີ່ມີຢູ່ແລ້ວ ແລະບໍ່ສົນໃຈ
ຕົວເລືອກ ແລະຄ່າເລີ່ມຕົ້ນ:

[pager]
attend-cat = false

ເພື່ອບໍ່ສົນໃຈຄໍາສັ່ງທົ່ວໂລກເຊັ່ນ: hg ສະບັບພາສາ or hg ຊ່ວຍເຫຼືອ, ທ່ານຕ້ອງລະບຸໃຫ້ເຂົາເຈົ້າຢູ່ໃນຂອງທ່ານ
ໄຟລ໌ການຕັ້ງຄ່າຜູ້ໃຊ້.

ເພື່ອຄວບຄຸມວ່າ pager ຖືກນໍາໃຊ້ທັງຫມົດສໍາລັບຄໍາສັ່ງສ່ວນບຸກຄົນ, ທ່ານສາມາດນໍາໃຊ້
--pager= :

- ໃຊ້​ຕາມ​ຄວາມ​ຕ້ອງ​ການ​: `auto`.
- ຕ້ອງການ pager: `yes` ຫຼື `on`.
- ສະກັດກັ້ນ pager: `ບໍ່` ຫຼື `ປິດ` (ຄ່າທີ່ບໍ່ຮັບຮູ້ໃດໆ
ຍັງຈະເຮັດວຽກ).

ລະເບີດຝັງດິນ
ຄໍາສັ່ງທີ່ຈະສົ່ງຊຸດການປ່ຽນແປງເປັນ (ຊຸດຂອງ) ອີເມວແກ້ໄຂ

ຊີຣີເລີ່ມຕົ້ນດ້ວຍການແນະນຳ "[PATCH 0 of N]", ເຊິ່ງອະທິບາຍຊຸດ
ໂດຍລວມ.

ແຕ່ລະອີເມວ patch ມີຫົວຂໍ້ຂອງ "[PATCH M of N] ... ", ໂດຍໃຊ້ແຖວທໍາອິດຂອງ
ປ່ຽນຄໍາອະທິບາຍເປັນຫົວຂໍ້ຫົວຂໍ້. ຂໍ້ຄວາມປະກອບມີສອງຫຼືສາມສ່ວນຂອງຮ່າງກາຍ:

·ລາຍລະອຽດຂອງຊຸດການປ່ຽນແປງ.

· [ທາງ​ເລືອກ​] ຜົນ​ໄດ້​ຮັບ​ຂອງ​ການ​ແລ່ນ diffstat ໃນ​ການ​ແກ້​ໄຂ​ໄດ້​.

· patch ຕົວຂອງມັນເອງ, ທີ່ສ້າງຂຶ້ນໂດຍ hg ການສົ່ງອອກ.

ແຕ່ລະຂໍ້ຄວາມຫມາຍເຖິງຄັ້ງທໍາອິດໃນຊຸດໂດຍໃຊ້ In-Reply-To ແລະ References
headers, ດັ່ງນັ້ນພວກເຂົາຈະສະແດງເປັນລໍາດັບໃນ mail threaded ແລະຜູ້ອ່ານຂ່າວ, ແລະໃນ mail
ຮວບຮວມ.

ເພື່ອຕັ້ງຄ່າຄ່າເລີ່ມຕົ້ນອື່ນໆ, ໃຫ້ເພີ່ມພາກສ່ວນເຊັ່ນນີ້ໃສ່ໄຟລ໌ການຕັ້ງຄ່າຂອງທ່ານ:

[ອີເມລ]
ຈາກ = ຊື່ຂອງຂ້ອຍ
to = ຜູ້ຮັບ 1, ຜູ້ຮັບ 2, ...
cc = cc1, cc2, ...
bcc = bcc1, bcc2, ...
ຕອບ-to = address1, address2,...

ການນໍາໃຊ້ [patchbomb] ເປັນຊື່ພາກສ່ວນການຕັ້ງຄ່າຖ້າທ່ານຕ້ອງການລົບລ້າງທົ່ວໂລກ [ອີເມລ]
ການຕັ້ງຄ່າທີ່ຢູ່.

ຈາກນັ້ນທ່ານສາມາດໃຊ້ hg ອີ​ເມວ ຄໍາສັ່ງທີ່ຈະສົ່ງຊຸດຂອງການປ່ຽນແປງເປັນ patchbomb.

ນອກນັ້ນທ່ານຍັງສາມາດກໍາຫນົດຄ່າທາງເລືອກວິທີການໃນພາກສ່ວນອີເມລ໌ເປັນ sendmail
mailer ທີ່ເຂົ້າກັນໄດ້ຫຼືຕື່ມຂໍ້ມູນໃສ່ພາກສ່ວນ [smtp] ເພື່ອໃຫ້ການຂະຫຍາຍ patchbomb ສາມາດ
ອັດຕະໂນມັດສົ່ງ patchbombs ໂດຍກົງຈາກຄໍາສັ່ງ. ເບິ່ງ [email] ແລະ [smtp]
ພາກສ່ວນໃນ hgrc(5) ສໍາລັບລາຍລະອຽດ.

ໂດຍຕົວຢ່າງ, hg ອີ​ເມວ ຈະ​ກະ​ຕຸ້ນ​ໃຫ້​ເປັນ​ To or CC header ຖ້າທ່ານບໍ່ສະຫນອງຫນຶ່ງໂດຍຜ່ານ
ການຕັ້ງຄ່າຫຼືເສັ້ນຄໍາສັ່ງ. ທ່ານສາມາດ override ນີ້ເພື່ອບໍ່ເຄີຍກະຕຸ້ນໂດຍການຕັ້ງຄ່າ
ຄ່າຫວ່າງເປົ່າ:

[ອີເມລ]
cc =

ທ່ານ​ສາ​ມາດ​ຄວບ​ຄຸມ​ການ​ລວມ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ຂອງ​ຂໍ້​ຄວາມ​ແນະ​ນໍາ​ທີ່​ມີ​ patchbomb.intro
ທາງ​ເລືອກ​ການ​ຕັ້ງ​ຄ່າ​. ການຕັ້ງຄ່າຈະຖືກຂຽນທັບຢູ່ສະເໝີໂດຍທຸງແຖວຄຳສັ່ງເຊັ່ນ
--intro ແລະ --desc:

[patchbomb]
intro=auto # ປະກອບມີຂໍ້ຄວາມແນະນໍາຖ້າມີຫຼາຍກວ່າ 1 patch (ຄ່າເລີ່ມຕົ້ນ)
intro=never # ບໍ່ເຄີຍມີຂໍ້ຄວາມແນະນໍາ
intro=always # ປະກອບຂໍ້ຄວາມແນະນຳສະເໝີ

ທ່ານສາມາດຕັ້ງ patchbomb ເພື່ອຮ້ອງຂໍການຢືນຢັນສະເຫມີໂດຍການຕັ້ງຄ່າ patchbomb.ຢືນຢັນ ກັບຄວາມຈິງ.

ຄໍາສັ່ງ
ອີ​ເມວ
ສົ່ງການປ່ຽນແປງທາງອີເມວ:

hg email [OPTION]... [DEST]...

ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄວາມແຕກຕ່າງຈະຖືກສົ່ງໃນຮູບແບບທີ່ສ້າງຂຶ້ນໂດຍ hg ການສົ່ງອອກ, ຫນຶ່ງຕໍ່ຂໍ້ຄວາມ. ໄດ້
ຊຸດເລີ່ມຕົ້ນດ້ວຍການແນະນຳ "[PATCH 0 of N]", ເຊິ່ງອະທິບາຍຊຸດທັງໝົດ.

ແຕ່ລະອີເມວ patch ມີຫົວຂໍ້ຂອງ "[PATCH M of N] ... ", ໂດຍໃຊ້ແຖວທໍາອິດຂອງ
ປ່ຽນຄໍາອະທິບາຍເປັນຫົວຂໍ້ຫົວຂໍ້. ຂໍ້ຄວາມປະກອບມີສອງຫຼືສາມສ່ວນ.
ທໍາອິດ, ຄໍາອະທິບາຍຊຸດການປ່ຽນແປງ.

ດ້ວຍຕົວເລືອກ -d/--diffstat, ຖ້າການຕິດຕັ້ງໂປຣແກຣມ diffstat, ຜົນຂອງການແລ່ນ
diffstat ໃນ patch ແມ່ນ inserted.

ສຸດທ້າຍ, patch ຕົວຂອງມັນເອງ, ທີ່ສ້າງຂຶ້ນໂດຍ hg ການສົ່ງອອກ.

ດ້ວຍຕົວເລືອກ -d/--diffstat ຫຼື --confirm, ທ່ານຈະຖືກນຳສະເໜີໂດຍສະຫຼຸບສັງລວມຂອງ
ຂໍ້​ຄວາມ​ທັງ​ຫມົດ​ແລະ​ຮ້ອງ​ຂໍ​ໃຫ້​ມີ​ການ​ຢືນ​ຢັນ​ກ່ອນ​ທີ່​ຂໍ້​ຄວາມ​ຈະ​ຖືກ​ສົ່ງ​ໄປ​.

ໂດຍຄ່າເລີ່ມຕົ້ນ, patch ຈະຖືກລວມເຂົ້າເປັນຂໍ້ຄວາມຢູ່ໃນຕົວຂອງອີເມວເພື່ອງ່າຍຕໍ່ການກວດສອບ. ການ​ນໍາ​ໃຊ້​
ທາງເລືອກ -a/--attach ແທນທີ່ຈະສ້າງໄຟລ໌ແນບສໍາລັບ patch. ດ້ວຍ -i/--inline an
ໄຟລ໌ແນບໃນແຖວຈະຖືກສ້າງ. ທ່ານສາມາດລວມເອົາ patch ທັງເປັນຂໍ້ຄວາມຢູ່ໃນຕົວຂອງອີເມລ໌
ແລະເປັນເອກະສານຕິດຄັດປົກກະຕິຫຼື inline ໂດຍການສົມທົບ -a/--attach ຫຼື -i/- inline ກັບ
ທາງ​ເລືອກ --body.

ດ້ວຍ -o/-- outgoing, ອີເມວຈະຖືກສ້າງຂື້ນສໍາລັບ patches ບໍ່ພົບໃນປາຍທາງ
repository (ຫຼືພຽງແຕ່ຜູ້ທີ່ເປັນບັນພະບຸລຸດຂອງການດັດແກ້ທີ່ລະບຸໄວ້ຖ້າມີ
ສະໜອງໃຫ້)

ດ້ວຍ -b/--bundle, ຊຸດການປ່ຽນແປງຖືກເລືອກເປັນ --outgoing, ແຕ່ມີອີເມວດຽວ
ມັດ Mercurial binary ເປັນໄຟລ໌ແນບຈະຖືກສົ່ງໄປ. ໃຊ້ patchbomb.bundletype
ທາງເລືອກ config ເພື່ອຄວບຄຸມປະເພດມັດເຊັ່ນດຽວກັນກັບ hg ມັດ --ປະເພດ.

ດ້ວຍ -m/--mbox, ແທນທີ່ຈະສະແດງຕົວຢ່າງແຕ່ລະຂໍ້ຄວາມ patchbomb ໃນ pager ຫຼືສົ່ງ.
ຂໍ້ຄວາມໂດຍກົງ, ມັນຈະສ້າງໄຟລ໌ກ່ອງຈົດຫມາຍ UNIX ດ້ວຍອີເມວ patch. ກ່ອງຈົດໝາຍນີ້
ໄຟລ໌ສາມາດຖືກເບິ່ງຕົວຢ່າງໄດ້ກັບຕົວແທນຜູ້ໃຊ້ mail ທີ່ຮອງຮັບໄຟລ໌ UNIX mbox.

ດ້ວຍ -n/--test, ທຸກຂັ້ນຕອນຈະແລ່ນ, ແຕ່ mail ຈະບໍ່ຖືກສົ່ງ. ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນເຕືອນສໍາລັບ
ທີ່​ຢູ່​ຜູ້​ຮັບ​ອີ​ເມລ​໌​, ຫົວ​ຂໍ້​ແລະ​ຂໍ້​ຄວາມ​ແນະ​ນໍາ​ອະ​ທິ​ບາຍ​ການ​ເພີ້ມ​
ຂອງ patchbomb ຂອງ​ທ່ານ​. ຫຼັງ​ຈາກ​ນັ້ນ​, ໃນ​ເວ​ລາ​ທີ່​ທັງ​ຫມົດ​ແມ່ນ​ເຮັດ​ໄດ້​, ຂໍ້​ຄວາມ patchbomb ຈະ​ຖືກ​ສະ​ແດງ​. ຖ້າ PAGER
ຕົວແປສະພາບແວດລ້ອມໄດ້ຖືກກໍານົດ, pager ຂອງທ່ານຈະຖືກຍິງຂຶ້ນຫນຶ່ງຄັ້ງສໍາລັບແຕ່ລະຂໍ້ຄວາມ patchbomb,
ດັ່ງນັ້ນທ່ານສາມາດກວດສອບວ່າທຸກຢ່າງແມ່ນແລ້ວ.

ໃນ​ກໍ​ລະ​ນີ​ທີ່​ສົ່ງ​ອີ​ເມວ​ບໍ່​ສໍາ​ເລັດ​, ທ່ານ​ຈະ​ຊອກ​ຫາ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ຂອງ​ຂໍ້​ຄວາມ​ແນະ​ນໍາ​ຊຸດ​ຂອງ​ທ່ານ​ໃນ​
.hg/last-email.txt.

ພຶດຕິກໍາເລີ່ມຕົ້ນຂອງຄໍາສັ່ງນີ້ສາມາດຖືກປັບແຕ່ງໂດຍຜ່ານການຕັ້ງຄ່າ. (ເບິ່ງ hg ຊ່ວຍເຫຼືອ
ລະເບີດຝັງດິນ ສໍາລັບລາຍລະອຽດ)

ຕົວຢ່າງ:

hg email -r 3000 # ສົ່ງ patch 3000 ເທົ່ານັ້ນ
hg email -r 3000 -r 3001 # ສົ່ງ patches 3000 ແລະ 3001
hg email -r 3000:3005 # ສົ່ງ patches 3000 ຫາ 3005
hg email 3000 # ສົ່ງ patch 3000 (ເຊົາໃຊ້ແລ້ວ)

hg email -o # ສົ່ງ patches ທັງຫມົດບໍ່ແມ່ນຢູ່ໃນຄ່າເລີ່ມຕົ້ນ
hg email -o DEST # ສົ່ງ patches ທັງຫມົດທີ່ບໍ່ໄດ້ຢູ່ໃນ DEST
hg email -o -r 3000 # ສົ່ງບັນພະບຸລຸດທັງຫມົດ 3000 ບໍ່ແມ່ນຢູ່ໃນຄ່າເລີ່ມຕົ້ນ
hg email -o -r 3000 DEST # ສົ່ງບັນພະບຸລຸດທັງຫມົດຂອງ 3000 ບໍ່ໄດ້ຢູ່ໃນ DEST

hg email -b# ສົ່ງ bundle ຂອງ patches ທັງຫມົດບໍ່ແມ່ນຢູ່ໃນຄ່າເລີ່ມຕົ້ນ
hg email -b DEST # ສົ່ງ bundle ຂອງ patches ທັງຫມົດທີ່ບໍ່ໄດ້ຢູ່ໃນ DEST
hg email -b -r 3000 # ມັດຂອງບັນພະບຸລຸດທັງຫມົດຂອງ 3000 ບໍ່ແມ່ນຢູ່ໃນຄ່າເລີ່ມຕົ້ນ
hg email -b -r 3000 DEST # ມັດຂອງບັນພະບຸລຸດທັງຫມົດຂອງ 3000 ບໍ່ໄດ້ຢູ່ໃນ DEST

hg email -o -m mbox &&# ສ້າງໄຟລ໌ mbox...
mutt -R -f mbox # ... ແລະເບິ່ງມັນດ້ວຍ mutt
hg email -o -m mbox &&# ສ້າງໄຟລ໌ mbox ...
formail -s sendmail \# ... ແລະໃຊ້ formail ເພື່ອສົ່ງຈາກ mbox
-bm -t < mbox # ... ໂດຍໃຊ້ sendmail

ກ່ອນທີ່ຈະໃຊ້ຄໍາສັ່ງນີ້, ທ່ານຈະຕ້ອງເປີດໃຊ້ອີເມລ໌ໃນ hgrc ຂອງທ່ານ. ເບິ່ງ [ອີ​ເມລ​]
ສ່ວນໃນ hgrc(5) ສໍາລັບລາຍລະອຽດ.

ຕົວເລືອກ:

-g, --git
ໃຊ້ຮູບແບບ git ຂະຫຍາຍ diff

--ທຳມະດາ
omit hg patch header

-o, --ຂາອອກ
ສົ່ງການປ່ຽນແປງທີ່ບໍ່ພົບຢູ່ໃນບ່ອນເກັບມ້ຽນເປົ້າຫມາຍ

-b, --ມັດ
ສົ່ງການປ່ຽນແປງທີ່ບໍ່ຢູ່ໃນເປົ້າຫມາຍເປັນມັດສອງ

--ຊື່ຊຸດ
ຊື່ຂອງໄຟລ໌ແນບມັດ (ຄ່າເລີ່ມຕົ້ນ: bundle)

-r,--rev
ການ​ແກ້​ໄຂ​ທີ່​ຈະ​ສົ່ງ​

--ກຳລັງ
ດໍາເນີນການເຖິງແມ່ນວ່າໃນເວລາທີ່ repository ຫ່າງໄກສອກຫຼີກແມ່ນບໍ່ກ່ຽວຂ້ອງ (ມີ -b/--bundle)

--ຖານ
ຊຸດການປ່ຽນແປງພື້ນຖານເພື່ອລະບຸແທນປາຍທາງ (ມີ -b/--bundle)

--ແນະນຳ
ສົ່ງອີເມລ໌ແນະນໍາສໍາລັບ patch ດຽວ

--ຮ່າງກາຍ ສົ່ງ patches ເປັນຂໍ້ຄວາມໃນແຖວ (ຄ່າເລີ່ມຕົ້ນ)

-ກ, --ຄັດຕິດ
ສົ່ງ patches ເປັນໄຟລ໌ແນບ

-i, -- ແຖວ
ສົ່ງ patches ເປັນໄຟລ໌ແນບໃນແຖວ

--bcc
ທີ່ຢູ່ອີເມວຂອງຜູ້ຮັບສຳເນົາກາກບອນຕາບອດ

-c,--cc
ທີ່ຢູ່ອີເມວຂອງຜູ້ຮັບສຳເນົາ

--ຢືນຢັນ
ຂໍໃຫ້ມີການຢືນຢັນກ່ອນທີ່ຈະສົ່ງ

-d, --diffstat
ເພີ່ມຜົນຜະລິດ diffstat ໃຫ້ກັບຂໍ້ຄວາມ

- ວັນທີ
ໃຊ້ວັນທີທີ່ລະບຸເປັນວັນທີສົ່ງ

--desc
ໃຊ້ໄຟລ໌ທີ່ໃຫ້ມາເປັນຄໍາອະທິບາຍຊຸດ

-f,--ຈາກ
ທີ່ຢູ່ອີເມວຂອງຜູ້ສົ່ງ

-n, --ທົດສອບ
ພິມຂໍ້ຄວາມທີ່ຈະຖືກສົ່ງໄປ

-m,--mbox
ຂຽນຂໍ້ຄວາມໃສ່ໄຟລ໌ mbox ແທນທີ່ຈະສົ່ງພວກມັນ

--ຕອບ​ກັບ
ການຕອບກັບທີ່ຢູ່ອີເມວຄວນຖືກສົ່ງໄປຫາ

- ແມ່ນແລ້ວ,--ວິຊາ
ຫົວຂໍ້ຂອງຂໍ້ຄວາມທໍາອິດ (intro ຫຼື patch ດຽວ)

-- in-reply-to
ຕົວລະບຸຂໍ້ຄວາມທີ່ຈະຕອບກັບ

--ທຸງ
ທຸງທີ່ຈະເພີ່ມໃນຄໍານໍາຫນ້າຫົວຂໍ້

-t,--ເຖິງ
ທີ່ຢູ່ອີເມວຂອງຜູ້ຮັບ

-e,--ssh
ລະບຸຄໍາສັ່ງ ssh ເພື່ອໃຊ້

--remotecmd
ລະບຸຄໍາສັ່ງ hg ເພື່ອດໍາເນີນການຢູ່ທາງໄກ

--ບໍ່ປອດໄພ
ບໍ່ຢັ້ງຢືນໃບຢັ້ງຢືນເຊີບເວີ (ບໍ່ສົນໃຈ web.cacerts config)

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

purge
ຄໍາສັ່ງທີ່ຈະລຶບໄຟລ໌ untracked ຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ

ຄໍາສັ່ງ
purge
ເອົາໄຟລ໌ທີ່ບໍ່ໄດ້ຕິດຕາມໂດຍ Mercurial:

hg ລ້າງ [ຕົວເລືອກ]... [DIR]...

ລຶບໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກກັບ Mercurial. ນີ້ແມ່ນເປັນປະໂຫຍດເພື່ອທົດສອບການປ່ຽນແປງໃນທ້ອງຖິ່ນແລະບໍ່ຫມັ້ນໃຈ
ໃນຕົ້ນແຫຼ່ງທີ່ສະອາດ.

ນີ້ຫມາຍຄວາມວ່າການລຶບລ້າງຈະລຶບສິ່ງຕໍ່ໄປນີ້ຕາມຄ່າເລີ່ມຕົ້ນ:

· ໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກ: ໄຟລ໌ທີ່ໝາຍດ້ວຍ "?" ໂດຍ hg ສະຖານະພາບ

· ໄດເລກະທໍລີຫວ່າງເປົ່າ: ໃນຄວາມເປັນຈິງ Mercurial ບໍ່ສົນໃຈໄດເລກະທໍລີເວັ້ນເສຍແຕ່ວ່າພວກມັນມີໄຟລ໌ພາຍໃຕ້
ການຄຸ້ມຄອງການຄວບຄຸມແຫຼ່ງ

ແຕ່​ວ່າ​ມັນ​ຈະ​ປະ​ໄວ້​ບໍ່​ໄດ້​ສໍາ​ພັດ​:

· ໄຟລ​໌​ຕິດ​ຕາມ​ການ​ແກ້​ໄຂ​ແລະ​ບໍ່​ໄດ້​ປັບ​ປຸງ​

·​ໄຟລ​໌​ທີ່​ລະ​ເລີຍ (ເວັ້ນ​ເສຍ​ແຕ່ --all ແມ່ນ​ລະ​ບຸ​ໄວ້​)

· ໄຟລ​໌​ໃຫມ່​ເພີ່ມ​ເຂົ້າ​ໄປ​ໃນ repository (ມີ​ hg ເພີ່ມ)

ຕົວເລືອກ --files ແລະ --dirs ສາມາດຖືກນໍາໃຊ້ເພື່ອທໍາຄວາມສະອາດໂດຍກົງເພື່ອລຶບໄຟລ໌ເທົ່ານັ້ນ, ເທົ່ານັ້ນ
ໄດເລກະທໍລີ, ຫຼືທັງສອງ. ຖ້າບໍ່ມີທາງເລືອກ, ທັງສອງຈະຖືກລຶບ.

ຖ້າໄດເລກະທໍລີຖືກມອບໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງ, ມີພຽງແຕ່ໄຟລ໌ທີ່ຢູ່ໃນໄດເລກະທໍລີເຫຼົ່ານີ້ເທົ່ານັ້ນ
ພິຈາລະນາ.

ຈົ່ງລະມັດລະວັງດ້ວຍການລຶບລ້າງ, ເພາະວ່າທ່ານສາມາດລຶບບາງໄຟລ໌ທີ່ທ່ານລືມເພີ່ມໃສ່ບໍ່ໄດ້
ຄັງເກັບມ້ຽນ. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ພຽງ​ແຕ່​ຕ້ອງ​ການ​ທີ່​ຈະ​ພິມ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ໄຟລ​໌​ທີ່​ໂຄງ​ການ​ນີ້​ຈະ​
ລຶບ, ໃຊ້ຕົວເລືອກ --print.

ຕົວເລືອກ:

-ກ, --abort-on-err
ຍົກເລີກຖ້າມີຂໍ້ຜິດພາດເກີດຂຶ້ນ

--ທັງໝົດ ລຶບໄຟລ໌ທີ່ຖືກລະເລີຍເຊັ່ນກັນ

-- dirs ລຶບລາຍຊື່ເປົ່າ

--ໄຟລ໌
ລຶບໄຟລ໌

-p, --ພິມ
ພິມຊື່ໄຟລ໌ແທນທີ່ຈະລຶບພວກມັນ

-0, --ພິມ0
ສິ້ນສຸດຊື່ໄຟລ໌ດ້ວຍ NUL, ສໍາລັບໃຊ້ກັບ xargs (ຫມາຍຄວາມວ່າ -p/--print)

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ນາມແຝງ: ສະອາດ

ປະຕິເສດ
ຄໍາສັ່ງໃຫ້ຍ້າຍຊຸດຂອງການແກ້ໄຂໄປຫາບັນພະບຸລຸດທີ່ແຕກຕ່າງກັນ

ສ່ວນຂະຫຍາຍນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດປ່ຽນຊຸດການປ່ຽນແປງໃນບ່ອນເກັບມ້ຽນ Mercurial ທີ່ມີຢູ່ແລ້ວໄດ້.

ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ: https://mercurial-scm.org/wiki/RebaseExtension

ຄໍາສັ່ງ
ປະຕິເສດ
ຍ້າຍ​ການ​ປ່ຽນ​ແປງ (ແລະ​ລູກ​ຫລານ​) ໄປ​ຫາ​ສາ​ຂາ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​:

hg rebase [-s REV | -b REV] [-d REV] [ຕົວເລືອກ]

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

ຄຳໝັ້ນສັນຍາທີ່ເຜີຍແຜ່ແລ້ວບໍ່ສາມາດອີງໃສ່ຄືນໄດ້ (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ໄລຍະ). ເພື່ອຄັດລອກ commits, ເບິ່ງ hg ຊ່ວຍເຫຼືອ
ການຕິດຕາ.

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

ນີ້ແມ່ນວິທີການເລືອກຊຸດການປ່ຽນແປງ:

1. ຢ່າງຊັດເຈນເລືອກພວກມັນໂດຍໃຊ້ --rev.

2 ການນໍາໃຊ້ --ແຫຼ່ງ ເພື່ອເລືອກຊຸດການປ່ຽນແປງຂອງຮາກ ແລະລວມເອົາລູກຫລານຂອງມັນທັງໝົດ.

3 ການນໍາໃຊ້ --ຖານ ເພື່ອເລືອກຊຸດການປ່ຽນແປງ; rebase ຈະຊອກຫາບັນພະບຸລຸດແລະລູກຫລານຂອງພວກເຂົາ
ເຊິ່ງບໍ່ແມ່ນບັນພະບຸລຸດຂອງປາຍທາງ.

4. ຖ້າຫາກວ່າທ່ານບໍ່ໄດ້ລະບຸໃດໆຂອງ --rev, ແຫຼ່ງ, ຫຼື --ຖານ, rebase ຈະໃຊ້ --ຖານ . as
ຂ້າງເທິງ.

Rebase ຈະທໍາລາຍຊຸດການປ່ຽນແປງຕົ້ນສະບັບເວັ້ນເສຍແຕ່ວ່າທ່ານໃຊ້ --ຮັກສາ. ມັນຍັງຈະຍ້າຍຂອງທ່ານ
bookmarks (ເຖິງແມ່ນວ່າທ່ານຈະເຮັດ).

ການປ່ຽນແປງບາງຢ່າງອາດຈະຖືກລຸດລົງຖ້າພວກເຂົາບໍ່ປະກອບສ່ວນການປ່ຽນແປງ (ເຊັ່ນ: ຮວມຈາກ
ສາຂາປາຍທາງ).

ບໍ່​ມັກ ລວມ, rebase ຈະບໍ່ເຮັດຫຍັງຖ້າຫາກວ່າທ່ານຢູ່ໃນປາຍສາຂາຂອງສາຂາທີ່ມີຊື່ທີ່ມີ
ສອງຫົວ. ທ່ານຈະຕ້ອງລະບຸແຫຼ່ງທີ່ມາ ແລະ/ຫຼື ປາຍທາງຢ່າງຊັດເຈນ.

ຖ້າ rebase ຖືກຂັດຂວາງເພື່ອແກ້ໄຂຂໍ້ຂັດແຍ່ງດ້ວຍຕົນເອງ, ມັນສາມາດສືບຕໍ່ໄດ້
--ສືບຕໍ່/-c ຫຼືຖືກຍົກເລີກດ້ວຍ --abort/-a.

ຕົວຢ່າງ:

· ຍ້າຍ "ການ​ປ່ຽນ​ແປງ​ໃນ​ທ້ອງ​ຖິ່ນ​" (ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ໃນ​ປັດ​ຈຸ​ບັນ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ທີ່​ແຕກ​ກິ່ງ​ງ່າ​) ກັບ​ປາຍ​ສາ​ຂາ​ປະ​ຈຸ​ບັນ​
ຫຼັງ​ຈາກ​ການ​ດຶງ​:

hg rebase

· ຍ້າຍຊຸດການປ່ຽນແປງດຽວໄປຫາສາຂາທີ່ໝັ້ນຄົງ:

hg rebase -r 5f493448 -d ຄົງທີ່

· ປະ​ກອບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ແລະ​ລູກ​ຫລານ​ທັງ​ຫມົດ​ຂອງ​ຕົນ​ເຂົ້າ​ໄປ​ໃນ​ພາກ​ສ່ວນ​ຫນຶ່ງ​ຂອງ​ປະ​ຫວັດ​ສາດ​:

hg rebase --source c0c3 --dest 4cf9

· rebase ທຸກສິ່ງທຸກຢ່າງຢູ່ໃນສາຂາທີ່ຖືກຫມາຍໂດຍ bookmark ໃສ່ສາຂາເລີ່ມຕົ້ນ:

hg rebase --base myfeature --dest default

·ຫຍໍ້ລໍາດັບຂອງການປ່ຽນແປງເຂົ້າໄປໃນຄໍາຫມັ້ນສັນຍາດຽວ:

hg rebase --collapse -r 1520:1525 -d .

·ຍ້າຍສາຂາທີ່ມີຊື່ໃນຂະນະທີ່ຮັກສາຊື່ຂອງມັນ:

hg rebase -r "branch(featureX)" -d 1.3 --keepbranches

ໃຫ້ຜົນຕອບແທນ 0 ໃນຄວາມສຳເລັດ, 1 ຖ້າບໍ່ມີຫຍັງໃຫ້ຖອນຄືນ ຫຼືມີຂໍ້ຂັດແຍ່ງທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ,--ແຫຼ່ງ
rebase ທີ່ກໍານົດໄວ້ການປ່ຽນແປງແລະລູກຫລານ

-b,--ຖານ
rebase ທຸກສິ່ງທຸກຢ່າງຈາກຈຸດສາຂາຂອງການປ່ຽນແປງທີ່ກໍານົດໄວ້

-r,--rev
ທົບທວນຄືນການດັດແກ້ເຫຼົ່ານີ້

-d,--dest
rebase ໃສ່ການປ່ຽນແປງທີ່ກໍານົດໄວ້

-- ພັງລົງ
ຫຍໍ້ຕົວປ່ຽນທີ່ອີງໃສ່ຄືນໃໝ່

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມຕົກລົງ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-l,--logfile
ອ່ານຫຍໍ້ມາຈາກໄຟລ໌

-k, --ຮັກສາ
ຮັກສາການປ່ຽນແປງຕົ້ນສະບັບ

-- ສາຂາ
ຮັກສາຊື່ສາຂາຕົ້ນສະບັບ

-D, -- ແຍກ
(ປະຕິເສດແລ້ວ)

-i, --ໂຕ້ຕອບ
(ປະຕິເສດແລ້ວ)

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

-c, --ສືບຕໍ່
ສືບຕໍ່ການຕັ້ງຖິ່ນຖານທີ່ຂັດຂວາງ

-ກ, --ເອົາລູກອອກ
ຍົກເລີກການຕັ້ງຖິ່ນຖານທີ່ຂັດຂວາງ

--ແບບ
ສະແດງໂດຍໃຊ້ໄຟລ໌ແຜນທີ່ແມ່ແບບ (DEPRECATED)

-T,--ແມ່ແບບ
ສະແດງດ້ວຍແມ່ແບບ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ການບັນທຶກ
ຄໍາສັ່ງເພື່ອໂຕ້ຕອບເລືອກການປ່ຽນແປງສໍາລັບ commit/qrefresh

ຄໍາສັ່ງ
qrecord
ໂຕ້ຕອບບັນທຶກ patch ໃຫມ່:

hg qrecord [ຕົວເລືອກ]... PATCH [FILE]...

ເບິ່ງ hg ຊ່ວຍເຫຼືອ qnew & hg ຊ່ວຍເຫຼືອ ການບັນທຶກ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມແລະການນໍາໃຊ້.

ການບັນທຶກ
ໂຕ້ຕອບເລືອກການປ່ຽນແປງເພື່ອສັນຍາ:

hg record [OPTION]... [FILE]...

ຖ້າບັນຊີລາຍຊື່ຂອງໄຟລ໌ຖືກລະເວັ້ນ, ການປ່ຽນແປງທັງຫມົດລາຍງານໂດຍ hg ສະຖານະພາບ ຈະເປັນຜູ້ສະຫມັກ
ການບັນທຶກ.

ເບິ່ງ hg ຊ່ວຍເຫຼືອ ວັນທີ ສໍາລັບບັນຊີລາຍຊື່ຂອງຮູບແບບທີ່ຖືກຕ້ອງສໍາລັບ -d/--date.

ທ່ານຈະໄດ້ຮັບການເຕືອນກ່ຽວກັບວ່າຈະບັນທຶກການປ່ຽນແປງແຕ່ລະໄຟລ໌ດັດແກ້, ແລະສໍາລັບໄຟລ໌
ມີການປ່ຽນແປງຫຼາຍ, ສໍາລັບແຕ່ລະການປ່ຽນແປງທີ່ຈະນໍາໃຊ້. ສໍາລັບແຕ່ລະຄໍາຖາມ, ຄໍາຕອບຕໍ່ໄປນີ້ແມ່ນ
ເປັນໄປໄດ້:

y - ບັນທຶກການປ່ຽນແປງນີ້
n - ຂ້າມການປ່ຽນແປງນີ້
e - ແກ້ໄຂການປ່ຽນແປງນີ້ດ້ວຍຕົນເອງ

s - ຂ້າມການປ່ຽນແປງທີ່ຍັງເຫຼືອຕໍ່ກັບໄຟລ໌ນີ້
f - ບັນທຶກການປ່ຽນແປງທີ່ຍັງເຫຼືອຢູ່ໃນໄຟລ໌ນີ້

d - ເຮັດແລ້ວ, ຂ້າມການປ່ຽນແປງທີ່ຍັງເຫຼືອແລະໄຟລ໌
a - ບັນທຶກການປ່ຽນແປງທັງໝົດຕໍ່ກັບໄຟລ໌ທີ່ຍັງເຫຼືອທັງໝົດ
q - ເຊົາ, ການບັນທຶກບໍ່ມີການປ່ຽນແປງ

? - ສະ​ແດງ​ຄວາມ​ຊ່ວຍ​ເຫຼືອ​

ຄຳສັ່ງນີ້ບໍ່ສາມາດໃຊ້ໄດ້ເມື່ອມີການລວມເຂົ້າກັນ.

ຕົວເລືອກ:

-A, --addremove
ໝາຍໄຟລ໌ໃໝ່/ທີ່ຂາດຫາຍໄປວ່າຖືກເພີ່ມ/ເອົາອອກກ່ອນການກະທຳ

-- ສາຂາ
ໝາຍຫົວສາຂາວ່າປິດ

--ປັບປຸງ
ແກ້ໄຂພໍ່ແມ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກ

- ແມ່ນແລ້ວ, --ລັບ
ໃຊ້ໄລຍະລັບສໍາລັບຄໍາຫມັ້ນສັນຍາ

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມສັນຍາ

-l,--logfile
ອ່ານ commit ຂໍ້ຄວາມຈາກໄຟລ໌

-d,- ວັນທີ
ບັນທຶກວັນທີທີ່ລະບຸໄວ້ເປັນວັນທີສັນຍາ

-u,-ຜູ້ໃຊ້
ບັນທຶກຜູ້ໃຊ້ທີ່ລະບຸໄວ້ເປັນ committer

-S, --subrepos
recurse ເຂົ້າໄປໃນ subrepositories

-w, --ignore-all-space
ບໍ່ສົນໃຈພື້ນທີ່ສີຂາວເມື່ອປຽບທຽບເສັ້ນ

-b, --ignore-space-change
ບໍ່ສົນໃຈການປ່ຽນແປງຈໍານວນພື້ນທີ່ສີຂາວ

-B, --ignore-blank-lines
ບໍ່ສົນໃຈການປ່ຽນແປງຂອງແຖວທັງໝົດແມ່ນຫວ່າງເປົ່າ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ເຊື່ອມຕໍ່ຄືນໃໝ່
recreates hardlinks ລະຫວ່າງ clones repository

ຄໍາສັ່ງ
ເຊື່ອມຕໍ່ຄືນໃໝ່
ສ້າງ hardlinks ລະຫວ່າງສອງ repositories:

hg relink [ORIGIN]

ເມື່ອ repositories ຖືກ cloned ຢູ່ໃນທ້ອງຖິ່ນ, ໄຟລ໌ຂໍ້ມູນຂອງເຂົາເຈົ້າຈະໄດ້ຮັບການ hardlinked ດັ່ງນັ້ນເຂົາເຈົ້າ
ພຽງແຕ່ໃຊ້ພື້ນທີ່ຂອງ repository ດຽວ.

ແຕ່ຫນ້າເສຍດາຍ, ການດຶງຕໍ່ມາເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນຈະທໍາລາຍ hardlinks ສໍາລັບໄຟລ໌ໃດໆ
ແຕະໂດຍຊຸດການປ່ຽນແປງໃຫມ່, ເຖິງແມ່ນວ່າທັງສອງ repositories ສິ້ນສຸດການດຶງການປ່ຽນແປງດຽວກັນ.

ເຊັ່ນດຽວກັນ, ການຖ່າຍທອດ --rev ກັບ "hg clone" ຈະບໍ່ນໍາໃຊ້ hardlinks ໃດໆ, ຫຼຸດລົງກັບຄືນໄປບ່ອນເປັນ.
ສໍາ​ເນົາ​ທີ່​ສົມ​ບູນ​ຂອງ repository ແຫຼ່ງ​.

ຄໍາສັ່ງນີ້ຊ່ວຍໃຫ້ທ່ານສ້າງ hardlinks ເຫຼົ່ານັ້ນຄືນໃຫມ່ແລະເອົາພື້ນທີ່ທີ່ເສຍໄປ.

ຄັງເກັບນີ້ຈະຖືກເຊື່ອມຕໍ່ຄືນໃໝ່ເພື່ອແບ່ງປັນພື້ນທີ່ກັບ ORIGIN, ເຊິ່ງຈະຕ້ອງຢູ່ອັນດຽວກັນ
ແຜ່ນທ້ອງຖິ່ນ. ຖ້າ ORIGIN ຖືກລະເວັ້ນ, ຊອກຫາ "default-relink", ຫຼັງຈາກນັ້ນ "default", ໃນ [paths].

ຢ່າພະຍາຍາມດໍາເນີນການອ່ານໃດໆຢູ່ໃນບ່ອນເກັບມ້ຽນນີ້ໃນຂະນະທີ່ຄໍາສັ່ງກໍາລັງເຮັດວຽກ. (ທັງສອງ
repositories ຈະຖືກລັອກບໍ່ໃຫ້ຂຽນ.)

schemes
ຂະຫຍາຍໂຄງການທີ່ມີທາງລັດໄປຫາ swarms ເກັບຮັກສາ

ສ່ວນຂະຫຍາຍນີ້ອະນຸຍາດໃຫ້ທ່ານລະບຸທາງລັດສໍາລັບ URL ຫຼັກທີ່ມີບ່ອນເກັບມ້ຽນຫຼາຍ
ເພື່ອປະຕິບັດຄືກັບໂຄງການ, ຕົວຢ່າງ:

[ໂຄງການ]
py = http://code.python.org/hg/

ຫຼັງຈາກນັ້ນ, ທ່ານສາມາດນໍາໃຊ້ມັນຄື:

hg clone py://trunk/

ນອກຈາກນັ້ນ, ຍັງມີການສະຫນັບສະຫນູນສໍາລັບບາງ schemas ທີ່ສັບສົນຫຼາຍ, ຕົວຢ່າງທີ່ໃຊ້ໂດຍ Google
ລະຫັດ:

[ໂຄງການ]
gcode = http://{1}.googlecode.com/hg/

syntax ແມ່ນເອົາມາຈາກແມ່ແບບ Mercurial, ແລະທ່ານມີຕົວແປບໍ່ຈໍາກັດ,
ເລີ່ມຕົ້ນດ້ວຍ {1} ແລະສືບຕໍ່ ນຳ {2}, {3} ແລະອື່ນໆ. ຕົວແປນີ້ຈະໄດ້ຮັບ
ພາກສ່ວນຂອງ URL ທີ່ສະໜອງໃຫ້, ແບ່ງອອກໂດຍ /. ອັນໃດທີ່ບໍ່ໄດ້ລະບຸວ່າເປັນ {part} ພຽງ​ແຕ່​ຈະ​ໄດ້​ຮັບ​ການ​ຕໍ່​ທ້າຍ​
ໄປຫາ URL.

ເພື່ອຄວາມສະດວກ, ສ່ວນຂະຫຍາຍຈະເພີ່ມໂຄງການເຫຼົ່ານີ້ຕາມຄ່າເລີ່ມຕົ້ນ:

[ໂຄງການ]
py = http://hg.python.org/
bb = https://bitbucket.org/
bb+ssh = ssh://[email protected]/
gcode = https://{1}.googlecode.com/hg/
kiln = https://{1}.kilnhg.com/Repo/

ທ່ານສາມາດ override ໂຄງການທີ່ກໍານົດໄວ້ກ່ອນໂດຍການກໍານົດໂຄງການໃຫມ່ທີ່ມີຊື່ດຽວກັນ.

share
ແບ່ງປັນປະຫວັດທົ່ວໄປລະຫວ່າງຫຼາຍໄດເລກະທໍລີທີ່ເຮັດວຽກ

ອັດຕະໂນມັດ ສະລອຍນໍ້າ ການເກັບຮັກສາ ສໍາລັບການ Clones
ເມື່ອສ່ວນຂະຫຍາຍນີ້ເປີດໃຊ້ຢູ່, hg clone ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​ອັດ​ຕະ​ໂນ​ມັດ​ການ​ແບ່ງ​ປັນ / ສະ​ນຸກ​ເກີ​
ການເກັບຮັກສາໃນທົ່ວຫຼາຍ clones. ຮູບ​ແບບ​ນີ້​ປະ​ສິດ​ທິ​ຜົນ converts​ hg clone to hg clone + hg
share. ຜົນປະໂຫຍດຂອງການນໍາໃຊ້ຮູບແບບນີ້ແມ່ນການຄຸ້ມຄອງອັດຕະໂນມັດຂອງເສັ້ນທາງຮ້ານແລະ
ການລວມອັດສະລິຍະຂອງ repositories ທີ່ກ່ຽວຂ້ອງ.

ຕໍ່ໄປນີ້ share ຕົວເລືອກ config ມີອິດທິພົນຕໍ່ຄຸນສົມບັດນີ້:

share.pool

ເສັ້ນທາງລະບົບໄຟລ໌ທີ່ຂໍ້ມູນບ່ອນເກັບຂໍ້ມູນຮ່ວມກັນຈະຖືກເກັບໄວ້. ເມື່ອກໍານົດ, hg clone
ຈະໃຊ້ບ່ອນເກັບມ້ຽນທີ່ແບ່ງປັນໂດຍອັດຕະໂນມັດແທນທີ່ຈະສ້າງຮ້ານຄ້າພາຍໃນ
ແຕ່ລະ clone.

share.poolnaming

ວິທີການຊື່ໄດເລກະທໍລີຢູ່ໃນ share.pool ກໍາລັງກໍ່ສ້າງ.

"ຕົວຕົນ" ຫມາຍຄວາມວ່າຊື່ແມ່ນມາຈາກການປ່ຽນແປງຄັ້ງທໍາອິດໃນບ່ອນເກັບມ້ຽນ. ໃນ
ຮູບແບບນີ້, ຫ່າງໄກສອກຫຼີກທີ່ແຕກຕ່າງກັນແບ່ງປັນບ່ອນເກັບມ້ຽນຖ້າການປ່ຽນຮາກ / ເບື້ອງຕົ້ນຂອງພວກເຂົາແມ່ນ
ຄືກັນ. ໃນ​ຮູບ​ແບບ​ນີ້​, ການ​ເກັບ​ຮັກ​ສາ​ທີ່​ແບ່ງ​ປັນ​ໃນ​ທ້ອງ​ຖິ່ນ​ແມ່ນ​ລວມ​ທັງ​ຫມົດ​
ພົບ​ກັບ repositories ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​.

"ໄລຍະໄກ" ຫມາຍຄວາມວ່າຊື່ແມ່ນມາຈາກເສັ້ນທາງຫຼື URL ຂອງບ່ອນເກັບມ້ຽນແຫຼ່ງ. ໃນ
ຮູບແບບນີ້, ການເກັບຮັກສາຈະຖືກແບ່ງປັນພຽງແຕ່ຖ້າເສັ້ນທາງຫຼື URL ຮ້ອງຂໍໃນ hg clone
ຄໍາສັ່ງກົງກັບບ່ອນເກັບມ້ຽນທີ່ຖືກ cloned ກ່ອນ.

ຮູບແບບການຕັ້ງຊື່ເລີ່ມຕົ້ນແມ່ນ "ຕົວຕົນ."

ຄໍາສັ່ງ
share
ສ້າງ repository ແບ່ງປັນໃຫມ່:

hg share [-U] [-B] SOURCE [DEST]

ເລີ່ມຕົ້ນບ່ອນເກັບມ້ຽນໃໝ່ ແລະໄດເລກະທໍລີເຮັດວຽກທີ່ແບ່ງປັນປະຫວັດຂອງມັນ (ແລະທາງເລືອກ
bookmarks) ກັບ repository ອື່ນ.

ຫມາຍເຫດໂດຍໃຊ້ rollback ຫຼືສ່ວນຂະຫຍາຍທີ່ທໍາລາຍ / ແກ້ໄຂປະຫວັດສາດ (mq, rebase, ແລະອື່ນໆ) ສາມາດ
ເຮັດໃຫ້ເກີດຄວາມສັບສົນຫຼາຍກັບ clones ທີ່ໃຊ້ຮ່ວມກັນ. ໂດຍສະເພາະ, ຖ້າຫາກວ່າສອງແບ່ງປັນ
clones ທັງສອງໄດ້ຖືກປັບປຸງເພື່ອການປ່ຽນແປງດຽວກັນ, ແລະຫນຶ່ງໃນນັ້ນທໍາລາຍສິ່ງນັ້ນ
ການປ່ຽນແປງທີ່ມີ rollback, clone ອື່ນໆຈະຢຸດການເຮັດວຽກຢ່າງກະທັນຫັນ: ການດໍາເນີນງານທັງຫມົດ
ຈະລົ້ມເຫລວກັບ "abort: ໄດເລກະທໍລີເຮັດວຽກມີພໍ່ແມ່ທີ່ບໍ່ຮູ້ຈັກ". ທີ່ຮູ້ຈັກເທົ່ານັ້ນ
ການແກ້ໄຂແມ່ນການໃຊ້ debugsetparents ໃນຕົວໂຄນທີ່ແຕກຫັກເພື່ອຣີເຊັດເປັນຊຸດການປ່ຽນແປງ
ທີ່ຍັງມີຢູ່.

ຕົວເລືອກ:

-U, --ການອັບເດດ
ບໍ່ສ້າງໄດເລກະທໍລີທີ່ເຮັດວຽກ

-B, -- ບຸກມາກ
ຍັງແບ່ງປັນ bookmarks

ຍົກເລີກການແບ່ງປັນ
ປ່ຽນບ່ອນເກັບມ້ຽນທີ່ໃຊ້ຮ່ວມກັນເປັນບ່ອນປົກກະຕິ:

hg ຍົກເລີກການແບ່ງປັນ

ຄັດລອກຂໍ້ມູນເກັບຮັກສາໄວ້ໃນ repo ແລະເອົາຂໍ້ມູນການແບ່ງປັນເສັ້ນທາງອອກ.

ເກັບໄວ້
ບັນທຶກແລະຟື້ນຟູການປ່ຽນແປງໃນໄດເລກະທໍລີທີ່ເຮັດວຽກ

ຄໍາສັ່ງ "hg shelve" ບັນທຶກການປ່ຽນແປງທີ່ເຮັດກັບໄດເລກະທໍລີທີ່ເຮັດວຽກແລະກັບຄືນ
ການປ່ຽນແປງ, ຣີເຊັດໄດເລກະທໍລີທີ່ເຮັດວຽກເປັນສະຖານະທີ່ສະອາດ.

ຕໍ່ມາ, ຄໍາສັ່ງ "hg unshelve" ຟື້ນຟູການປ່ຽນແປງທີ່ບັນທຶກໄວ້ໂດຍ "hg shelve". ການປ່ຽນແປງສາມາດ
ໄດ້ຮັບການຟື້ນຟູເຖິງແມ່ນວ່າຫຼັງຈາກການອັບເດດກັບພໍ່ແມ່ທີ່ແຕກຕ່າງກັນ, ໃນກໍລະນີນີ້ Mercurial ການລວມຕົວ
ເຄື່ອງຈັກຈະແກ້ໄຂຂໍ້ຂັດແຍ່ງໃດໆຖ້າຈໍາເປັນ.

ທ່ານ​ສາ​ມາດ​ມີ​ຫຼາຍ​ກວ່າ​ຫນຶ່ງ shelved ການ​ປ່ຽນ​ແປງ​ທີ່​ຍັງ​ຄ້າງ​ຄາ​ໃນ​ເວ​ລາ​; ແຕ່ລະການປ່ຽນແປງ shelved ມີ a
ຊື່​ທີ່​ແຕກ​ຕ່າງ​ກັນ​. ສໍາລັບລາຍລະອຽດ, ເບິ່ງການຊ່ວຍເຫຼືອສໍາລັບ "hg shelve".

ຄໍາສັ່ງ
ເກັບໄວ້
ບັນທຶກແລະກໍານົດຫລີກໄປທາງຫນຶ່ງການປ່ຽນແປງຈາກໄດເລກະທໍລີທີ່ເຮັດວຽກ:

hg shelve [OPTION]... [FILE]...

Shelving ເອົາໄຟລ໌ທີ່ "ສະຖານະ hg" ລາຍງານວ່າບໍ່ສະອາດ, ບັນທຶກການດັດແປງເປັນ a
bundle (ການປ່ຽນແປງ shelved), ແລະ reverts ໄຟລ໌ເພື່ອໃຫ້ສະຖານະຂອງເຂົາເຈົ້າໃນການເຮັດວຽກ
ໄດເລກະທໍລີກາຍເປັນສະອາດ.

ເພື່ອຟື້ນຟູການປ່ຽນແປງເຫຼົ່ານີ້ໄປຫາໄດເລກະທໍລີທີ່ເຮັດວຽກ, ໂດຍໃຊ້ "hg unshelve"; ນີ້ຈະເຮັດວຽກ
ເຖິງແມ່ນວ່າທ່ານຈະປ່ຽນໄປຫາຄໍາຫມັ້ນສັນຍາທີ່ແຕກຕ່າງກັນ.

ເມື່ອບໍ່ມີໄຟລ໌ໃດຖືກລະບຸ, "hg shelve" ບັນທຶກໄຟລ໌ທີ່ບໍ່ສະອາດທັງຫມົດ. ຖ້າໄຟລ໌ສະເພາະຫຼື
ໄດເລກະທໍລີຖືກຕັ້ງຊື່, ພຽງແຕ່ການປ່ຽນແປງໄຟລ໌ເຫຼົ່ານັ້ນແມ່ນຖືກຈັດໃສ່.

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

ເພື່ອເບິ່ງບັນຊີລາຍຊື່ຂອງການປ່ຽນແປງ shelved ທີ່ມີຢູ່ແລ້ວ, ໃຊ້ --ລາຍການ ທາງເລືອກ. ສໍາລັບແຕ່ລະການປ່ຽນແປງ shelved,
ນີ້ຈະພິມຊື່, ອາຍຸ, ແລະຄໍາອະທິບາຍ; ໃຊ້ --patch or --ສະຖິຕິ ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ເພື່ອລຶບການປ່ຽນແປງທີ່ວາງໄວ້ສະເພາະ, ໃຫ້ໃຊ້ --ລຶບ. ເພື່ອລຶບການປ່ຽນແປງທີ່ວາງໄວ້ທັງໝົດ, ໃຫ້ໃຊ້
--ທໍາ​ຄວາມ​ສະ​ອາດ​.

ຕົວເລືອກ:

-A, --addremove
ໝາຍໄຟລ໌ໃໝ່/ທີ່ຂາດຫາຍໄປວ່າຖືກເພີ່ມ/ເອົາອອກກ່ອນຊັ້ນວາງ

-u, --ບໍ່ຮູ້ຈັກ
ເກັບໄຟລ໌ທີ່ບໍ່ຮູ້ຈັກຢູ່ໃນຊັ້ນວາງ

--ທໍາ​ຄວາມ​ສະ​ອາດ​
ລຶບການປ່ຽນແປງທັງໝົດທີ່ວາງໄວ້

- ວັນທີ
shelve ກັບວັນທີຄໍາຫມັ້ນສັນຍາທີ່ກໍານົດໄວ້

-d, --ລຶບ
ລຶບ​ການ​ປ່ຽນ​ແປງ​ທີ່​ມີ​ຊື່ shelved

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

-l, --ລາຍການ
ລາຍຊື່ຊັ້ນວາງໃນປະຈຸບັນ

-m,-- ຂໍ້ຄວາມ
ໃຊ້ຂໍ້ຄວາມເປັນຂໍ້ຄວາມ shelve

-n,--ຊື່
ໃຊ້ຊື່ໃຫ້ສໍາລັບຄໍາຫມັ້ນສັນຍາ shelved

-p, --patch
ສະແດງ patch

-i, --ໂຕ້ຕອບ
ຮູບແບບການໂຕ້ຕອບ, ພຽງແຕ່ເຮັດວຽກໃນຂະນະທີ່ການສ້າງ shelve

--ສະຖິຕິ ຜົນສະຫຼຸບຂອງການປ່ຽນແປງແບບ diffstat

- ຂ້ອຍ,--ລວມ
ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

-X,--ຍົກເວັ້ນ
ບໍ່ລວມເອົາຊື່ທີ່ກົງກັບຮູບແບບທີ່ໃຫ້ໄວ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ຖອດອອກ
ຟື້ນ​ຟູ​ການ​ປ່ຽນ​ແປງ shelved ກັບ​ລະ​ບົບ​ການ​ເຮັດ​ວຽກ​:

hg unshelve [SHELVED]

ຄໍາສັ່ງນີ້ຍອມຮັບຊື່ທາງເລືອກຂອງການປ່ຽນແປງ shelved ເພື່ອຟື້ນຟູ. ຖ້າບໍ່ມີ,
ການປ່ຽນແປງ shelved ຫຼ້າສຸດແມ່ນຖືກນໍາໃຊ້.

ຖ້າການປ່ຽນແປງ shelved ຖືກນໍາໃຊ້ຢ່າງສໍາເລັດຜົນ, ມັດທີ່ປະກອບດ້ວຍການປ່ຽນແປງ shelved
ຖືກຍ້າຍໄປບ່ອນສຳຮອງ (.hg/shelve-backup).

ເນື່ອງຈາກທ່ານສາມາດຟື້ນຟູການປ່ຽນແປງທີ່ຫຼົ່ນລົງຢູ່ເທິງສຸດຂອງຄໍາຫມັ້ນສັນຍາທີ່ຕົນເອງມັກ, ມັນເປັນໄປໄດ້
unshelving ຈະເຮັດໃຫ້ເກີດຄວາມຂັດແຍ້ງລະຫວ່າງການປ່ຽນແປງຂອງທ່ານແລະຄໍາຫມັ້ນສັນຍາທີ່ທ່ານເປັນ
unshelving ໃສ່. ຖ້າສິ່ງນີ້ເກີດຂື້ນ, ທ່ານຕ້ອງແກ້ໄຂຂໍ້ຂັດແຍ່ງ, ຫຼັງຈາກນັ້ນໃຊ້ --ສືບຕໍ່ to
ສໍາເລັດການດໍາເນີນການ unshelve. (ຊຸດດັ່ງກ່າວຈະບໍ່ຖືກຍ້າຍຈົນກວ່າທ່ານຈະສຳເລັດ
ເຮັດ​ສໍາ​ເລັດ unshelve ໄດ້​.)

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

ຫຼັງ​ຈາກ unshelve ສົບ​ຜົນ​ສໍາ​ເລັດ​, ການ​ປ່ຽນ​ແປງ shelved ຖືກ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ລະ​ບົບ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​. ເທົ່ານັ້ນ
N ການສໍາຮອງຂໍ້ມູນຫຼ້າສຸດແມ່ນຖືກເກັບຮັກສາໄວ້. N ເລີ່ມຕົ້ນເປັນ 10 ແຕ່ສາມາດ overridden ໂດຍໃຊ້
shelve.maxbackups ທາງເລືອກການຕັ້ງຄ່າ.

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

ຕົວເລືອກ:

-ກ, --ເອົາລູກອອກ
ຍົກ​ເລີກ​ການ​ດໍາ​ເນີນ​ງານ unshelve ບໍ່​ຄົບ​ຖ້ວນ​ສົມ​ບູນ​

-c, --ສືບຕໍ່
ສືບຕໍ່ການດໍາເນີນການ unshelve ທີ່ບໍ່ຄົບຖ້ວນ

-k, --ຮັກສາ
ຮັກສາ shelve ຫຼັງຈາກ unshelving

-t,--ເຄື່ອງ​ມື
ລະບຸເຄື່ອງມືລວມ

- ວັນທີ
ກໍານົດວັນທີສໍາລັບຄໍາຫມັ້ນສັນຍາຊົ່ວຄາວ (DEPRECATED)

ອອກ
ການ​ປ່ຽນ​ແປງ​ແຖບ​ແລະ​ລູກ​ຫລານ​ຂອງ​ເຂົາ​ເຈົ້າ​ຈາກ​ປະ​ຫວັດ​ສາດ​

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

ຄໍາສັ່ງ
ອອກ
strip changeets ແລະລູກຫລານຂອງພວກເຂົາທັງຫມົດຈາກ repository:

hg strip [-k] [-f] [-B bookmark] [-r] REV...

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

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

ທຸກຊຸດການປ່ຽນແປງທີ່ຖືກຖອດອອກຈະຖືກເກັບໄວ້ໃນ .hg/strip-backup ເປັນຊຸດ (ເບິ່ງ hg ຊ່ວຍເຫຼືອ ມັດ ແລະ
hg ຊ່ວຍເຫຼືອ ບໍ່ໄດ້ມັດ). ພວກເຂົາສາມາດຟື້ນຟູໄດ້ໂດຍການແລ່ນ hg ບໍ່ໄດ້ມັດ .hg/strip-backup/BUNDLE,
ບ່ອນທີ່ BUNDLE ແມ່ນໄຟລ໌ມັດທີ່ສ້າງຂຶ້ນໂດຍແຖບ. ໃຫ້ສັງເກດວ່າຕົວເລກການແກ້ໄຂທ້ອງຖິ່ນ
ໂດຍທົ່ວໄປຈະແຕກຕ່າງກັນຫຼັງຈາກການຟື້ນຟູ.

ໃຊ້ຕົວເລືອກ --no-backup ເພື່ອຍົກເລີກຊຸດສຳຮອງເມື່ອການດຳເນີນການສຳເລັດ.

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

ກັບຄືນ 0 ໃນຄວາມສໍາເລັດ.

ຕົວເລືອກ:

-r,--rev
ການ​ແກ້​ໄຂ​ທີ່​ກໍາ​ນົດ​ໄວ້ (ທາງ​ເລືອກ​ອື່ນ​, ສາ​ມາດ​ກໍາ​ນົດ​ການ​ດັດ​ແກ້​ໂດຍ​ບໍ່​ມີ​ທາງ​ເລືອກ​ນີ້​)

-f, --ກຳລັງ
ບັງຄັບ​ເອົາ​ການ​ປ່ຽນ​ແປງ​ອອກ, ຍົກ​ເລີກ​ການ​ປ່ຽນ​ແປງ​ທີ່​ບໍ່​ໄດ້​ຮັບ​ການ​ອະ​ນຸ​ຍາດ (ບໍ່​ມີ​ການ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​)

--no-backup
ບໍ່ມີການສໍາຮອງ

--nobackup
ບໍ່ມີການສໍາຮອງ (DEPRECATED)

-n ບໍ່ສົນໃຈ (ຍົກເລີກ)

-k, --ຮັກສາ
ຢ່າດັດແປງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນລະຫວ່າງການລອກເອົາ

-B,-- ບຸກມາກ
ເອົາ revs ທີ່ສາມາດບັນລຸໄດ້ພຽງແຕ່ຈາກ bookmark ທີ່ໃຫ້

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

ການຖ່າຍທອດ
ຄໍາສັ່ງໃຫ້ transplant ການປ່ຽນແປງຈາກສາຂາອື່ນ

ການຂະຫຍາຍນີ້ອະນຸຍາດໃຫ້ທ່ານສາມາດປູກການປ່ຽນແປງກັບການແກ້ໄຂພໍ່ແມ່ອື່ນ, ອາດຈະຢູ່ໃນ
repository ອື່ນ. ການປູກຖ່າຍແມ່ນເຮັດໂດຍໃຊ້ 'diff' patches.

ແຜ່ນທີ່ປ່ຽນໄປຖືກບັນທຶກໄວ້ໃນ .hg/transplant/transplants, ເປັນແຜນທີ່ຈາກຊຸດການປ່ຽນແປງ.
hash ກັບ hash ຂອງມັນຢູ່ໃນ repository ແຫຼ່ງ.

ຄໍາສັ່ງ
ການຖ່າຍທອດ
ການ​ປ່ຽນ​ຖ່າຍ​ການ​ປ່ຽນ​ແປງ​ຈາກ​ສາ​ຂາ​ອື່ນ​:

hg transplant [-s REPO] [-b ສາຂາ [-a]] [-p REV] [-m REV] [REV] ...

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

ພິຈາລະນາໃຊ້ຄໍາສັ່ງ graft ຖ້າທຸກສິ່ງທຸກຢ່າງຢູ່ໃນ repository ດຽວກັນ - ມັນຈະໃຊ້
merges ແລະປົກກະຕິແລ້ວຈະໃຫ້ຜົນໄດ້ຮັບທີ່ດີກວ່າ. ໃຊ້ສ່ວນຂະຫຍາຍ rebase ຖ້າມີການປ່ຽນແປງ
ບໍ່ໄດ້ຖືກເຜີຍແຜ່ ແລະທ່ານຕ້ອງການຍ້າຍພວກມັນແທນການສຳເນົາພວກມັນ.

ຖ້າ --log ຖືກ​ລະ​ບຸ​ໄວ້, ຂໍ້​ຄວາມ​ບັນ​ທຶກ​ຈະ​ມີ​ຄໍາ​ຄິດ​ເຫັນ​ຕໍ່​ທ້າຍ​ຂອງ​ຮູບ​ແບບ​ການ​:

(ປູກຈາກ CHANGESETHASH)

ທ່ານສາມາດຂຽນຂໍ້ຄວາມການປ່ຽນແປງໃຫມ່ດ້ວຍຕົວເລືອກ --filter. ການໂຕ້ຖຽງຂອງມັນຈະເປັນ
ຖືກເອີ້ນດ້ວຍຂໍ້ຄວາມ changelog ໃນປັດຈຸບັນເປັນ $1 ແລະ patch ເປັນ $2.

--source/-s ລະບຸບ່ອນເກັບມ້ຽນອື່ນເພື່ອໃຊ້ສໍາລັບການເລືອກຊຸດການປ່ຽນແປງ, ຄືກັບວ່າມັນ
ໄດ້​ຖືກ​ດຶງ​ອອກ​ເປັນ​ການ​ຊົ່ວ​ຄາວ​. ຖ້າ --branch/-b ຖືກລະບຸ, ການແກ້ໄຂເຫຼົ່ານີ້ຈະຖືກໃຊ້ເປັນ
ຫົວຫນ້າໃນເວລາທີ່ຕັດສິນໃຈວ່າການປ່ຽນແປງທີ່ຈະປູກ, ຄືກັນກັບວ່າມີພຽງແຕ່ການດັດແກ້ເຫຼົ່ານີ້ເທົ່ານັ້ນ
ຖືກດຶງ. ຖ້າ --all/-a ຖືກລະບຸ, ການແກ້ໄຂທັງໝົດຂຶ້ນກັບຫົວທີ່ລະບຸໄວ້
-- ສາຂາຈະໄດ້ຮັບການປູກ.

ຕົວຢ່າງ:

· ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ເຖິງ REV ເທິງ​ຂອງ​ການ​ແກ້​ໄຂ​ໃນ​ປະ​ຈຸ​ບັນ​ຂອງ​ທ່ານ​:

hg transplant --branch REV --all

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

ການ​ປ່ຽນ​ແປງ​ລວມ​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ປູກ​ໂດຍ​ກົງ​ໂດຍ​ການ​ລະ​ບຸ​ການ​ປ່ຽນ​ແປງ​ຂອງ​ພໍ່​ແມ່​ທີ່​ເຫມາະ​ສົມ​ໂດຍ​
ໂທຫາ hg ການຖ່າຍທອດ --ພໍ່ແມ່.

ຖ້າບໍ່ມີການລວມຫຼືດັດແກ້ໄດ້ຖືກສະຫນອງໃຫ້, hg ການຖ່າຍທອດ ຈະເລີ່ມຊຸດການປ່ຽນແປງແບບໂຕ້ຕອບ
browser

ຖ້າ​ຫາກ​ວ່າ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ການ​ປ່ຽນ​ແປງ​ບໍ່​ສໍາ​ເລັດ​, ທ່ານ​ສາ​ມາດ​ແກ້​ໄຂ​ການ​ລວມ​ດ້ວຍ​ມື​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ສືບ​ຕໍ່​ບ່ອນ​ທີ່​ທ່ານ​
ປະໄວ້ໂດຍການໂທຫາ hg ການຖ່າຍທອດ --ສືບຕໍ່/-ຄ.

ຕົວເລືອກ:

- ແມ່ນແລ້ວ,--ແຫຼ່ງ
ການປ່ຽນແປງຂອງການປູກຖ່າຍຈາກ REPO

-b,--ສາຂາ
ໃຊ້ຊຸດການປ່ຽນແປງແຫຼ່ງນີ້ເປັນຫົວ

-ກ, --ທັງໝົດ
ດຶງເອົາການປ່ຽນແປງທັງຫມົດເຖິງ -- ການດັດແກ້ສາຂາ

-p,--prune
ຂ້າມໄປ REV

-m,--ລວມເຂົ້າກັນ
ຮວມຢູ່ REV

--ພໍ່ແມ່
ພໍ່ແມ່ທີ່ຈະເລືອກເອົາໃນເວລາທີ່ transplanting merge

-e, --ດັດແກ້
ຮຽກ​ຮ້ອງ​ໃຫ້​ບັນ​ນາ​ທິ​ການ​ກ່ຽວ​ກັບ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ຂໍ້​ຄວາມ​

--ບັນທຶກ ຕື່ມຂໍ້ມູນການຖ່າຍທອດເພື່ອບັນທຶກຂໍ້ຄວາມ

-c, --ສືບຕໍ່
ສືບຕໍ່ການຖ່າຍທອດຄັ້ງສຸດທ້າຍຫຼັງຈາກການແກ້ໄຂຂໍ້ຂັດແຍ່ງ

--ການກັ່ນຕອງ
ການກັ່ນຕອງການປ່ຽນແປງຜ່ານຄໍາສັ່ງ

[+] ທາງ​ເລືອກ​ທີ່​ຫມາຍ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ຫຼາຍ​ຄັ້ງ​

win32mbcs
ອະນຸຍາດໃຫ້ໃຊ້ເສັ້ນທາງ MBCS ດ້ວຍການເຂົ້າລະຫັດທີ່ມີບັນຫາ

ການເຂົ້າລະຫັດ MBCS ບາງອັນບໍ່ດີສໍາລັບບາງການດໍາເນີນງານເສັ້ນທາງ (ເຊັ່ນ: ເສັ້ນທາງແຍກ, ກໍລະນີ
ການປ່ຽນໃຈເຫລື້ອມໃສ, ແລະອື່ນໆ) ດ້ວຍ bytes ທີ່ເຂົ້າລະຫັດຂອງມັນ. ພວກເຮົາເອີ້ນການເຂົ້າລະຫັດດັ່ງກ່າວ (ເຊັ່ນ shift_jis ແລະ
big5) ເປັນ "ການເຂົ້າລະຫັດທີ່ມີບັນຫາ". ສ່ວນຂະຫຍາຍນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອແກ້ໄຂບັນຫາເຫຼົ່ານັ້ນ
ການເຂົ້າລະຫັດໂດຍການຫໍ່ບາງຟັງຊັນເພື່ອປ່ຽນເປັນສະຕຣິງ Unicode ກ່ອນທີ່ຈະດໍາເນີນການເສັ້ນທາງ.

ສ່ວນຂະຫຍາຍນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບ:

· ຜູ້ໃຊ້ Windows ພາສາຍີ່ປຸ່ນທີ່ໃຊ້ການເຂົ້າລະຫັດ shift_jis.

· ຜູ້ໃຊ້ Windows ຂອງຈີນທີ່ໃຊ້ການເຂົ້າລະຫັດ big5.

· ຜູ້​ໃຊ້​ທັງ​ຫມົດ​ທີ່​ນໍາ​ໃຊ້ repository ກັບ​ຫນຶ່ງ​ໃນ​ການ​ເຂົ້າ​ລະ​ຫັດ​ທີ່​ມີ​ບັນ​ຫາ​ກ່ຽວ​ກັບ​ຕົວ​ອັກ​ສອນ​ທີ່​ບໍ່​ອ່ອນ​ໄຫວ​
ລະບົບແຟ້ມ.

ສ່ວນຂະຫຍາຍນີ້ບໍ່ຈໍາເປັນສໍາລັບ:

·ຜູ້ໃຊ້ໃດທີ່ໃຊ້ພຽງແຕ່ ASCII chars ໃນເສັ້ນທາງ.

·ຜູ້ໃຊ້ໃດໆທີ່ບໍ່ໃຊ້ການເຂົ້າລະຫັດທີ່ມີບັນຫາ.

ກະລຸນາຮັບຊາບວ່າມີຂໍ້ຈຳກັດບາງຢ່າງໃນການນຳໃຊ້ສ່ວນຂະຫຍາຍນີ້:

· ທ່ານຄວນໃຊ້ການເຂົ້າລະຫັດດຽວຢູ່ໃນບ່ອນເກັບມ້ຽນອັນດຽວ.

· ຖ້າເສັ້ນທາງຂອງ repository ສິ້ນສຸດດ້ວຍ 0x5c, .hg/hgrc ບໍ່ສາມາດອ່ານໄດ້.

· win32mbcs ບໍ່ເຫມາະສົມກັບສ່ວນຂະຫຍາຍ fixutf8.

ໂດຍຄ່າເລີ່ມຕົ້ນ, win32mbcs ໃຊ້ encoding.encoding ທີ່ຕັດສິນໃຈໂດຍ Mercurial. ທ່ານສາມາດລະບຸໄດ້
ການ​ເຂົ້າ​ລະ​ຫັດ​ໂດຍ​ທາງ​ເລືອກ config​:

[win32mbcs]
ການເຂົ້າລະຫັດ = sjis

ມັນເປັນປະໂຫຍດສໍາລັບຜູ້ໃຊ້ທີ່ຕ້ອງການຄໍາຫມັ້ນສັນຍາກັບຂໍ້ຄວາມບັນທຶກ UTF-8.

win32text
ປະຕິບັດການແປງແຖວໃຫມ່ອັດຕະໂນມັດ (DEPRECATED)

Deprecation: ສ່ວນຂະຫຍາຍ win32text ຮຽກຮ້ອງໃຫ້ຜູ້ໃຊ້ແຕ່ລະຄົນກຳນົດຄ່າສ່ວນຂະຫຍາຍ
ອີກເທື່ອຫນຶ່ງແລະອີກເທື່ອຫນຶ່ງສໍາລັບແຕ່ລະ clone ນັບຕັ້ງແຕ່ການຕັ້ງຄ່າບໍ່ໄດ້ຖືກຄັດລອກໃນເວລາທີ່ cloning.

ດັ່ງນັ້ນພວກເຮົາໄດ້ເຮັດ ອີອລ ເປັນທາງເລືອກ. ໄດ້ ອີອລ ໃຊ້ເວີຊັນທີ່ຄວບຄຸມ
ໄຟລ໌ສໍາລັບການຕັ້ງຄ່າຂອງມັນແລະແຕ່ລະ clone ດັ່ງນັ້ນຈຶ່ງຈະໃຊ້ການຕັ້ງຄ່າທີ່ເຫມາະສົມຈາກ
ການເລີ່ມຕົ້ນ.

ເພື່ອປະຕິບັດການແປງເສັ້ນໃຫມ່ອັດຕະໂນມັດ, ໃຊ້:

[ສ່ວນຂະຫຍາຍ]
win32text =
[ເຂົ້າລະຫັດ]
** = cleverencode:
# ຫຼື ** = macencode:

[ຖອດລະຫັດ]
** = cleverdecode:
# ຫຼື ** = macdecode:

ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ເຮັດ​ການ​ປ່ຽນ​ໃຈ​ເຫລື້ອມ​ໃສ​, ເພື່ອ​ໃຫ້​ແນ່​ໃຈວ່​າ​ທ່ານ​ບໍ່​ໄດ້​ປະ​ຕິ​ບັດ CRLF/CR ໂດຍ​ບັງ​ເອີນ​:

[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
# ຫຼື pretxncommit.cr = python:hgext.win32text.forbidcr

ເພື່ອເຮັດການກວດສອບດຽວກັນກັບເຄື່ອງແມ່ຂ່າຍເພື່ອປ້ອງກັນ CRLF / CR ຈາກການຖືກກົດຫຼືດຶງ:

[hooks]
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
# ຫຼື pretxnchangegroup.cr = python:hgext.win32text.forbidcr

zeroconf
ຄົ້ນພົບແລະໂຄສະນາ repositories ໃນເຄືອຂ່າຍທ້ອງຖິ່ນ

ການຂະຫຍາຍ zeroconf ຈະໂຄສະນາ hg ບໍລິການ ຕົວຢ່າງຫຼາຍກວ່າ DNS-SD ເພື່ອໃຫ້ພວກເຂົາສາມາດເປັນ
ຄົ້ນພົບໂດຍໃຊ້ hg ເສັ້ນທາງ ຄໍາສັ່ງໂດຍບໍ່ຮູ້ທີ່ຢູ່ຂອງເຄື່ອງແມ່ຂ່າຍ.

ເພື່ອອະນຸຍາດໃຫ້ຄົນອື່ນຄົ້ນພົບບ່ອນເກັບມ້ຽນຂອງເຈົ້າໂດຍໃຊ້ການແລ່ນ hg ບໍລິການ ໃນ repository ຂອງ​ທ່ານ​:

$ cd ການທົດສອບ
$ hg ໃຫ້ບໍລິການ

ທ່ານສາມາດຄົ້ນພົບບ່ອນເກັບມ້ຽນທີ່ເປີດໃຊ້ Zeroconf ໂດຍການແລ່ນ hg ເສັ້ນທາງ:

$ hg ເສັ້ນທາງ
zc-test = http://example.com: 8000/ອັນ

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


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

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

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player ເປັນຜູ້ນສື່ມວນຊົນຟຣີ
    ຊອບ​ແວ​, ສ່ວນ​ຫນຶ່ງ​ອີງ​ໃສ່ WMP ແລະ VLC​. ໄດ້
    ຜູ້ນແມ່ນຢູ່ໃນຮູບແບບ minimalist, ມີ
    ຫຼາຍ​ກ​່​ວາ​ສິບ​ສີ​ຫົວ​ຂໍ້​, ແລະ​ຍັງ​ສາ​ມາດ​
    b
    ດາວໂຫລດ AstrOrzPlayer
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV es un ADDON para XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar integrado en uno de los
    ສູນ​ກາງ​ສື່​ມວນ​ຊົນ​ມາ ...
    ດາວໂຫລດ movistartv
  • 3
    ລະຫັດ :: ທ່ອນໄມ້
    ລະຫັດ :: ທ່ອນໄມ້
    ລະຫັດ::Blocks ເປັນແຫຼ່ງເປີດຟຣີ,
    ຂ້າມເວທີ C, C++ ແລະ Fortran IDE
    ສ້າງຂຶ້ນເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການທີ່ຕ້ອງການຫຼາຍທີ່ສຸດ
    ຂອງ​ຜູ້​ຊົມ​ໃຊ້​ຂອງ​ຕົນ​. ມັນໄດ້ຖືກອອກແບບໃຫ້ຫຼາຍ
    ຂະຫຍາຍ...
    ດາວໂຫລດລະຫັດ::Blocks
  • 4
    ທ່າມກາງ
    ທ່າມກາງ
    ທ່າມກາງ ຫຼື Advanced Minecraft Interface
    ແລະ​ຂໍ້​ມູນ / ການ​ຕິດ​ຕາມ​ໂຄງ​ສ້າງ​ເປັນ​ເຄື່ອງ​ມື​ເພື່ອ​
    ສະແດງພາບລວມຂອງ Minecraft
    ໂລກ, ໂດຍບໍ່ມີການສ້າງມັນຢ່າງແທ້ຈິງ. ມັນ
    ສາ​ມາດ ...
    ດາວ​ນ​໌​ໂຫລດ​ໃນ​ທ່າມ​ກາງ​
  • 5
    MSYS2
    MSYS2
    MSYS2 ເປັນ​ການ​ເກັບ​ກໍາ​ຂອງ​ເຄື່ອງ​ມື​ແລະ​
    ຫ້ອງສະຫມຸດສະຫນອງທ່ານດ້ວຍ
    ສະ​ພາບ​ແວດ​ລ້ອມ​ທີ່​ງ່າຍ​ທີ່​ຈະ​ນໍາ​ໃຊ້​ສໍາ​ລັບ​ການ​ກໍ່​ສ້າງ​,
    ການຕິດຕັ້ງແລະແລ່ນ Windows ພື້ນເມືອງ
    ຊອບ​ແວ​. ມັນ con...
    ດາວໂຫລດ MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo ເປັນຕົວແປງສັນຍານຮູບພາບ JPEG
    ທີ່ໃຊ້ຄໍາແນະນໍາ SIMD (MMX, SSE2,
    NEON, AltiVec) ເພື່ອເລັ່ງພື້ນຖານ
    ເປີດການບີບອັດ JPEG ແລະ decompression
    x86,x8...
    ດາວໂຫລດ libjpeg-turbo
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

  • 1
    abi-tracker
    abi-tracker
    abi-tracker - ເຫັນພາບການປ່ຽນແປງ ABI
    ໄລຍະເວລາຂອງຫ້ອງສະໝຸດຊອບແວ C/C++.
    ລາຍລະອຽດ: ຊື່: ABI Tracker
    (abi-tracker) ເບິ່ງການປ່ຽນແປງ ABI
    ໄລຍະເວລາຂອງ C/C+...
    ແລ່ນ abi-tracker
  • 2
    abicheck
    abicheck
    abicheck - check application binaries
    ສໍາລັບການໂທຫາເອກະຊົນຫຼືສັນຍາລັກພັດທະນາ
    ໃນຫ້ອງສະຫມຸດແລະສໍາລັບການເຊື່ອມຕໍ່ static ຂອງ
    ບາງຫ້ອງສະຫມຸດລະບົບ. ...
    ແລ່ນ abicheck
  • 3
    couriermlm
    couriermlm
    couriermlm - ບັນຊີລາຍຊື່ທາງໄປສະນີ Courier
    ຜູ້​ຈັດ​ການ ...
    ແລ່ນ couriermlm
  • 4
    couriertcpd
    couriertcpd
    couriertcpd - ເຄື່ອງແມ່ຂ່າຍເມລ Courier
    TCP server daemon ...
    ແລ່ນ couriertcpd
  • 5
    gbklatex
    gbklatex
    bg5latex - ໃຊ້ LaTeX ໂດຍກົງໃນ Big5
    ໄຟລ໌ encodedtex bg5pdflatex - ໃຊ້
    pdfLaTeX ໂດຍກົງໃນ Big5 encodedtex
    file bg5+latex - ໃຊ້ LaTeX ໂດຍກົງໃນ a
    ໃຫຍ່5+...
    ແລ່ນ gbklatex
  • 6
    gbkpdflatex
    gbkpdflatex
    bg5latex - ໃຊ້ LaTeX ໂດຍກົງໃນ Big5
    ໄຟລ໌ encodedtex bg5pdflatex - ໃຊ້
    pdfLaTeX ໂດຍກົງໃນ Big5 encodedtex
    file bg5+latex - ໃຊ້ LaTeX ໂດຍກົງໃນ a
    ໃຫຍ່5+...
    ແລ່ນ gbkpdflatex
  • ເພີ່ມເຕີມ »

Ad