hg - Trực tuyến trên đám mây

Đây là lệnh hg có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


hg - Hệ thống quản lý mã nguồn Mercurial

SYNOPSIS


hg lệnh [tùy chọn] ... [đối số] ...

MÔ TẢ


Sản phẩm hg command cung cấp giao diện dòng lệnh cho hệ thống Mercurial.

COMMAND Yếu tố


các tập tin...
cho biết một hoặc nhiều tên tệp hoặc tên tệp đường dẫn tương đối; xem Mẫu tên tệp
để biết thông tin về khớp mẫu

con đường chỉ ra đường dẫn trên máy cục bộ

sửa đổi
biểu thị một tập thay đổi có thể được chỉ định làm số sửa đổi tập thay đổi, một thẻ,
hoặc một chuỗi con duy nhất của giá trị băm thay đổi

kho con đường
tên đường dẫn của kho lưu trữ cục bộ hoặc URI của kho lưu trữ từ xa.

LỰA CHỌN


-NS,--kho
thư mục gốc của kho lưu trữ hoặc tên của tệp gói lớp phủ

--cwd
thay đổi thư mục làm việc

-y, --không tương tác
không nhắc, tự động chọn lựa chọn đầu tiên cho tất cả các lời nhắc

-NS, --Yên lặng
ngăn chặn đầu ra

-v, --dài dòng
cho phép đầu ra bổ sung

--config
tùy chọn đặt/ghi đè cấu hình (sử dụng 'section.name=value')

--gỡ lỗi
kích hoạt đầu ra gỡ lỗi

--trình gỡ lỗi
bắt đầu trình gỡ lỗi

- mã hóa
đặt mã hóa bộ ký tự (mặc định: UTF-8)

--chế độ mã hóa
đặt chế độ mã hóa bộ ký tự (mặc định: nghiêm ngặt)

--tìm lại
luôn in một dấu vết ngoại lệ

--thời gian thời gian lệnh mất bao lâu

--Hồ sơ
in hồ sơ thực hiện lệnh

--phiên bản
thông tin phiên bản và thoát

-NS, --Cứu giúp
hiển thị trợ giúp và thoát

--ẩn giấu
xem xét các thay đổi ẩn

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

HÀNG


thêm vào
thêm các tệp được chỉ định vào lần xác nhận tiếp theo:

hg thêm [TÙY CHỌN]... [TẬP TIN]...

Lên lịch các tập tin để được kiểm soát phiên bản và thêm vào kho lưu trữ.

Các tập tin sẽ được thêm vào kho lưu trữ ở lần xác nhận tiếp theo. Để hoàn tác một thao tác thêm trước đó,
xem hg quên.

Nếu không có tên nào được đưa ra, hãy thêm tất cả các tệp vào kho lưu trữ (ngoại trừ các tệp khớp với .hgignore).

Ví dụ:

· Các tập tin mới (không xác định) được thêm tự động bởi hg thêm vào:

$ls
foo.c
trạng thái $hg
? foo.c
$ hg thêm
thêm foo.c
trạng thái $hg
Một foo.c

· Các tập tin cụ thể được thêm vào có thể được chỉ định:

$ls
bar.c foo.c
trạng thái $hg
? thanh.c
? foo.c
$ hg thêm bar.c
trạng thái $hg
Một quán bar.c
? foo.c

Trả về 0 nếu tất cả các file được thêm thành công.

Tùy chọn:

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS, --subrepos
tái diễn vào kho con

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

thêm bớt
thêm tất cả các tệp mới, xóa tất cả các tệp bị thiếu:

hg addremove [TÙY CHỌN]... [TẬP TIN]...

Thêm tất cả các tệp mới và xóa tất cả các tệp bị thiếu khỏi kho lưu trữ.

Trừ khi được đặt tên, các tệp mới sẽ bị bỏ qua nếu chúng khớp với bất kỳ mẫu nào trong
.hgignore. Giống như phần bổ sung, những thay đổi này có hiệu lực ở lần xác nhận tiếp theo.

Sử dụng tùy chọn -s/--similarity để phát hiện các tệp được đổi tên. Tùy chọn này chiếm tỷ lệ phần trăm
tham số của nó nằm trong khoảng từ 0 (bị vô hiệu hóa) đến 100 (các tệp phải giống hệt nhau). Với một tham số
lớn hơn 0, điều này sẽ so sánh mọi tệp đã xóa với mọi tệp đã thêm và ghi lại những tệp đó
đủ tương tự như đổi tên. Việc phát hiện các tập tin được đổi tên theo cách này có thể tốn kém. Sau khi sử dụng
tùy chọn này, hg tình trạng -C có thể được sử dụng để kiểm tra tập tin nào được xác định là đã di chuyển hoặc
được đổi tên. Nếu không được chỉ định, -s/--similarity mặc định là 100 và chỉ đổi tên giống hệt nhau
tập tin được phát hiện.

Ví dụ:

· Một số tệp (bar.c và foo.c) là mới, trong khi foobar.c đã bị xóa (không có
sử dụng hg tẩy) từ kho lưu trữ:

$ls
bar.c foo.c
trạng thái $hg
! foobar.c
? thanh.c
? foo.c
$hg địa chỉgỡ bỏ
thêm thanh.c
thêm foo.c
loại bỏ foobar.c
trạng thái $hg
Một quán bar.c
Một foo.c
R foobar.c

· Một file foobar.c đã được chuyển sang foo.c mà không sử dụng hg đổi tên. Sau đó, nó đã
đã sửa lại một chút:

$ls
foo.c
trạng thái $hg
! foobar.c
? foo.c
$ hg addremove --tương tự 90
loại bỏ foobar.c
thêm foo.c
ghi lại việc xóa foobar.c khi đổi tên thành foo.c (tương tự 94%)
$hg trạng thái -C
Một foo.c
foobar.c
R foobar.c

Trả về 0 nếu tất cả các file được thêm thành công.

Tùy chọn:

-S,--tương tự
đoán các tập tin được đổi tên theo độ giống nhau (0<=s<=100)

-NS, --subrepos
tái diễn vào kho con

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

chú thích
hiển thị thông tin thay đổi theo dòng cho mỗi tệp:

hg chú thích [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...

Liệt kê các thay đổi trong tệp, hiển thị id sửa đổi chịu trách nhiệm cho mỗi dòng.

Lệnh này rất hữu ích để khám phá khi nào một thay đổi được thực hiện và bởi ai.

Nếu bạn bao gồm --file, --user hoặc --date, số sửa đổi sẽ bị chặn trừ khi bạn
cũng bao gồm --số.

Nếu không có tùy chọn -a/--text, chú thích sẽ tránh xử lý các tệp mà nó phát hiện dưới dạng nhị phân.
Với -a, chú thích dù sao cũng sẽ chú thích vào tệp, mặc dù kết quả có thể sẽ là
không hữu ích và không mong muốn.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
chú thích bản sửa đổi được chỉ định

--theo dõi
theo dõi các bản sao/đổi tên và liệt kê tên tệp (KHÔNG DÙNG NỮA)

--Không theo
đừng theo dõi các bản sao và đổi tên

-một, --bản văn
coi tất cả các tệp là văn bản

-bạn, --người sử dụng
liệt kê tác giả (dài với -v)

-NS, --tập tin
liệt kê tên tập tin

-NS, --ngày
liệt kê ngày (ngắn với -q)

-N, --con số
liệt kê số sửa đổi (mặc định)

-NS, --changeset
liệt kê bộ thay đổi

-l, --số dòng
hiển thị số dòng ở lần xuất hiện đầu tiên

-w, --bỏ qua tất cả không gian
bỏ qua khoảng trắng khi so sánh các dòng

-NS, --ignore-không gian-thay đổi
bỏ qua những thay đổi về lượng khoảng trắng

-NS, --bỏ qua-dòng trống
bỏ qua các thay đổi có các dòng đều trống

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: đổ lỗi

lưu trữ
tạo một kho lưu trữ không phiên bản của bản sửa đổi kho lưu trữ:

kho lưu trữ hg [TÙY CHỌN]... DEST

Theo mặc định, bản sửa đổi được sử dụng là thư mục gốc của thư mục làm việc; sử dụng -r/--rev để
chỉ định một bản sửa đổi khác.

Loại lưu trữ được tự động phát hiện dựa trên phần mở rộng của tệp (để ghi đè, sử dụng
-t/--loại).

Ví dụ:

· tạo một file zip chứa bản phát hành 1.0:

hg archive -r 1.0 project-1.0.zip

· tạo một tarball không bao gồm các tập tin .hg:

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

Các loại hợp lệ là:

các tập tin

một thư mục chứa đầy các tập tin (mặc định)

tar

kho lưu trữ tar, không nén

tbz2

lưu trữ tar, được nén bằng bzip2

tgz

kho lưu trữ tar, được nén bằng gzip

uzip

lưu trữ zip, không nén

zip

lưu trữ zip, được nén bằng cách sử dụng deflate

Tên chính xác của kho lưu trữ hoặc thư mục đích được cung cấp bằng chuỗi định dạng; nhìn thấy
hg giúp đỡ xuất khẩu để biết thêm chi tiết.

Mỗi thành viên được thêm vào một tệp lưu trữ đều có tiền tố thư mục được thêm vào trước. Sử dụng tiền tố -p/--để
chỉ định một chuỗi định dạng cho tiền tố. Mặc định là tên cơ sở của kho lưu trữ, với
hậu tố bị loại bỏ.

Trả về 0 khi thành công.

Tùy chọn:

--không giải mã
không chuyển tập tin qua bộ giải mã

-P,--tiếp đầu ngữ
tiền tố thư mục cho các tập tin trong kho lưu trữ

-NS,--rev
sửa đổi để phân phối

-NS,--kiểu
loại phân phối để tạo ra

-NS, --subrepos
tái diễn vào kho con

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

hậu thuẫn
tác dụng ngược của thay đổi trước đó:

hg backout [TÙY CHỌN]... [-r] REV

Chuẩn bị một bộ thay đổi mới với tác dụng hoàn tác REV trong thư mục làm việc hiện tại. Nếu như
không có xung đột nào xảy ra, nó sẽ được cam kết ngay lập tức.

Nếu REV là thư mục mẹ của thư mục làm việc thì tập hợp thay đổi mới này được cam kết
tự động (trừ khi --no-commit được chỉ định).

Chú thích hg hậu thuẫn không thể được sử dụng để sửa lỗi hợp nhất không mong muốn hoặc không chính xác.

Ví dụ:

· Đảo ngược tác dụng của thư mục mẹ của thư mục làm việc. Sự rút lui này sẽ được
cam kết ngay lập tức:

hg rút lui -r .

· Đảo ngược ảnh hưởng của bản sửa đổi xấu trước đó 23:

hg rút lui -r 23

· Đảo ngược ảnh hưởng của bản sửa đổi xấu 23 trước đó và giữ nguyên các thay đổi:

hg backout -r 23 --no-commit
hg commit -m "Bản sửa đổi lùi 23"

Theo mặc định, tập hợp thay đổi đang chờ xử lý sẽ có một cha mẹ, duy trì lịch sử tuyến tính. Với
--merge, thay đổi đang chờ xử lý sẽ có hai cha mẹ: cha mẹ cũ của
thư mục làm việc và một phần tử con mới của REV đơn giản là hoàn tác REV.

Trước phiên bản 1.7, hành vi không có --merge tương đương với việc chỉ định --merge
tiếp theo hg cập nhật --dọn dẹp . hủy bỏ việc hợp nhất và để phần con của REV làm phần đầu
được sáp nhập riêng biệt.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Xem hg giúp đỡ trở lại để biết cách khôi phục tập tin về trạng thái của bản sửa đổi khác.

Trả về 0 nếu thành công, 1 nếu không có gì để sao lưu hoặc có các tệp chưa được giải quyết.

Tùy chọn:

- hợp nhất
hợp nhất với cha mẹ dirstate cũ sau khi thoát ra

--làm
cam kết nếu không gặp phải xung đột (KHÔNG DÙNG)

- không cam kết
không cam kết

--cha mẹ
cha mẹ chọn khi sao lưu hợp nhất (KHÔNG DÙNG NỮA)

-NS,--rev
sửa đổi để sao lưu

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS,--dụng cụ
chỉ định công cụ hợp nhất

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

chia đôi
tìm kiếm phân khu của các thay đổi:

hg chia đôi [-gbsr] [-U] [-c CMD] [REV]

Lệnh này giúp tìm các tập hợp thay đổi gây ra vấn đề. Để sử dụng hãy đánh dấu sớm nhất
bộ thay đổi mà bạn biết cho thấy vấn đề là không tốt, thì hãy đánh dấu bộ thay đổi mới nhất đó là
thoát khỏi vấn đề là tốt. Bisect sẽ cập nhật thư mục làm việc của bạn thành bản sửa đổi cho
kiểm tra (trừ khi tùy chọn -U/--noupdate được chỉ định). Một khi bạn đã thực hiện các bài kiểm tra,
đánh dấu thư mục làm việc là tốt hay xấu và bisect sẽ cập nhật sang thư mục khác
tập thay đổi ứng cử viên hoặc thông báo rằng nó đã tìm thấy bản sửa đổi xấu.

Là một phím tắt, bạn cũng có thể sử dụng đối số sửa đổi để đánh dấu bản sửa đổi là tốt hay xấu
mà không kiểm tra nó trước.

Nếu bạn cung cấp một lệnh, nó sẽ được sử dụng để chia đôi tự động. Môi trường
biến HG_NODE sẽ chứa ID của bộ thay đổi đang được kiểm tra. Trạng thái thoát của
lệnh sẽ được sử dụng để đánh dấu các bản sửa đổi là tốt hay xấu: trạng thái 0 có nghĩa là tốt, 125 có nghĩa là
bỏ qua phần sửa đổi, 127 (không tìm thấy lệnh) sẽ hủy bỏ phép chia đôi và bất kỳ lệnh nào khác
trạng thái thoát khác 0 có nghĩa là bản sửa đổi không tốt.

Vài ví dụ:

· Bắt đầu chia đôi với bản sửa đổi xấu 34 và bản sửa đổi tốt 12:

hg chia đôi --bad 34
hg chia đôi --tốt 12

· nâng cao phần chia đôi hiện tại bằng cách đánh dấu bản sửa đổi hiện tại là tốt hay xấu:

hg chia đôi --tốt
hg chia đôi --xấu

· đánh dấu bản sửa đổi hiện tại hoặc một bản sửa đổi đã biết cần được bỏ qua (ví dụ: nếu bản sửa đổi đó là
không thể sử dụng được vì một vấn đề khác):

hg chia đôi --skip
hg chia đôi --skip 23

· bỏ qua tất cả các sửa đổi không chạm vào thư mục foo or thanh:

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

· quên phép chia hiện tại:

hg chia đôi --reset

· sử dụng 'make && make tests' để tự động tìm bản sửa đổi bị lỗi đầu tiên:

hg chia đôi --reset
hg chia đôi --bad 34
hg chia đôi --tốt 12
hg bisect --command "thực hiện && thực hiện các bài kiểm tra"

· xem tất cả các tập thay đổi có trạng thái đã được biết trong phần chia đôi hiện tại:

hg log -r "chia đôi (cắt tỉa)"

· xem tập thay đổi hiện đang được chia đôi (đặc biệt hữu ích nếu chạy với
-U/--noupdate):

hg log -r "chia đôi (hiện tại)"

· xem tất cả các tập thay đổi đã tham gia vào phần chia đôi hiện tại:

hg log -r "chia đôi (phạm vi)"

· bạn thậm chí có thể có được một biểu đồ đẹp:

hg log --graph -r "chia đôi (phạm vi)"

Xem hg giúp đỡ sửa đổi để biết thêm về chia đôi() từ khóa.

Trả về 0 khi thành công.

Tùy chọn:

-NS, --cài lại
thiết lập lại trạng thái chia đôi

-NS, --tốt
đánh dấu bộ thay đổi tốt

-NS, --xấu
đánh dấu thay đổi xấu

-S, --nhảy
bỏ qua thử nghiệm thay đổi

-e, --mở rộng
mở rộng phạm vi chia đôi

-NS,--chỉ huy
sử dụng lệnh để kiểm tra trạng thái thay đổi

-Anh, --không có cập nhật
không cập nhật tới mục tiêu

bookmark
tạo dấu trang mới hoặc liệt kê các dấu trang hiện có:

dấu trang hg [TÙY CHỌN]... [TÊN]...

Dấu trang là nhãn trên các bộ thay đổi để giúp theo dõi các dòng phát triển. Dấu trang là
không phiên bản và có thể được di chuyển, đổi tên và xóa. Việc xóa hoặc di chuyển dấu trang không có tác dụng
ảnh hưởng đến các tập thay đổi liên quan.

Việc tạo hoặc cập nhật dấu trang sẽ khiến dấu trang đó được đánh dấu là 'hoạt động'. Hoạt động
dấu trang được biểu thị bằng '*'. Khi thực hiện cam kết, dấu trang đang hoạt động sẽ tiếp tục
đến cam kết mới. Một đồng bằng hg cập nhật cũng sẽ nâng cao dấu trang đang hoạt động, nếu có thể.
Cập nhật từ một dấu trang sẽ khiến nó bị vô hiệu hóa.

Dấu trang có thể được đẩy và kéo giữa các kho lưu trữ (xem hg giúp đỡ đẩyhg giúp đỡ kéo
). Nếu dấu trang được chia sẻ đã chuyển hướng, một 'dấu trang khác nhau' mới có dạng 'name@path'
sẽ được tạo ra. sử dụng hg hợp nhất sẽ giải quyết được sự khác biệt.

Dấu trang có tên '@' có thuộc tính đặc biệt hg nhân bản sẽ kiểm tra nó theo mặc định
nếu nó tồn tại.

Ví dụ:

· tạo một dấu trang hoạt động cho một hướng phát triển mới:

hg sách tính năng mới

· tạo một dấu trang không hoạt động làm điểm đánh dấu địa điểm:

cuốn sách hg - tôi đã xem xét

· tạo một dấu trang không hoạt động trên một bộ thay đổi khác:

hg book -r .^ đã kiểm tra

· đổi tên bookmark gà tây thành bữa tối:

hg book -m bữa tối gà tây

· di chuyển dấu trang '@' từ một nhánh khác:

hg sách -f @

Tùy chọn:

-NS, --lực lượng
lực lượng

-NS,--rev
sửa đổi cho hành động đánh dấu

-NS, --xóa bỏ
xóa một dấu trang đã cho

-NS,--đổi tên
đổi tên một dấu trang đã cho

-tôi, --không hoạt động
đánh dấu một dấu trang không hoạt động

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

bí danh: đánh dấu

địa điể̀m chọn lựa
đặt hoặc hiển thị tên chi nhánh hiện tại:

nhánh hg [-fC] [NAME]

Lưu ý Tên chi nhánh là vĩnh viễn và toàn cầu. Sử dụng hg đánh dấu để tạo ra một trọng lượng nhẹ
thay vào đó hãy đánh dấu trang. Nhìn thấy hg giúp đỡ thuật ngữ để biết thêm thông tin về các chi nhánh được đặt tên
và dấu trang.

Không có đối số, hiển thị tên chi nhánh hiện tại. Với một đối số, thiết lập làm việc
tên nhánh thư mục (nhánh sẽ không tồn tại trong kho cho đến lần xác nhận tiếp theo).
Thông lệ tiêu chuẩn khuyến nghị rằng quá trình phát triển chính nên diễn ra trên nhánh 'mặc định'.

Trừ khi -f/--force được chỉ định, nhánh sẽ không cho phép bạn đặt tên nhánh đã có
tồn tại.

Sử dụng -C/--clean để đặt lại nhánh thư mục làm việc về nhánh thư mục gốc của đối tượng đang làm việc
thư mục, phủ nhận một thay đổi chi nhánh trước đó.

Sử dụng lệnh hg cập nhật để chuyển sang một chi nhánh hiện có. Sử dụng hg cam kết --đóng nhánh đến
đánh dấu đầu chi nhánh này là đã đóng cửa. Khi tất cả các đầu của một nhánh đều đóng lại, nhánh đó sẽ
được coi là đóng cửa.

Trả về 0 khi thành công.

Tùy chọn:

-NS, --lực lượng
đặt tên nhánh ngay cả khi nó che khuất nhánh hiện có

-NS, --dọn dẹp
đặt lại tên chi nhánh thành tên chi nhánh mẹ

chi nhánh
danh sách kho lưu trữ có tên nhánh:

nhánh hg [-c]

Liệt kê các nhánh được đặt tên của kho lưu trữ, cho biết những nhánh nào không hoạt động. Nếu -c/--đóng
được chỉ định, đồng thời liệt kê các nhánh đã được đánh dấu đóng cửa (xem hg cam kết
--đóng nhánh).

Sử dụng lệnh hg cập nhật để chuyển sang một chi nhánh hiện có.

Trả về 0.

Tùy chọn:

-một, --tích cực
chỉ hiển thị các nhánh có đầu chưa được hợp nhất (KHÔNG DÙNG)

-NS, - đóng cửa
hiển thị các nhánh bình thường và đóng

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

bó lại
tạo một tập tin nhóm thay đổi:

hg bó [-f] [-t LOẠI] [-a] [-r REV]... [--base REV]... FILE [DEST]

Tạo tệp nhóm thay đổi thu thập các bộ thay đổi để thêm vào kho lưu trữ.

Để tạo một gói chứa tất cả các tập hợp thay đổi, hãy sử dụng -a/--all (hoặc --base null). Ngược lại, hg
giả định đích sẽ có tất cả các nút bạn chỉ định với tham số --base.
Nếu không, hg sẽ cho rằng kho lưu trữ có tất cả các nút ở đích hoặc
đẩy mặc định/mặc định nếu không có đích đến được chỉ định.

Bạn có thể thay đổi định dạng gói bằng tùy chọn -t/--type. Bạn có thể chỉ định việc nén, một
phiên bản gói hoặc cả hai bằng cách sử dụng dấu gạch ngang (phiên bản comp). Các phương pháp nén có sẵn là:
none, bzip2 và gzip (theo mặc định, các gói được nén bằng bzip2). Có sẵn
định dạng là: v1, v2 (mặc định phù hợp nhất).

Sau đó, tệp bó có thể được chuyển bằng các phương tiện thông thường và áp dụng cho tệp khác
kho lưu trữ bằng lệnh giải nén hoặc kéo. Điều này rất hữu ích khi đẩy và kéo trực tiếp
không có sẵn hoặc khi xuất toàn bộ kho lưu trữ là điều không mong muốn.

Việc áp dụng các gói sẽ bảo toàn tất cả nội dung của bộ thay đổi bao gồm quyền, sao chép/đổi tên
thông tin và lịch sử sửa đổi.

Trả về 0 nếu thành công, 1 nếu không tìm thấy thay đổi nào.

Tùy chọn:

-NS, --lực lượng
chạy ngay cả khi đích đến không liên quan

-NS,--rev
một bộ thay đổi dự định sẽ được thêm vào đích

-NS,--chi nhánh
một nhánh cụ thể mà bạn muốn nhóm

--cơ sở
một bộ thay đổi cơ sở được cho là có sẵn ở đích

-một, --tất cả các
gói tất cả các bộ thay đổi trong kho lưu trữ

-NS,--kiểu
loại nén gói sẽ sử dụng (mặc định: bzip2)

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

làm sao
xuất bản sửa đổi hiện tại hoặc đã cho của tệp:

hg mèo [TÙY CHỌN]... TỆP...

In các tập tin được chỉ định như ở phiên bản đã cho. Nếu không có sửa đổi nào được đưa ra,
cha của thư mục làm việc được sử dụng.

Đầu ra có thể là một tệp, trong trường hợp đó tên của tệp được cung cấp bằng định dạng
sợi dây. Quy tắc định dạng như sau:

%%

ký tự "%" theo nghĩa đen

%s

tên cơ sở của tập tin đang được in

%d

dirname của tập tin đang được in, hoặc '.' nếu trong kho lưu trữ gốc

%p

tên đường dẫn gốc tương đối của tập tin đang được in

%H

hàm băm thay đổi (40 chữ số thập lục phân)

%R

số sửa đổi tập hợp thay đổi

%h

hàm băm thay đổi dạng ngắn (12 chữ số thập lục phân)

%r

số sửa đổi bộ thay đổi không đệm

%b

tên cơ sở của kho xuất khẩu

Trả về 0 khi thành công.

Tùy chọn:

-ồ,- đầu ra
in đầu ra ra tập tin với tên được định dạng

-NS,--rev
in bản sửa đổi đã cho

--giải mã
áp dụng bất kỳ bộ lọc giải mã phù hợp nào

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

nhân bản
tạo một bản sao của kho lưu trữ hiện có:

hg bản sao [TÙY CHỌN]... NGUỒN [DEST]

Tạo một bản sao của kho lưu trữ hiện có trong một thư mục mới.

Nếu không có tên thư mục đích nào được chỉ định, nó sẽ mặc định là tên cơ sở của nguồn.

Vị trí của nguồn được thêm vào kho lưu trữ mới .hg/hgrc tập tin, làm mặc định
để sử dụng cho các lần kéo sau này.

Chỉ có đường dẫn cục bộ và ssh: // URL được hỗ trợ làm đích đến. Vì ssh: // điểm đến,
không có thư mục làm việc hoặc .hg/hgrc sẽ được tạo ở phía xa.

Nếu kho lưu trữ nguồn có bộ dấu trang có tên '@', bản sửa đổi đó sẽ được kiểm tra
trong kho lưu trữ mới theo mặc định.

Để kiểm tra một phiên bản cụ thể, hãy sử dụng -u/--update hoặc -U/--noupdate để tạo bản sao
không có thư mục làm việc.

Để chỉ lấy một tập hợp con các tập hợp thay đổi, hãy chỉ định một hoặc nhiều mã định danh sửa đổi bằng
-r/--rev hoặc các nhánh có -b/--branch. Bản sao kết quả sẽ chỉ chứa những gì được chỉ định
các tập thay đổi và tổ tiên của chúng. Các tùy chọn này (hoặc 'clone src#rev dest') ngụ ý --pull, thậm chí
cho các kho nguồn cục bộ.

Lưu ý Việc chỉ định một thẻ sẽ bao gồm tập thay đổi được gắn thẻ nhưng không bao gồm tập thay đổi có chứa
tag.

Để đạt hiệu quả, các liên kết cứng được sử dụng để sao chép bất cứ khi nào nguồn và đích được bật
cùng một hệ thống tập tin (lưu ý điều này chỉ áp dụng cho dữ liệu kho lưu trữ, không áp dụng cho hệ thống đang hoạt động).
danh mục). Một số hệ thống tập tin, chẳng hạn như AFS, triển khai liên kết cứng không chính xác, nhưng không
báo cáo lỗi. Trong những trường hợp này, hãy sử dụng tùy chọn --pull để tránh liên kết cứng.

Trong một số trường hợp, bạn có thể sao chép các kho lưu trữ và thư mục làm việc bằng cách sử dụng các liên kết cứng đầy đủ
với

$ cp -al REPO REPOCLONE

Đây là cách nhân bản nhanh nhất nhưng không phải lúc nào cũng an toàn. Hoạt động không phải là nguyên tử
(đảm bảo REPO không bị sửa đổi trong quá trình thao tác là tùy thuộc vào bạn) và bạn phải thực hiện
đảm bảo trình soạn thảo của bạn phá vỡ các liên kết cứng (Emacs và hầu hết các công cụ hạt nhân Linux đều làm như vậy). Ngoài ra, đây là
không tương thích với một số tiện ích mở rộng nhất định đặt siêu dữ liệu của chúng trong thư mục .hg,
chẳng hạn như mq.

Mercurial sẽ cập nhật thư mục làm việc lên bản sửa đổi áp dụng đầu tiên từ bản này
danh sách:

Một. null nếu -U hoặc kho lưu trữ nguồn không có tập hợp thay đổi

b. nếu bạn . và kho lưu trữ nguồn là cục bộ, cha mẹ đầu tiên của kho lưu trữ nguồn
thư mục làm việc

c. tập thay đổi được chỉ định bằng -u (nếu là tên nhánh, điều này có nghĩa là phần đầu mới nhất của nhánh đó
chi nhánh)

d. bộ thay đổi được chỉ định bằng -r

đ. đầu cao nhất được chỉ định bằng -b

f. phần đầu cao nhất được chỉ định bằng cú pháp nguồn url#branch

g. bản sửa đổi được đánh dấu bằng dấu '@', nếu có

h. phần đầu cao nhất của nhánh mặc định

Tôi. mẹo

Khi nhân bản từ các máy chủ hỗ trợ nó, Mercurial có thể lấy dữ liệu được tạo trước từ một
URL do máy chủ quảng cáo. Khi điều này được thực hiện, các hook hoạt động trên các tập thay đổi đến và
các nhóm thay đổi có thể kích hoạt hai lần, một lần cho gói được tìm nạp từ URL và một lần cho bất kỳ gói nào
dữ liệu bổ sung không được tìm nạp từ URL này. Ngoài ra, nếu xảy ra lỗi, kho lưu trữ
có thể được khôi phục lại thành một bản sao một phần. Hành vi này có thể thay đổi trong phiên bản tương lai. Nhìn thấy hg
giúp đỡ -e gói nhân bản để biết thêm.

Ví dụ:

· sao chép một kho lưu trữ từ xa vào một thư mục mới có tên hg/:

bản sao hg http://selenic.com/hg

· tạo một bản sao cục bộ nhẹ:

hg dự án nhân bản/dự án-feature/

· sao chép từ một đường dẫn tuyệt đối trên máy chủ ssh (lưu ý dấu gạch chéo kép):

hg bản sao ssh://user@server//home/projects/alpha/

· thực hiện sao chép tốc độ cao qua mạng LAN trong khi kiểm tra phiên bản được chỉ định:

bản sao hg --không nén http://server/repo -u 1.5

· tạo một kho lưu trữ không có các tập hợp thay đổi sau một lần sửa đổi cụ thể:

hg clone -r 04e544 thử nghiệm/ tốt/

· sao chép (và theo dõi) một nhánh có tên cụ thể:

bản sao hg http://selenic.com/hg#ổn định

Xem hg giúp đỡ url để biết chi tiết về cách chỉ định URL.

Trả về 0 khi thành công.

Tùy chọn:

-Anh, --không có cập nhật
bản sao sẽ bao gồm một thư mục làm việc trống (chỉ một kho lưu trữ)

-bạn,--updaterev
sửa đổi, gắn thẻ hoặc chi nhánh để kiểm tra

-NS,--rev
bao gồm các thay đổi được chỉ định

-NS,--chi nhánh
chỉ sao chép nhánh được chỉ định

--sự lôi kéo sử dụng giao thức kéo để sao chép siêu dữ liệu

- không nén
sử dụng truyền không nén (nhanh qua mạng LAN)

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

cam kết
cam kết các tệp được chỉ định hoặc tất cả các thay đổi còn tồn tại:

hg cam kết [TÙY CHỌN]... [TẬP TIN]...

Cam kết thay đổi các tệp đã cho vào kho lưu trữ. Không giống như SCM tập trung, điều này
hoạt động là một hoạt động địa phương. Nhìn thấy hg đẩy để có cách phân phối tích cực các thay đổi của bạn.

Nếu danh sách các tập tin bị bỏ qua, tất cả các thay đổi được báo cáo bởi hg tình trạng sẽ được cam kết.

Nếu bạn đang cam kết kết quả của việc hợp nhất, đừng cung cấp bất kỳ tên tệp hoặc -I/-X nào
bộ lọc.

Nếu không có thông báo cam kết nào được chỉ định, Mercurial sẽ khởi động trình chỉnh sửa được định cấu hình của bạn ở nơi bạn có thể
nhập một tin nhắn. Trong trường hợp cam kết của bạn không thành công, bạn sẽ tìm thấy bản sao lưu tin nhắn của mình trong
.hg/last-message.txt.

Cờ --close-branch có thể được sử dụng để đánh dấu đầu nhánh hiện tại đã đóng. Khi tất cả những cái đầu
của một chi nhánh bị đóng cửa thì chi nhánh đó coi như đóng cửa và không còn niêm yết nữa.

Cờ --amend có thể được sử dụng để sửa đổi thư mục mẹ của thư mục làm việc bằng một thư mục mới
cam kết có chứa những thay đổi trong cha mẹ ngoài những thay đổi hiện được báo cáo bởi
hg tình trạng, nếu có cái nào. Cam kết cũ được lưu trữ trong gói sao lưu ở
.hg/strip-backup (xem hg giúp đỡ bó lạihg giúp đỡ tách ra về cách khôi phục nó).

Tin nhắn, người dùng và ngày được lấy từ cam kết đã sửa đổi trừ khi được chỉ định. Khi một tin nhắn
không được chỉ định trên dòng lệnh, trình soạn thảo sẽ mở ra với thông báo về sửa đổi
cam kết.

Không thể sửa đổi các tập thay đổi công khai (xem hg giúp đỡ giai đoạn) hoặc các tập thay đổi có
trẻ em.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Trả về 0 nếu thành công, 1 nếu không có gì thay đổi.

Ví dụ:

· cam kết tất cả các file có đuôi .py:

hg cam kết --include "set:**.py"

· cam kết tất cả các tập tin không nhị phân:

hg cam kết --exclude "set:binary()"

· sửa đổi cam kết hiện tại và đặt ngày thành hiện tại:

hg cam kết --amend --date ngay bây giờ

Tùy chọn:

-MỘT, --thêm bớt
đánh dấu các tập tin mới/thiếu là đã thêm/xóa trước khi cam kết

--đóng nhánh
đánh dấu đầu chi nhánh là đã đóng cửa

--sửa đổi
sửa đổi cha mẹ của thư mục làm việc

-S, --bí mật
sử dụng giai đoạn bí mật để cam kết

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-tôi, - tương tác
sử dụng chế độ tương tác

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: ci

cấu hình
hiển thị cài đặt cấu hình kết hợp từ tất cả các tệp hgrc:

hg cấu hình [-u] [TÊN]...

Không có đối số, in tên và giá trị của tất cả các mục cấu hình.

Với một đối số của biểu mẫu part.name, chỉ in giá trị của mục cấu hình đó.

Với nhiều đối số, in tên và giá trị của tất cả các mục cấu hình có phần khớp
tên.

Với --edit, hãy khởi động trình chỉnh sửa trên tệp cấu hình cấp người dùng. Với --global, chỉnh sửa
tập tin cấu hình toàn hệ thống. Với --local, chỉnh sửa tệp cấu hình cấp kho lưu trữ.

Với --debug, nguồn (tên tệp và số dòng) được in cho từng mục cấu hình.

Xem hg giúp đỡ cấu hình để biết thêm thông tin về tập tin cấu hình.

Trả về 0 nếu thành công, 1 nếu NAME không tồn tại.

Tùy chọn:

-bạn, --không đáng tin cậy
hiển thị các tùy chọn cấu hình không đáng tin cậy

-e, --chỉnh sửa
chỉnh sửa cấu hình người dùng

-l, --địa phương
chỉnh sửa cấu hình kho lưu trữ

-NS, --toàn cầu
chỉnh sửa cấu hình chung

bí danh: showconfig debugconfig

bản sao
đánh dấu các tập tin là đã sao chép cho lần xác nhận tiếp theo:

hg sao chép [TÙY CHỌN]... [NGUỒN]... DEST

Đánh dấu đích là có bản sao của tệp nguồn. Nếu đích là một thư mục, các bản sao sẽ được đặt trong đó
danh mục. Nếu đích là một tập tin thì nguồn phải là một tập tin duy nhất.

Theo mặc định, lệnh này sao chép nội dung của các tập tin khi chúng tồn tại trong môi trường làm việc.
danh mục. Nếu được gọi với -A/--after, thao tác sẽ được ghi lại nhưng không có sự sao chép nào được thực hiện
đã thực hiện.

Lệnh này có hiệu lực với lần xác nhận tiếp theo. Để hoàn tác một bản sao trước đó, hãy xem hg trở lại.

Trả về 0 nếu thành công, 1 nếu gặp lỗi.

Tùy chọn:

-MỘT, --sau
ghi lại một bản sao đã xảy ra

-NS, --lực lượng
buộc sao chép lên một tệp được quản lý hiện có

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: cp

khác
kho lưu trữ khác biệt (hoặc các tệp đã chọn):

hg diff [TÙY CHỌN]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...

Hiển thị sự khác biệt giữa các phiên bản cho các tệp được chỉ định.

Sự khác biệt giữa các tệp được hiển thị bằng định dạng khác biệt thống nhất.

Chú thích hg khác có thể tạo ra kết quả không mong muốn cho việc hợp nhất, vì nó sẽ mặc định so sánh
chống lại tập thay đổi cha đầu tiên của thư mục làm việc nếu không có bản sửa đổi nào
được chỉ định.

Khi hai đối số sửa đổi được đưa ra, thì những thay đổi sẽ được hiển thị giữa các sửa đổi đó. Nếu như
chỉ có một bản sửa đổi được chỉ định sau đó bản sửa đổi đó được so sánh với thư mục làm việc,
và khi không có bản sửa đổi nào được chỉ định, các tệp thư mục làm việc sẽ được so sánh với
cha mẹ đầu tiên.

Ngoài ra, bạn có thể chỉ định -c/--change với bản sửa đổi để xem những thay đổi trong đó
tập hợp thay đổi liên quan đến cha mẹ đầu tiên của nó.

Nếu không có tùy chọn -a/--text, diff sẽ tránh tạo ra các khác biệt của tệp mà nó phát hiện là
nhị phân. Với -a, diff dù sao cũng sẽ tạo ra một khác biệt, có thể dẫn đến kết quả không mong muốn.

Sử dụng tùy chọn -g/--git để tạo khác biệt ở định dạng khác biệt mở rộng git. Để biết thêm
thông tin, đọc hg giúp đỡ khác biệt.

Ví dụ:

· so sánh một tập tin trong thư mục làm việc hiện tại với tập tin mẹ của nó:

hg khác foo.c

· so sánh hai phiên bản lịch sử của một thư mục với thông tin đổi tên:

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

· lấy số liệu thống kê thay đổi liên quan đến thay đổi cuối cùng vào một ngày nào đó:

hg diff --stat -r "ngày ('ngày 2 tháng XNUMX')"

· khác biệt tất cả các tệp mới được thêm vào có chứa từ khóa:

hg diff "set:add() và grep(GNU)"

· so sánh một bản sửa đổi và cha mẹ của nó:

hg diff -c 9353 # so sánh với cha mẹ đầu tiên
hg diff -r 9353^:9353 # tương tự sử dụng cú pháp revset
hg diff -r 9353^2:9353 # so sánh với cha mẹ thứ hai

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
sửa đổi

-NS,--thay đổi
thay đổi được thực hiện bởi sửa đổi

-một, --bản văn
coi tất cả các tệp là văn bản

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

--gật đầu
bỏ qua ngày từ các tiêu đề khác

- tiền tố
bỏ tiền tố a/ và b/ khỏi tên tệp

-P, --show-chức năng
hiển thị chức năng của mỗi thay đổi

--đảo ngược
tạo ra một khác biệt hoàn tác các thay đổi

-w, --bỏ qua tất cả không gian
bỏ qua khoảng trắng khi so sánh các dòng

-NS, --ignore-không gian-thay đổi
bỏ qua những thay đổi về lượng khoảng trắng

-NS, --bỏ qua-dòng trống
bỏ qua các thay đổi có các dòng đều trống

-Anh,--thống nhât
số dòng ngữ cảnh để hiển thị

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

--nguồn gốc
tạo ra sự khác biệt so với thư mục con

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

xuất khẩu
kết xuất tiêu đề và khác biệt cho một hoặc nhiều bộ thay đổi:

hg xuất [TÙY CHỌN]... [-o OUTFILESPEC] [-r] [REV]...

In tiêu đề bộ thay đổi và các khác biệt cho một hoặc nhiều bản sửa đổi. Nếu không có sửa đổi nào được đưa ra,
thư mục mẹ của thư mục làm việc được sử dụng.

Thông tin hiển thị trong tiêu đề bộ thay đổi là: tác giả, ngày tháng, tên chi nhánh (nếu
không mặc định), hàm băm thay đổi, (các) cha mẹ và nhận xét cam kết.

Chú thích hg xuất khẩu có thể tạo ra đầu ra khác biệt không mong muốn cho các tập hợp thay đổi hợp nhất, vì nó sẽ
chỉ so sánh tập thay đổi hợp nhất với cha mẹ đầu tiên của nó.

Đầu ra có thể là một tệp, trong trường hợp đó tên của tệp được cung cấp bằng định dạng
sợi dây. Các quy tắc định dạng như sau:

%%

ký tự "%" theo nghĩa đen

%H

hàm băm thay đổi (40 chữ số thập lục phân)

%N

số lượng bản vá được tạo

%R

số sửa đổi tập hợp thay đổi

%b

tên cơ sở của kho xuất khẩu

%h

hàm băm thay đổi dạng ngắn (12 chữ số thập lục phân)

%m

dòng đầu tiên của thông báo cam kết (chỉ ký tự chữ và số)

%n

số thứ tự không đệm, bắt đầu từ 1

%r

số sửa đổi bộ thay đổi không đệm

Nếu không có tùy chọn -a/--text, việc xuất sẽ tránh tạo ra các khác biệt của tệp mà nó phát hiện là
nhị phân. Với -a, dù sao thì việc xuất cũng sẽ tạo ra sự khác biệt, có thể dẫn đến kết quả không mong muốn.

Sử dụng tùy chọn -g/--git để tạo khác biệt ở định dạng khác biệt mở rộng git. Nhìn thấy hg giúp đỡ
khác biệt để biết thêm thông tin chi tiết.

Với tùy chọn --switch-parent, sự khác biệt sẽ chống lại cha mẹ thứ hai. Nó có thể
hữu ích để xem xét việc hợp nhất.

Ví dụ:

· sử dụng xuất và nhập để ghép một bản sửa lỗi vào nhánh hiện tại:

hg xuất -r 9353 | hg nhập khẩu -

· xuất tất cả các tập thay đổi giữa hai phiên bản vào một tập tin có thông tin đổi tên:

hg xuất --git -r 123:150 > Changes.txt

· Chia các thay đổi gửi đi thành một loạt các bản vá có tên mô tả:

hg xuất -r "đi()" -o "%n-%m.patch"

Trả về 0 khi thành công.

Tùy chọn:

-ồ,- đầu ra
in đầu ra ra tập tin với tên được định dạng

--switch-parent
khác với cha mẹ thứ hai

-NS,--rev
sửa đổi để xuất khẩu

-một, --bản văn
coi tất cả các tệp là văn bản

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

--gật đầu
bỏ qua ngày từ các tiêu đề khác

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

các tập tin
liệt kê các tập tin được theo dõi:

hg [TÙY CHỌN]... [MẪU]...

In các tập tin dưới sự kiểm soát của Mercurial trong thư mục làm việc hoặc bản sửa đổi được chỉ định có
tên khớp với các mẫu đã cho (không bao gồm các tệp đã bị xóa).

Nếu không có mẫu nào phù hợp, lệnh này sẽ in tên của tất cả các tệp trong
Kiểm soát thủy ngân trong thư mục làm việc.

Ví dụ:

· liệt kê tất cả các tập tin trong thư mục hiện hành:

các tập tin hg.

· hiển thị kích thước và cờ cho phiên bản hiện tại:

tập tin hg -vr .

· liệt kê tất cả các file có tên README:

hg -I "**/README"

· liệt kê tất cả các tập tin nhị phân:

hg tập tin "set:binary()"

· tìm các tập tin chứa biểu thức chính quy:

hg tập tin "set:grep('bob')"

· tìm kiếm nội dung file được theo dõi bằng xargs và grep:

tập tin hg -0 | xargs -0 grep foo

Xem hg giúp đỡ mô hìnhhg giúp đỡ tập tin để biết thêm thông tin về việc chỉ định tập tin
hoa văn.

Trả về 0 nếu tìm thấy kết quả khớp, nếu không thì trả về 1.

Tùy chọn:

-NS,--rev
tìm kiếm kho lưu trữ như trong REV

-0, --print0
kết thúc tên tệp bằng NUL, để sử dụng với xargs

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

quên
quên các tệp được chỉ định trong lần xác nhận tiếp theo:

hg quên [TÙY CHỌN]... TỆP...

Đánh dấu các tệp đã chỉ định để chúng không còn bị theo dõi sau lần xác nhận tiếp theo.

Điều này chỉ xóa các tệp khỏi nhánh hiện tại chứ không xóa khỏi toàn bộ lịch sử dự án và
nó không xóa chúng khỏi thư mục làm việc.

Để xóa tập tin khỏi thư mục làm việc, hãy xem hg tẩy.

Để hoàn tác việc quên trước lần xác nhận tiếp theo, hãy xem hg thêm vào.

Ví dụ:

· quên các tập tin nhị phân mới được thêm vào:

hg quên "set: Added() và nhị phân()"

· quên các tập tin sẽ bị loại trừ bởi .hgignore:

hg quên "set:hgignore()"

Trả về 0 khi thành công.

Tùy chọn:

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

ghép
sao chép các thay đổi từ các nhánh khác vào nhánh hiện tại:

hg ghép [TÙY CHỌN]... [-r REV]... REV...

Lệnh này sử dụng logic hợp nhất của Mercurial để sao chép các thay đổi riêng lẻ từ các nhánh khác
không hợp nhất các nhánh trong biểu đồ lịch sử. Điều này đôi khi được gọi là 'backporting' hoặc
'hái anh đào'. Theo mặc định, ghép sẽ sao chép người dùng, ngày tháng và mô tả từ nguồn
bộ thay đổi.

Các tập thay đổi là tổ tiên của bản sửa đổi hiện tại, đã được ghép hoặc
đó là sự hợp nhất sẽ bị bỏ qua.

Nếu --log được chỉ định, thông điệp tường trình sẽ có nhận xét được thêm vào dưới dạng:

(ghép từ CHANGESETHASH)

Nếu --force được chỉ định, các bản sửa đổi sẽ được ghép ngay cả khi chúng đã là tổ tiên của
hoặc đã được ghép vào đích. Điều này rất hữu ích khi các bản sửa đổi kể từ đó
đã được lùi lại.

Nếu việc hợp nhất mảnh ghép dẫn đến xung đột, quá trình ghép sẽ bị gián đoạn để
việc hợp nhất hiện tại có thể được giải quyết theo cách thủ công. Một khi mọi xung đột đã được giải quyết, kẻ ghép
quá trình có thể được tiếp tục với tùy chọn -c/--continue.

Lưu ý Tùy chọn -c/--continue không áp dụng lại các tùy chọn trước đó, ngoại trừ --force.

Ví dụ:

· sao chép một thay đổi duy nhất vào nhánh ổn định và chỉnh sửa mô tả của nó:

hg cập nhật ổn định
hg ghép --sửa 9393

· ghép một loạt các bộ thay đổi với một ngoại lệ, cập nhật ngày tháng:

hg ghép -D "2085::2093 chứ không phải 2091"

· tiếp tục ghép sau khi giải quyết xung đột:

hg ghép -c

· hiển thị nguồn của một bộ thay đổi được ghép:

hg log --debug -r .

· hiển thị các bản sửa đổi được sắp xếp theo ngày:

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

Xem hg giúp đỡ Sửa đổihg giúp đỡ sửa đổi để biết thêm về việc chỉ định các bản sửa đổi.

Trả về 0 khi hoàn thành thành công.

Tùy chọn:

-NS,--rev
sửa đổi để ghép

-NS, --tiếp tục
tiếp tục ghép bị gián đoạn

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

--log nối thêm thông tin ghép vào tin nhắn tường trình

-NS, --lực lượng
ép buộc

-NS, --ngay hiện tại
ghi ngày hiện tại làm ngày cam kết

-Anh, --người dùng hiện tại
ghi lại người dùng hiện tại là người cam kết

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-NS,--dụng cụ
chỉ định công cụ hợp nhất

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

grep
tìm kiếm mẫu trong các tệp và bản sửa đổi được chỉ định:

hg grep [TÙY CHỌN]... MẪU [TẬP TIN]...

Tìm kiếm các bản sửa đổi của tập tin cho một biểu thức chính quy.

Lệnh này hoạt động khác với Unix grep. Nó chỉ chấp nhận các biểu thức chính quy Python/Perl. Nó
tìm kiếm lịch sử kho lưu trữ, không phải thư mục làm việc. Nó luôn in bản sửa đổi
số trong đó một kết quả khớp xuất hiện.

Theo mặc định, grep chỉ in đầu ra cho bản sửa đổi đầu tiên của tệp mà nó tìm thấy
cuộc thi đấu. Để in mọi bản sửa đổi có thay đổi về trạng thái khớp ("-" cho
kết quả khớp trở thành không khớp hoặc "+" cho kết quả không khớp trở thành khớp), hãy sử dụng
--tất cả cờ.

Trả về 0 nếu tìm thấy kết quả khớp, nếu không thì trả về 1.

Tùy chọn:

-0, --print0
trường kết thúc bằng NUL

--tất cả các in tất cả các bản sửa đổi phù hợp

-một, --bản văn
coi tất cả các tệp là văn bản

-NS, --theo dõi
theo dõi lịch sử thay đổi hoặc lịch sử tệp trên các bản sao và đổi tên

-tôi, --bỏ qua trường hợp
bỏ qua trường hợp khi khớp

-l, --files-with-match
chỉ in tên tập tin và bản sửa đổi phù hợp

-N, --số dòng
in số dòng phù hợp

-NS,--rev
chỉ tìm kiếm các tập tin được thay đổi trong phạm vi sửa đổi

-bạn, --người sử dụng
liệt kê tác giả (dài với -v)

-NS, --ngày
liệt kê ngày (ngắn với -q)

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

đứng đầu
hiển thị các trưởng chi nhánh:

hg đầu [-ct] [-r STARTREV] [REV]...

Không có đối số, hiển thị tất cả các đầu nhánh mở trong kho lưu trữ. Trưởng chi nhánh là
các tập thay đổi không có con cháu trên cùng một nhánh. Họ là nơi phát triển
thường diễn ra và là mục tiêu thông thường cho các hoạt động cập nhật và hợp nhất.

Nếu có một hoặc nhiều REV, chỉ mở các đầu nhánh trên các nhánh liên kết với
các tập hợp thay đổi được chỉ định sẽ được hiển thị. Điều này có nghĩa là bạn có thể sử dụng hg đứng đầu . để xem những cái đầu trên
chi nhánh hiện đã thanh toán.

Nếu -c/--closed được chỉ định, cũng hiển thị các đầu nhánh được đánh dấu đã đóng (xem hg cam kết
--đóng nhánh).

Nếu STARTREV được chỉ định, chỉ những người đứng đầu là hậu duệ của STARTREV mới được
hiển thị.

Nếu -t/--topo được chỉ định, cơ chế nhánh được đặt tên sẽ bị bỏ qua và chỉ có cấu trúc liên kết
đầu (bộ thay đổi không có con) sẽ được hiển thị.

Trả về 0 nếu tìm thấy đầu phù hợp, 1 nếu không.

Tùy chọn:

-NS,--rev
chỉ hiển thị những người đứng đầu là hậu duệ của STARTREV

-NS, --topo
chỉ hiển thị các đầu topo

-một, --tích cực
chỉ hiển thị các đầu nhánh đang hoạt động (KHÔNG DÙNG)

-NS, - đóng cửa
hiển thị các đầu nhánh bình thường và đóng

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

giúp đỡ
hiển thị trợ giúp cho một chủ đề nhất định hoặc tổng quan về trợ giúp:

hg giúp đỡ [-ecks] [CHỦ ĐỀ]

Không có đối số, hãy in danh sách các lệnh với các thông báo trợ giúp ngắn.

Đưa ra một chủ đề, phần mở rộng hoặc tên lệnh, hãy in trợ giúp cho chủ đề đó.

Trả về 0 nếu thành công.

Tùy chọn:

-e, --gia hạn
chỉ hiển thị trợ giúp cho tiện ích mở rộng

-NS, --chỉ huy
chỉ hiển thị trợ giúp cho các lệnh

-k, --từ khóa
hiển thị chủ đề phù hợp với từ khóa

-S,--hệ thống
hiển thị trợ giúp cho (các) nền tảng cụ thể

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

xác định
xác định thư mục làm việc hoặc bản sửa đổi được chỉ định:

hg xác định [-nibtB] [-r REV] [NGUỒN]

In bản tóm tắt xác định trạng thái kho lưu trữ tại REV bằng cách sử dụng một hoặc hai hàm băm cha
các mã định danh, theo sau là dấu "+" nếu thư mục làm việc có các thay đổi không được cam kết, thì
tên chi nhánh (nếu không phải mặc định), danh sách thẻ và danh sách dấu trang.

Khi không cung cấp REV, hãy in bản tóm tắt về trạng thái hiện tại của kho lưu trữ.

Chỉ định đường dẫn đến thư mục gốc của kho lưu trữ hoặc gói Mercurial sẽ khiến việc tra cứu hoạt động trên
kho lưu trữ/gói đó.

Ví dụ:

· tạo mã định danh bản dựng cho thư mục làm việc:

hg id --id > build-id.dat

· tìm bản sửa đổi tương ứng với thẻ:

hg id -n -r 1.3

· kiểm tra phiên bản mới nhất của kho lưu trữ từ xa:

hg id -r mẹo http://selenic.com/hg/

Xem hg đăng nhập để tạo thêm thông tin về các phiên bản cụ thể, bao gồm cả hàm băm đầy đủ
định danh.

Trả về 0 nếu thành công.

Tùy chọn:

-NS,--rev
xác định bản sửa đổi được chỉ định

-N, --num
hiển thị số sửa đổi cục bộ

-tôi, --Tôi
hiển thị id sửa đổi toàn cầu

-NS, --chi nhánh
hiển thị chi nhánh

-NS, --tags
hiển thị thẻ

-NS, - dấu trang
hiển thị dấu trang

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

bí danh: id

nhập khẩu
nhập một bộ bản vá theo thứ tự:

hg nhập [TÙY CHỌN]... VÁ...

Nhập danh sách các bản vá và cam kết chúng riêng lẻ (trừ khi --no-commit được chỉ định).

Để đọc bản vá từ đầu vào tiêu chuẩn, hãy sử dụng "-" làm tên bản vá. Nếu một URL được chỉ định,
bản vá sẽ được tải xuống từ đó.

Trước tiên, nhập sẽ áp dụng các thay đổi cho thư mục làm việc (trừ khi --bypass được chỉ định),
quá trình nhập sẽ hủy nếu có những thay đổi chưa được thực hiện.

Sử dụng --bypass để áp dụng và chuyển các bản vá trực tiếp vào kho lưu trữ mà không ảnh hưởng đến
thư mục làm việc. Nếu không có --exact, các bản vá sẽ được áp dụng lên trên phần đang hoạt động
thư mục sửa đổi cha mẹ.

Bạn có thể nhập bản vá trực tiếp từ thư. Ngay cả các bản vá dưới dạng tệp đính kèm cũng hoạt động (để
sử dụng phần thân thì phải có kiểu text/plain hoặc text/x-patch). Tiêu đề Từ và Chủ đề
của thông báo email được sử dụng làm thông báo cam kết và thông báo cam kết mặc định. Tất cả văn bản/nội dung đơn giản
các phần trước khác biệt đầu tiên được thêm vào thông báo cam kết.

Nếu bản vá đã nhập được tạo bởi hg xuất khẩu, người dùng và mô tả từ ghi đè bản vá
các giá trị từ tiêu đề và nội dung thư. Các giá trị được đưa ra trên dòng lệnh với -m/--message và
-u/--người dùng ghi đè lên những điều này.

Nếu --exact được chỉ định, quá trình nhập sẽ đặt thư mục làm việc thành thư mục gốc của mỗi bản vá
trước khi áp dụng nó và sẽ hủy bỏ nếu tập thay đổi kết quả có ID khác với ID
một cái được ghi lại trong bản vá. Điều này có thể xảy ra do vấn đề về bộ ký tự hoặc nguyên nhân khác
thiếu sót trong định dạng bản vá văn bản.

Sử dụng --partial để đảm bảo một bộ thay đổi sẽ được tạo từ bản vá ngay cả khi một số phần không thành công
để áp dụng. Những người không nộp đơn sẽ được ghi vào một tập tin .rej. Xung đột
sau đó có thể được giải quyết bằng tay trước hg cam kết --sửa đổi được chạy để cập nhật đã tạo
thay đổi. Cờ này tồn tại để cho phép mọi người nhập các bản vá áp dụng một phần mà không cần
mất siêu dữ liệu liên quan (tác giả, ngày tháng, mô tả, ...).

Lưu ý Khi không có khối nào được áp dụng sạch sẽ, hg nhập khẩu - một phần sẽ tạo một bộ thay đổi trống,
chỉ nhập siêu dữ liệu bản vá.

Với -s/--similarity, hg sẽ cố gắng khám phá các tên đổi tên và bản sao trong bản vá trong
giống như cách hg thêm bớt.

Có thể sử dụng các chương trình vá lỗi bên ngoài để thực hiện vá lỗi bằng cách cài đặt ui.patch
tùy chọn cấu hình. Đối với công cụ nội bộ mặc định, fuzz cũng có thể được cấu hình thông qua
bản vá.fuzz. Thấy hg giúp đỡ cấu hình để biết thêm thông tin về các tập tin cấu hình và cách
sử dụng các tùy chọn này.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Ví dụ:

· nhập bản vá truyền thống từ một trang web và phát hiện các lần đổi tên:

hg nhập -s 80 http://example.com/bugfix.patch

· nhập một bộ thay đổi từ máy chủ hgweb:

hg nhập khẩu http://www.selenic.com/hg/rev/5ca8c111e9aa

· nhập tất cả các bản vá vào mbox kiểu Unix:

hg import-patches.mbox

· cố gắng khôi phục chính xác một bộ thay đổi đã xuất (không phải lúc nào cũng có thể):

nhập hg --chính xác được đề xuất-fix.patch

· sử dụng một công cụ bên ngoài để áp dụng một bản vá quá mờ so với công cụ bên trong mặc định.

hg nhập --config ui.patch="patch --merge" mờ.patch

· thay đổi độ mờ mặc định từ 2 thành ít nghiêm ngặt hơn 7

nhập hg --config ui.fuzz=7 fuzz.patch

Trả về 0 nếu thành công, 1 nếu thành công một phần (xem --partial).

Tùy chọn:

-P,--dải
tùy chọn dải thư mục cho bản vá. Điều này có ý nghĩa tương tự như tương ứng
tùy chọn bản vá (mặc định: 1)

-NS,--cơ sở
đường dẫn cơ sở (KHÔNG DÙNG)

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS, --lực lượng
bỏ qua việc kiểm tra các thay đổi chưa được cam kết (KHÔNG DÙNG)

- không cam kết
không cam kết, chỉ cần cập nhật thư mục làm việc

--đường vòng
áp dụng bản vá mà không cần chạm vào thư mục làm việc

- một phần
cam kết ngay cả khi một số người thất bại

--chính xác
áp dụng bản vá cho các nút mà nó được tạo ra

--tiếp đầu ngữ
áp dụng bản vá cho thư mục con

--nhánh nhập khẩu
sử dụng bất kỳ thông tin chi nhánh nào trong bản vá (ngụ ý bởi --exact)

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-S,--tương tự
đoán các tập tin được đổi tên theo độ giống nhau (0<=s<=100)

bí danh: bản vá

đến
hiển thị các thay đổi mới được tìm thấy trong nguồn:

hg đang đến [-p] [-n] [-M] [-f] [-r REV]... [--bundle TÊN TỆP] [NGUỒN]

Hiển thị các tập hợp thay đổi mới được tìm thấy trong đường dẫn/URL đã chỉ định hoặc vị trí kéo mặc định. Những cái này
là các tập hợp thay đổi sẽ được kéo nếu kéo vào thời điểm bạn ban hành lệnh này
chỉ huy.

Xem phần kéo để biết chi tiết về định dạng nguồn hợp lệ.

Với -B/--bookmarks, kết quả so sánh dấu trang giữa cục bộ và từ xa
kho lưu trữ được hiển thị. Với -v/--verbose, trạng thái cũng được hiển thị cho mỗi dấu trang
như dưới đây:

BM1 01234567890a đã thêm
BM2 1234567890ab nâng cao
BM3 234567890abc đã chuyển hướng
BM4 34567890abcd đã thay đổi

Hành động được thực hiện cục bộ khi kéo tùy thuộc vào trạng thái của từng dấu trang:

thêm

kéo sẽ tạo ra nó

tiên tiến

kéo sẽ cập nhật nó

phân kỳ

kéo sẽ tạo ra một dấu trang khác nhau

thay đổi

kết quả phụ thuộc vào các thay đổi từ xa

Từ quan điểm của hành vi kéo, dấu trang chỉ tồn tại trong điều khiển từ xa
kho lưu trữ được coi là thêm, ngay cả khi trên thực tế nó đã bị xóa cục bộ.

Đối với kho lưu trữ từ xa, việc sử dụng --bundle sẽ tránh tải xuống các bộ thay đổi hai lần nếu
đến được theo sau bởi một lực kéo.

Ví dụ:

· hiển thị những thay đổi sắp tới với các bản vá và mô tả đầy đủ:

hg đến -vp

· hiển thị các thay đổi sắp tới ngoại trừ việc hợp nhất, lưu trữ một gói:

hg trong -vpM --bundle đến.hg
hg kéo đến.hg

· liệt kê ngắn gọn những thay đổi bên trong một gói:

hg trong Changes.hg -T "{desc|firstline}\n"

Trả về 0 nếu có thay đổi sắp tới, nếu không thì trả về 1.

Tùy chọn:

-NS, --lực lượng
chạy ngay cả khi kho lưu trữ từ xa không liên quan

-N, --mới nhất-đầu tiên
hiển thị bản ghi mới nhất đầu tiên

--bó
tập tin để lưu trữ các gói vào

-NS,--rev
một bộ thay đổi từ xa dự định được thêm vào

-NS, - dấu trang
so sánh dấu trang

-NS,--chi nhánh
một nhánh cụ thể mà bạn muốn kéo

-P, --vá
hiển thị bản vá

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-l,--giới hạn
giới hạn số lượng thay đổi được hiển thị

-NS, - không hợp nhất
không hiển thị sự hợp nhất

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

-NS, - đồ thị
hiển thị DAG sửa đổi

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: trong

trong đó
tạo một kho lưu trữ mới trong thư mục đã cho:

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

Khởi tạo một kho lưu trữ mới trong thư mục đã cho. Nếu thư mục đã cho không tồn tại,
nó sẽ được tạo ra.

Nếu không có thư mục nào được đưa ra, thư mục hiện tại sẽ được sử dụng.

Có thể chỉ định một ssh: // URL làm đích đến. Nhìn thấy hg giúp đỡ url để biết thêm
thông tin.

Trả về 0 khi thành công.

Tùy chọn:

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

xác định vị trí
định vị các tệp phù hợp với các mẫu cụ thể (KHÔNG DÙNG):

hg định vị [TÙY CHỌN]... [MẪU]...

In các tập tin dưới sự kiểm soát Mercurial trong thư mục làm việc có tên khớp với tên đã cho
hoa văn.

Theo mặc định, lệnh này tìm kiếm tất cả các thư mục trong thư mục làm việc. Để tìm kiếm chỉ
thư mục hiện tại và các thư mục con của nó, hãy sử dụng "--include .".

Nếu không có mẫu nào phù hợp, lệnh này sẽ in tên của tất cả các tệp trong
Kiểm soát thủy ngân trong thư mục làm việc.

Nếu bạn muốn đưa đầu ra của lệnh này vào lệnh "xargs", hãy sử dụng tùy chọn -0
cho cả lệnh này và "xargs". Điều này sẽ tránh được vấn đề "xargs" xử lý đơn lẻ
tên tệp chứa khoảng trắng dưới dạng nhiều tên tệp.

Xem hg giúp đỡ các tập tin để có một lệnh linh hoạt hơn.

Trả về 0 nếu tìm thấy kết quả khớp, nếu không thì trả về 1.

Tùy chọn:

-NS,--rev
tìm kiếm kho lưu trữ như trong REV

-0, --print0
kết thúc tên tệp bằng NUL, để sử dụng với xargs

-NS, --đường dẫn đầy đủ
in đường dẫn đầy đủ từ thư mục gốc của hệ thống tập tin

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

đăng nhập
hiển thị lịch sử sửa đổi của toàn bộ kho lưu trữ hoặc tệp:

nhật ký hg [TÙY CHỌN]... [TẬP TIN]

In lịch sử sửa đổi của các tệp được chỉ định hoặc toàn bộ dự án.

Nếu không có phạm vi sửa đổi nào được chỉ định, mặc định là tiền boa: 0 trừ khi --follow được đặt, trong đó
trường hợp thư mục mẹ làm việc được sử dụng làm bản sửa đổi bắt đầu.

Lịch sử tập tin được hiển thị mà không theo sau việc đổi tên hoặc sao chép lịch sử của tập tin. Sử dụng -f/--theo dõi
với tên tệp để theo dõi lịch sử qua các lần đổi tên và sao chép. --theo dõi mà không có tên tệp
sẽ chỉ hiển thị tổ tiên hoặc hậu duệ của bản sửa đổi bắt đầu.

Theo mặc định, lệnh này in số sửa đổi và id bộ thay đổi, thẻ, không tầm thường
cha mẹ, người dùng, ngày giờ và bản tóm tắt cho mỗi cam kết. Khi chuyển đổi -v/--verbose
được sử dụng, danh sách các tập tin đã thay đổi và thông báo cam kết đầy đủ sẽ được hiển thị.

Với --graph, các bản sửa đổi được hiển thị dưới dạng DAG nghệ thuật ASCII với bộ thay đổi gần đây nhất tại
đỉnh. 'o' là một tập hợp thay đổi, '@' là thư mục mẹ làm việc, 'x' đã lỗi thời và '+'
đại diện cho một nhánh trong đó tập hợp thay đổi từ các dòng bên dưới là cha mẹ của hợp nhất 'o' trên
cùng một dòng.

Chú thích hg đăng nhập --vá có thể tạo ra đầu ra khác biệt không mong muốn cho các tập hợp thay đổi hợp nhất, vì nó sẽ
chỉ so sánh tập thay đổi hợp nhất với cha mẹ đầu tiên của nó. Ngoài ra, chỉ có các tập tin
khác với CẢ HAI cha mẹ sẽ xuất hiện trong các tệp:.

Lưu ý Vì lý do hiệu suất, hg đăng nhập FILE có thể bỏ qua những thay đổi trùng lặp được thực hiện trên các nhánh
và sẽ không hiển thị các thao tác xóa hoặc thay đổi chế độ. Để xem tất cả những thay đổi như vậy, hãy sử dụng
--đã tháo công tắc.

Vài ví dụ:

· bộ thay đổi với mô tả đầy đủ và danh sách tập tin:

hg log -v

· các tập hợp thay đổi gốc của thư mục làm việc:

hg log -f

· 10 lần commit cuối cùng trên nhánh hiện tại:

hg log -l 10 -b .

· các tập thay đổi hiển thị tất cả các sửa đổi của một tập tin, bao gồm cả việc loại bỏ:

hg log --removed file.c

· tất cả các tập hợp thay đổi liên quan đến một thư mục, có các khác biệt, không bao gồm các phần hợp nhất:

hg log -Mp lib/

· tất cả các số sửa đổi phù hợp với một từ khóa:

hg log -k bug --template "{rev}\n"

· mã định danh băm đầy đủ của thư mục mẹ làm việc:

hg log -r . --mẫu "{node}\n"

· Liệt kê các mẫu nhật ký có sẵn:

hg log -T danh sách

· kiểm tra xem một tập thay đổi đã cho có được đưa vào bản phát hành được gắn thẻ hay không:

hg log -r "a21ccf và tổ tiên (1.9)"

· tìm tất cả các thay đổi của một số người dùng trong một phạm vi ngày:

hg log -k alice -d "tháng 2008 năm 2008 đến tháng XNUMX năm XNUMX"

· tóm tắt tất cả các thay đổi sau thẻ cuối cùng:

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

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Xem hg giúp đỡ Sửa đổihg giúp đỡ sửa đổi để biết thêm về việc chỉ định và đặt hàng
các bản sửa đổi.

Xem hg giúp đỡ mẫu để biết thêm về các kiểu đóng gói sẵn và chỉ định các mẫu tùy chỉnh.

Trả về 0 khi thành công.

Tùy chọn:

-NS, --theo dõi
theo dõi lịch sử thay đổi hoặc lịch sử tệp trên các bản sao và đổi tên

--theo dõi trước
chỉ theo dõi cha mẹ đầu tiên của các tập hợp thay đổi hợp nhất (KHÔNG DÙNG NỮA)

-NS,--ngày
hiển thị các bản sửa đổi phù hợp với thông số ngày

-NS, --bản sao
hiển thị các tập tin được sao chép

-k,--từ khóa
thực hiện tìm kiếm không phân biệt chữ hoa chữ thường cho một văn bản nhất định

-NS,--rev
hiển thị bản sửa đổi hoặc bản sửa đổi được chỉ định

--LOẠI BỎ
bao gồm các bản sửa đổi nơi các tập tin đã bị xóa

-NS, --chỉ hợp nhất
chỉ hiển thị các phần hợp nhất (KHÔNG DÙNG)

-bạn,--người sử dụng
sửa đổi được cam kết bởi người dùng

--chỉ nhánh
chỉ hiển thị các tập hợp thay đổi trong nhánh được đặt tên (KHÔNG DÙNG)

-NS,--chi nhánh
hiển thị các thay đổi trong nhánh được đặt tên

-P,--cắt tỉa
không hiển thị bản sửa đổi hoặc bất kỳ tổ tiên nào của nó

-P, --vá
hiển thị bản vá

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-l,--giới hạn
giới hạn số lượng thay đổi được hiển thị

-NS, - không hợp nhất
không hiển thị sự hợp nhất

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

-NS, - đồ thị
hiển thị DAG sửa đổi

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: lịch sử

biểu hiện
xuất bản sửa đổi hiện tại hoặc đã cho của bảng kê khai dự án:

hg bảng kê khai [-r REV]

In danh sách các tệp được kiểm soát phiên bản cho bản sửa đổi nhất định. Nếu không có sửa đổi nào được đưa ra,
cha đầu tiên của thư mục làm việc được sử dụng hoặc bản sửa đổi null nếu không có bản sửa đổi nào
đã kiểm tra.

Với -v, quyền in tệp, liên kết tượng trưng và bit thực thi. Với --debug, in tập tin
băm sửa đổi.

Nếu tùy chọn --all được chỉ định, danh sách tất cả các tệp từ tất cả các phiên bản sẽ được in. Cái này
bao gồm các tập tin bị xóa và đổi tên.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
sửa đổi để hiển thị

--tất cả các liệt kê các tập tin từ tất cả các phiên bản

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

hợp nhất
hợp nhất một bản sửa đổi khác vào thư mục làm việc:

hg hợp nhất [-P] [[-r] REV]

Thư mục làm việc hiện tại được cập nhật với tất cả các thay đổi được thực hiện trong bản sửa đổi được yêu cầu
kể từ lần sửa đổi chung cuối cùng trước đó.

Các tệp đã thay đổi giữa một trong hai tệp gốc được đánh dấu là đã thay đổi cho lần xác nhận tiếp theo và một tệp
cam kết phải được thực hiện trước khi cho phép bất kỳ cập nhật nào khác vào kho lưu trữ. Các
cam kết tiếp theo sẽ có hai cha mẹ.

--dụng cụ có thể được sử dụng để chỉ định công cụ hợp nhất được sử dụng để hợp nhất tệp. Nó ghi đè
Biến môi trường HGMERGE và các tệp cấu hình của bạn. Nhìn thấy hg giúp đỡ công cụ hợp nhất cho
tùy chọn.

Nếu không có bản sửa đổi nào được chỉ định, thư mục mẹ của thư mục làm việc là bản sửa đổi chính và
nhánh hiện tại chứa chính xác một phần đầu khác, phần đầu kia được hợp nhất với theo mặc định.
Mặt khác, phải cung cấp một bản sửa đổi rõ ràng để hợp nhất.

Xem hg giúp đỡ giải quyết để biết thông tin về cách xử lý xung đột tập tin.

Để hoàn tác việc hợp nhất không được cam kết, hãy sử dụng hg cập nhật --dọn dẹp . sẽ kiểm tra một bản sao sạch của
cha mẹ hợp nhất ban đầu, mất tất cả các thay đổi.

Trả về 0 nếu thành công, 1 nếu có tệp chưa được giải quyết.

Tùy chọn:

-NS, --lực lượng
buộc hợp nhất bao gồm các thay đổi nổi bật (KHÔNG DÙNG NỮA)

-NS,--rev
sửa đổi để hợp nhất

-P, --xem trước
xem xét các sửa đổi để hợp nhất (không thực hiện hợp nhất)

-NS,--dụng cụ
chỉ định công cụ hợp nhất

đi
hiển thị các thay đổi không tìm thấy ở đích:

hg gửi đi [-M] [-p] [-n] [-f] [-r REV]... [DEST]

Hiển thị các tập hợp thay đổi không được tìm thấy trong kho lưu trữ đích được chỉ định hoặc phần đẩy mặc định
vị trí. Đây là những tập hợp thay đổi sẽ được đẩy nếu yêu cầu đẩy.

Xem phần kéo để biết chi tiết về các định dạng đích hợp lệ.

Với -B/--bookmarks, kết quả so sánh dấu trang giữa cục bộ và từ xa
kho lưu trữ được hiển thị. Với -v/--verbose, trạng thái cũng được hiển thị cho mỗi dấu trang
như dưới đây:

BM1 01234567890a đã thêm
BM2 đã xóa
BM3 234567890abc nâng cao
BM4 34567890abcd chuyển hướng
BM5 4567890abcde đã thay đổi

Hành động được thực hiện khi đẩy tùy thuộc vào trạng thái của từng dấu trang:

thêm

đẩy bằng -B sẽ tạo ra nó

xóa

đẩy bằng -B sẽ xóa nó

tiên tiến

Đẩy sẽ cập nhật nó

phân kỳ

đẩy bằng -B sẽ cập nhật nó

thay đổi

đẩy bằng -B sẽ cập nhật nó

Từ quan điểm của hành vi đẩy, dấu trang chỉ tồn tại trong điều khiển từ xa
kho lưu trữ được coi là xóa, ngay cả khi trên thực tế nó được thêm từ xa.

Trả về 0 nếu có thay đổi gửi đi, nếu không thì trả về 1.

Tùy chọn:

-NS, --lực lượng
chạy ngay cả khi đích đến không liên quan

-NS,--rev
một tập hợp thay đổi dự định được đưa vào đích

-N, --mới nhất-đầu tiên
hiển thị bản ghi mới nhất đầu tiên

-NS, - dấu trang
so sánh dấu trang

-NS,--chi nhánh
một nhánh cụ thể mà bạn muốn đẩy

-P, --vá
hiển thị bản vá

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-l,--giới hạn
giới hạn số lượng thay đổi được hiển thị

-NS, - không hợp nhất
không hiển thị sự hợp nhất

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

-NS, - đồ thị
hiển thị DAG sửa đổi

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: ngoài

cha mẹ
hiển thị cha mẹ của thư mục làm việc hoặc bản sửa đổi (KHÔNG DÙNG):

hg cha mẹ [-r REV] [FILE]

In các bản sửa đổi gốc của thư mục làm việc. Nếu bản sửa đổi được đưa ra thông qua -r/--rev,
cha mẹ của bản sửa đổi đó sẽ được in. Nếu một đối số tệp được đưa ra, bản sửa đổi trong
tập tin nào được thay đổi lần cuối (trước khi sửa đổi thư mục làm việc hoặc đối số cho
--rev nếu được) được in.

Lệnh này tương đương với:

hg log -r "p1()+p2()" hoặc
hg log -r "p1(REV)+p2(REV)" hoặc
hg log -r "max(::p1() and file(FILE))+max(::p2() and file(FILE))" hoặc
hg log -r "max(::p1(REV) và file(FILE))+max(::p2(REV) and file(FILE))"

Xem hg tóm tắthg giúp đỡ sửa đổi để biết thông tin liên quan.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
hiển thị cho cha mẹ của bản sửa đổi được chỉ định

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

đường dẫn
hiển thị bí danh cho kho lưu trữ từ xa:

đường dẫn hg [TÊN]

Hiển thị định nghĩa về tên đường dẫn tượng trưng NAME. Nếu không có tên nào được đưa ra, hãy hiển thị định nghĩa của tất cả
những cái tên có sẵn.

Tùy chọn -q/--quiet chặn tất cả đầu ra khi tìm kiếm TÊN và chỉ hiển thị đường dẫn
tên khi liệt kê tất cả các định nghĩa.

Tên đường dẫn được xác định trong phần [paths] của tệp cấu hình của bạn và trong
/etc/mercurial/hgrc. Nếu chạy bên trong kho lưu trữ, .hg/hgrc cũng được sử dụng.

Tên đường dẫn mặc địnhđẩy mặc định có một ý nghĩa đặc biệt. Khi thực hiện thao tác đẩy hoặc
thao tác kéo, chúng được sử dụng làm phương án dự phòng nếu không có vị trí nào được chỉ định trên
dòng lệnh. Khi đẩy mặc định được thiết lập, nó sẽ được sử dụng để đẩy và mặc định sẽ được sử dụng
để kéo; nếu không thì mặc định được sử dụng làm dự phòng cho cả hai. Khi nhân bản một kho lưu trữ,
nguồn nhân bản được viết là mặc định in .hg/hgrc.

Chú thích mặc địnhđẩy mặc định áp dụng cho tất cả các hàng gửi đến (ví dụ hg đến) và đi
(ví dụ hg đi, hg e-mailhg bó lại) hoạt động.

Xem hg giúp đỡ url để biết thêm thông tin chi tiết.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

giai đoạn
đặt hoặc hiển thị tên giai đoạn hiện tại:

pha hg [-p|-d|-s] [-f] [-r] [REV...]

Không có đối số, hiển thị tên giai đoạn của (các) bản sửa đổi hiện tại.

Với một trong các -p/--public, -d/--draft hoặc -s/--secret, hãy thay đổi giá trị pha của
những sửa đổi được chỉ định.

Trừ khi -f/--force được chỉ định, hg giai đoạn sẽ không chuyển tập hợp thay đổi từ giai đoạn thấp hơn sang giai đoạn khác
pha cao hơn. Các giai đoạn được sắp xếp như sau:

công khai < dự thảo < bí mật

Trả về 0 nếu thành công, 1 nếu không thể thay đổi một số giai đoạn.

(Để biết thêm thông tin về khái niệm giai đoạn, xem hg giúp đỡ giai đoạn.)

Tùy chọn:

-P, --công cộng
đặt giai đoạn thay đổi thành công khai

-NS, --bản thảo
đặt giai đoạn thay đổi thành bản nháp

-S, --bí mật
đặt giai đoạn thay đổi thành bí mật

-NS, --lực lượng
cho phép di chuyển ranh giới về phía sau

-NS,--rev
sửa đổi mục tiêu

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

kéo
kéo các thay đổi từ nguồn được chỉ định:

hg kéo [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [NGUỒN]

Kéo các thay đổi từ kho lưu trữ từ xa sang kho lưu trữ cục bộ.

Điều này tìm thấy tất cả các thay đổi từ kho lưu trữ tại đường dẫn hoặc URL đã chỉ định và thêm chúng vào một
kho lưu trữ cục bộ (kho lưu trữ hiện tại trừ khi -R được chỉ định). Theo mặc định, điều này không
cập nhật bản sao của dự án trong thư mục làm việc.

Sử dụng hg đến nếu bạn muốn xem những gì sẽ được thêm vào bằng cách kéo vào thời điểm bạn
đã ban hành lệnh này. Sau đó, nếu bạn quyết định thêm những thay đổi đó vào kho lưu trữ, bạn nên
sử dụng hg kéo -r X Ở đâu X là tập hợp thay đổi cuối cùng được liệt kê bởi hg đến.

Nếu SOURCE bị bỏ qua, đường dẫn 'mặc định' sẽ được sử dụng. Nhìn thấy hg giúp đỡ url để biết thêm
thông tin.

Trả về 0 nếu thành công, 1 nếu bản cập nhật có tệp chưa được giải quyết.

Tùy chọn:

-bạn, - cập nhật
cập nhật lên trưởng chi nhánh mới nếu các thay đổi được kéo

-NS, --lực lượng
chạy ngay cả khi kho lưu trữ từ xa không liên quan

-NS,--rev
một bộ thay đổi từ xa dự định được thêm vào

-NS,- bookmark
đánh dấu để kéo

-NS,--chi nhánh
một nhánh cụ thể mà bạn muốn kéo

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

đẩy
Đẩy các thay đổi đến đích đã chỉ định:

hg đẩy [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]

Đẩy các thay đổi từ kho lưu trữ cục bộ đến đích đã chỉ định.

Thao tác này mang tính chất đối xứng với thao tác kéo: nó giống hệt với thao tác kéo ở đích
kho lưu trữ từ kho lưu trữ hiện tại.

Theo mặc định, tính năng đẩy sẽ không cho phép tạo đầu mới tại đích, vì nhiều
đầu sẽ làm cho việc sử dụng đầu nào không rõ ràng. Trong tình huống này, nên
kéo và hợp nhất trước khi đẩy.

Sử dụng --new-branch nếu bạn muốn cho phép Push tạo một nhánh có tên mới không phải là
có mặt tại điểm đến. Điều này cho phép bạn chỉ tạo một nhánh mới mà không bắt buộc
những thay đổi khác.

Lưu ý Cần hết sức cẩn thận với tùy chọn -f/--force, tùy chọn này sẽ đẩy tất cả các
đứng đầu trên tất cả các nhánh, một hành động gần như luôn gây nhầm lẫn cho
cộng tác viên.

Nếu -r/--rev được sử dụng, bản sửa đổi đã chỉ định và tất cả bản sửa đổi gốc của nó sẽ được đẩy tới
kho lưu trữ từ xa.

Nếu -B/--bookmark được sử dụng, bản sửa đổi được đánh dấu đã chỉ định, tổ tiên của nó và
dấu trang sẽ được đẩy đến kho lưu trữ từ xa.

Xin vui lòng xem hg giúp đỡ url để biết chi tiết quan trọng về ssh: // URL. Nếu DESTINATION là
bị bỏ qua, đường dẫn mặc định sẽ được sử dụng.

Trả về 0 nếu đẩy thành công, 1 nếu không có gì để đẩy.

Tùy chọn:

-NS, --lực lượng
lực đẩy

-NS,--rev
một tập hợp thay đổi dự định được đưa vào đích

-NS,- bookmark
đánh dấu để đẩy

-NS,--chi nhánh
một nhánh cụ thể mà bạn muốn đẩy

--chi nhánh mới
cho phép đẩy một nhánh mới

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

lấy lại
khôi phục một giao dịch bị gián đoạn:

hg phục hồi

Khôi phục từ một cam kết hoặc kéo bị gián đoạn.

Lệnh này cố gắng khắc phục trạng thái kho lưu trữ sau một hoạt động bị gián đoạn. Nó nên
chỉ cần thiết khi Mercurial gợi ý.

Trả về 0 nếu thành công, 1 nếu không có gì để khôi phục hoặc xác minh không thành công.

tẩy
xóa các tệp được chỉ định trong lần xác nhận tiếp theo:

hg xóa [TÙY CHỌN]... TỆP...

Lên lịch xóa các tệp được chỉ định khỏi nhánh hiện tại.

Lệnh này lên lịch các tập tin sẽ bị xóa ở lần xác nhận tiếp theo. Để hoàn tác việc xóa
trước đó hãy xem hg trở lại. Để hoàn tác các tệp đã thêm, hãy xem hg quên.

-A/--after chỉ có thể được sử dụng để xóa các tệp đã bị xóa, -f/--force có thể
được sử dụng để buộc xóa và -Af có thể được sử dụng để xóa các tệp khỏi bản sửa đổi tiếp theo
mà không xóa chúng khỏi thư mục làm việc.

Bảng sau trình bày chi tiết hành vi xóa đối với các trạng thái tệp (cột) khác nhau và
kết hợp tùy chọn (hàng). Các trạng thái của tệp là Đã thêm [A], Làm sạch [C], Đã sửa đổi [M] và
Thiếu [!] (theo báo cáo của hg tình trạng). Các hành động là Cảnh báo, Xóa (khỏi nhánh) và
Xóa (khỏi đĩa):

┌──────────┬───┬────┬────┬───┐
│opt/trạng thái │ A │ C │ M │ ! │
├──────────┼───┼────┼────┼───┤
│không │ W │ RD │ W │ R │
├──────────┼───┼────┼────┼───┤
│-f │ R │ RD │ RD │ R │
├──────────┼───┼────┼────┼───┤
│-A │ W │ W │ W │ R │
├──────────┼───┼────┼────┼───┤
│-Af │ R │ R │ R │ R │
└──────────┴───┴────┴────┴───┘

Chú thích hg tẩy không bao giờ xóa các tập tin ở trạng thái [A] đã thêm khỏi thư mục làm việc, không
ngay cả khi --lực lượng được quy định.

Trả về 0 nếu thành công, 1 nếu gặp bất kỳ cảnh báo nào.

Tùy chọn:

-MỘT, --sau
xóa bản ghi cho các tập tin bị thiếu

-NS, --lực lượng
xóa (và xóa) tập tin ngay cả khi được thêm hoặc sửa đổi

-NS, --subrepos
tái diễn vào kho con

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: rm

đổi tên
đổi tên tập tin; tương đương với bản sao + xóa:

hg đổi tên [TÙY CHỌN]... NGUỒN... DEST

Đánh dấu đích là bản sao của nguồn; đánh dấu nguồn để xóa. Nếu đích là một thư mục, hãy sao chép
được đặt trong thư mục đó. Nếu đích là một tập tin thì chỉ có thể có một nguồn.

Theo mặc định, lệnh này sao chép nội dung của các tập tin khi chúng tồn tại trong môi trường làm việc.
danh mục. Nếu được gọi với -A/--after, thao tác sẽ được ghi lại nhưng không có sự sao chép nào được thực hiện
đã thực hiện.

Lệnh này có hiệu lực ở lần xác nhận tiếp theo. Để hoàn tác việc đổi tên trước đó, hãy xem hg trở lại.

Trả về 0 nếu thành công, 1 nếu gặp lỗi.

Tùy chọn:

-MỘT, --sau
ghi lại việc đổi tên đã xảy ra

-NS, --lực lượng
buộc sao chép lên một tệp được quản lý hiện có

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: di chuyển mv

giải quyết
làm lại việc hợp nhất hoặc đặt/xem trạng thái hợp nhất của các tệp:

hg giải quyết [TÙY CHỌN]... [TẬP TIN]...

Việc hợp nhất với các xung đột chưa được giải quyết thường là kết quả của việc hợp nhất không tương tác bằng cách sử dụng
nội bộ: hợp nhất cài đặt cấu hình hoặc công cụ hợp nhất dòng lệnh như khác biệt3. Quyết tâm
lệnh được sử dụng để quản lý các tập tin liên quan đến việc hợp nhất, sau khi hg hợp nhất đã được chạy và
trước hg cam kết được chạy (tức là thư mục làm việc phải có hai thư mục cha). Nhìn thấy hg giúp đỡ
công cụ hợp nhất để biết thông tin về cách định cấu hình các công cụ hợp nhất.

Lệnh giải quyết có thể được sử dụng theo những cách sau:

· hg giải quyết [--dụng cụ DỤNG CỤ] TẬP TIN...: cố gắng hợp nhất lại các tệp đã chỉ định, loại bỏ
mọi nỗ lực hợp nhất trước đó. Việc hợp nhất lại không được thực hiện đối với các tệp đã được đánh dấu là
đã giải quyết. Sử dụng --tất cả/-a để chọn tất cả các tập tin chưa được giải quyết. --dụng cụ có thể được sử dụng để chỉ định
công cụ hợp nhất được sử dụng cho các tập tin nhất định. Nó ghi đè biến môi trường HGMERGE và
tập tin cấu hình của bạn. Nội dung tập tin trước đó được lưu với một .orig hậu tố.

· hg giải quyết -m [TẬP TIN]: đánh dấu một tập tin là đã được giải quyết (ví dụ sau khi đã xử lý thủ công
đã sửa các tập tin). Mặc định là đánh dấu tất cả các tập tin chưa được giải quyết.

· hg giải quyết -u [TẬP TIN]...: đánh dấu một tập tin là chưa được giải quyết. Mặc định là đánh dấu tất cả đã được giải quyết
các tập tin.

· hg giải quyết -l: liệt kê các tập tin đã hoặc vẫn còn xung đột. Trong danh sách in ra, U =
chưa được giải quyết và R = đã giải quyết.

Lưu ý Mercurial sẽ không cho phép bạn cam kết các tệp có xung đột hợp nhất chưa được giải quyết. Bạn phải
sử dụng hg giải quyết -m hữu ích. Cảm ơn ! trước khi bạn có thể cam kết sau khi hợp nhất xung đột.

Trả về 0 nếu thành công, 1 nếu bất kỳ tệp nào không thể giải quyết được.

Tùy chọn:

-một, --tất cả các
chọn tất cả các tập tin chưa được giải quyết

-l, --danh sách
liệt kê trạng thái các tập tin cần hợp nhất

-NS, --dấu
đánh dấu tập tin là đã giải quyết

-bạn, --bỏ đánh dấu
đánh dấu tập tin là chưa được giải quyết

-N, --không có trạng thái
ẩn tiền tố trạng thái

-NS,--dụng cụ
chỉ định công cụ hợp nhất

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

trở lại
khôi phục tập tin về trạng thái thanh toán:

hg hoàn nguyên [TÙY CHỌN]... [-r REV] [TÊN]...

Lưu ý Để kiểm tra các phiên bản trước đó, bạn nên sử dụng hg cập nhật REV. Để hủy một
hợp nhất không được cam kết (và mất các thay đổi của bạn), hãy sử dụng hg cập nhật --dọn dẹp ..

Không có bản sửa đổi nào được chỉ định, hãy hoàn nguyên các tệp hoặc thư mục đã chỉ định về nội dung chúng
có trong thư mục mẹ của thư mục làm việc. Điều này khôi phục nội dung của tập tin vào một
trạng thái chưa sửa đổi và hủy lịch thêm, xóa, sao chép và đổi tên. Nếu làm việc
thư mục có hai thư mục gốc, bạn phải chỉ định rõ ràng bản sửa đổi.

Sử dụng các tùy chọn -r/--rev hoặc -d/--date, hoàn nguyên các tập tin hoặc thư mục đã cho về trạng thái ban đầu của chúng.
nêu trong một bản sửa đổi cụ thể. Bởi vì hoàn nguyên không thay đổi thư mục làm việc
cha mẹ, điều này sẽ làm cho các tập tin này có vẻ như đã bị sửa đổi. Điều này có thể hữu ích để "rút lui"
một số hoặc tất cả những thay đổi trước đó. Nhìn thấy hg hậu thuẫn cho một phương pháp liên quan.

Các tệp đã sửa đổi được lưu với hậu tố .orig trước khi hoàn nguyên. Để vô hiệu hóa các bản sao lưu này,
sử dụng --no-backup.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Xem hg giúp đỡ hậu thuẫn để biết cách đảo ngược tác dụng của bộ thay đổi trước đó.

Trả về 0 khi thành công.

Tùy chọn:

-một, --tất cả các
hoàn nguyên tất cả các thay đổi khi không có đối số nào được đưa ra

-NS,--ngày
ngày khớp sửa đổi cao nhất

-NS,--rev
trở lại bản sửa đổi đã chỉ định

-NS, --không sao lưu
không lưu bản sao lưu của tập tin

-tôi, - tương tác
tương tác chọn các thay đổi (THỬ NGHIỆM)

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

rollback
khôi phục giao dịch cuối cùng (NGUY HIỂM) (KHÔNG DÙNG):

khôi phục hg

Vui lòng sử dụng hg cam kết --sửa đổi thay vì quay lại để sửa lỗi trong lần chuyển giao cuối cùng.

Lệnh này nên được sử dụng cẩn thận. Chỉ có một mức khôi phục và có
không có cách nào để hoàn tác một rollback. Nó cũng sẽ khôi phục trạng thái dirstate vào thời điểm cuối cùng
giao dịch, mất mọi thay đổi trực tiếp kể từ thời điểm đó. Lệnh này không làm thay đổi
thư mục làm việc.

Các giao dịch được sử dụng để gói gọn tác dụng của tất cả các lệnh tạo mới
các tập thay đổi hoặc truyền các tập thay đổi hiện có vào kho lưu trữ.

Ví dụ: các lệnh sau là giao dịch và hiệu ứng của chúng có thể được thực hiện
trở lại:

· làm

· nhập khẩu

· sự lôi kéo

· Đẩy (với kho lưu trữ này là đích)

· tách nhóm

Để tránh mất dữ liệu vĩnh viễn, khôi phục sẽ từ chối khôi phục giao dịch cam kết nếu nó
không được kiểm tra. Sử dụng --force để ghi đè sự bảo vệ này.

Lệnh này không nhằm mục đích sử dụng trên các kho lưu trữ công cộng. Khi các thay đổi được hiển thị cho
do người dùng khác kéo, việc khôi phục giao dịch trở lại cục bộ là không hiệu quả (người khác có thể
đã thực hiện các thay đổi). Hơn nữa, có thể có một cuộc chạy đua với độc giả của
kho; ví dụ: quá trình kéo đang diễn ra từ kho lưu trữ có thể không thành công nếu quá trình khôi phục được thực hiện
đã thực hiện.

Trả về 0 nếu thành công, 1 nếu không có dữ liệu khôi phục.

Tùy chọn:

-N, - chạy thử
không thực hiện hành động, chỉ in kết quả

-NS, --lực lượng
bỏ qua các biện pháp an toàn

nguồn gốc
in thư mục gốc (trên cùng) của thư mục làm việc hiện tại:

gốc hg

In thư mục gốc của kho lưu trữ hiện tại.

Trả về 0 khi thành công.

phục vụ
khởi động máy chủ web độc lập:

hg phục vụ [TÙY CHỌN]...

Khởi động trình duyệt kho lưu trữ HTTP cục bộ và kéo máy chủ. Bạn có thể sử dụng điều này để chia sẻ đặc biệt
và duyệt các kho lưu trữ. Nên sử dụng một máy chủ web thực sự để phục vụ
kho lưu trữ trong thời gian dài hơn.

Xin lưu ý rằng máy chủ không thực hiện kiểm soát truy cập. Điều này có nghĩa là, bằng
mặc định, bất kỳ ai cũng có thể đọc từ máy chủ và không ai có thể ghi vào máy chủ theo mặc định. Đặt
web.allow_push tùy chọn để * để cho phép mọi người đẩy tới máy chủ. Bạn nên sử dụng thực tế
máy chủ web nếu bạn cần xác thực người dùng.

Theo mặc định, máy chủ ghi lại các truy cập vào thiết bị xuất chuẩn và lỗi đối với thiết bị xuất chuẩn. Sử dụng
-A/--accesslog và -E/--errorlog tùy chọn để đăng nhập vào tập tin.

Để yêu cầu máy chủ chọn số cổng còn trống để nghe, hãy chỉ định số cổng là 0; TRONG
trường hợp này, máy chủ sẽ in số cổng mà nó sử dụng.

Trả về 0 khi thành công.

Tùy chọn:

-MỘT,--accesslog
tên của tệp nhật ký truy cập để ghi vào

-NS, --daemon
chạy máy chủ ở chế độ nền

--daemon-pipefds
được sử dụng nội bộ bởi chế độ daemon

-VÀ,--log lỗi
tên của tệp nhật ký lỗi cần ghi vào

-P,--Hải cảng
cổng để nghe (mặc định: 8000)

-một,--Địa chỉ
địa chỉ để nghe (mặc định: tất cả các giao diện)

--tiếp đầu ngữ
đường dẫn tiền tố để phục vụ từ (mặc định: root máy chủ)

-N,--Tên
tên để hiển thị trong các trang web (mặc định: thư mục làm việc)

--web-conf
tên của tệp cấu hình hgweb (xem "hg help hgweb")

--webdir-conf
tên của tệp cấu hình hgweb (KHÔNG DÙNG)

--pid-tệp
tên của tập tin để ghi ID tiến trình vào

--stdio
cho khách hàng ở xa

--cmdserver
cho khách hàng ở xa

-NS,--mẫu
mẫu web để sử dụng

--Phong cách
kiểu mẫu để sử dụng

-6, --ipv6
sử dụng IPv6 ngoài IPv4

--giấy chứng nhận
Tệp chứng chỉ SSL

tình trạng
hiển thị các tập tin đã thay đổi trong thư mục làm việc:

trạng thái hg [TÙY CHỌN]... [TẬP TIN]...

Hiển thị trạng thái của các tập tin trong kho lưu trữ. Nếu tên được đưa ra, chỉ những tập tin phù hợp mới được
cho xem. Các tập tin sạch hoặc bị bỏ qua hoặc nguồn của thao tác sao chép/di chuyển không được
được liệt kê trừ khi -c/--clean, -i/--ignored, -C/--copy hoặc -A/--tất cả đều được đưa ra. Trừ khi tùy chọn
được mô tả bằng "chỉ hiển thị ..." được đưa ra, các tùy chọn -mardu được sử dụng.

Tùy chọn -q/--quiet ẩn các tệp không bị theo dõi (không xác định và bị bỏ qua) trừ khi được yêu cầu rõ ràng
với -u/--không xác định hoặc -i/--bỏ qua.

Chú thích hg tình trạng có thể không đồng ý với khác biệt nếu các quyền đã thay đổi hoặc hợp nhất
đã xảy ra. Định dạng khác biệt tiêu chuẩn không báo cáo các thay đổi về quyền và khác biệt
chỉ báo cáo những thay đổi liên quan đến một phụ huynh hợp nhất.

Nếu một bản sửa đổi được đưa ra, nó sẽ được sử dụng làm bản sửa đổi cơ sở. Nếu hai lần sửa đổi được đưa ra,
sự khác biệt giữa chúng được hiển thị. Tùy chọn --change cũng có thể được sử dụng làm phím tắt
để liệt kê các tệp đã thay đổi của bản sửa đổi từ tệp gốc đầu tiên của nó.

Các mã được sử dụng để hiển thị trạng thái của tệp là:

M = đã sửa đổi
A = đã thêm
R = đã xóa
C = sạch sẽ
! = bị thiếu (bị xóa bằng lệnh không phải hg nhưng vẫn được theo dõi)
? = không được theo dõi
Tôi = bỏ qua
= nguồn gốc của tệp trước đó (có --copies)

Ví dụ:

· hiển thị các thay đổi trong thư mục làm việc liên quan đến một tập hợp thay đổi:

trạng thái hg --rev 9353

· hiển thị những thay đổi trong thư mục làm việc so với thư mục hiện tại (xem hg giúp đỡ
mô hình để biết thêm thông tin):

trạng thái hg lại:

· hiển thị tất cả các thay đổi bao gồm các bản sao trong bộ thay đổi hiện có:

trạng thái hg --bản sao --thay đổi 9353

· lấy danh sách các tệp được thêm được phân tách bằng NUL, phù hợp với xargs:

trạng thái hg -an0

Trả về 0 khi thành công.

Tùy chọn:

-MỘT, --tất cả các
hiển thị trạng thái của tất cả các tập tin

-NS, - đã sửa đổi
chỉ hiển thị các tập tin đã sửa đổi

-một, --thêm
chỉ hiển thị các tập tin được thêm vào

-NS, --LOẠI BỎ
chỉ hiển thị các tập tin bị xóa

-NS, - bị xóa
chỉ hiển thị các tập tin đã xóa (nhưng được theo dõi)

-NS, --dọn dẹp
chỉ hiển thị các tập tin mà không có thay đổi

-bạn, --không xác định
chỉ hiển thị các tập tin không xác định (không được theo dõi)

-tôi, --mặc kệ
chỉ hiển thị các tập tin bị bỏ qua

-N, --không có trạng thái
ẩn tiền tố trạng thái

-NS, --bản sao
hiển thị nguồn của tập tin được sao chép

-0, --print0
kết thúc tên tệp bằng NUL, để sử dụng với xargs

--rev
thể hiện sự khác biệt so với bản sửa đổi

--thay đổi
liệt kê các tập tin đã thay đổi của một bản sửa đổi

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS, --subrepos
tái diễn vào kho con

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: st

tóm tắt
tóm tắt trạng thái thư mục làm việc:

tóm tắt hg [--remote]

Điều này tạo ra một bản tóm tắt ngắn gọn về trạng thái thư mục làm việc, bao gồm cha mẹ, chi nhánh,
trạng thái cam kết, giai đoạn và các cập nhật có sẵn.

Với tùy chọn --remote, tùy chọn này sẽ kiểm tra các đường dẫn mặc định cho thư đến và thư đi
những thay đổi. Điều này có thể tốn thời gian.

Trả về 0 khi thành công.

Tùy chọn:

--Xa xôi
kiểm tra đẩy và kéo

bí danh: tổng

tag
thêm một hoặc nhiều thẻ cho bản sửa đổi hiện tại hoặc bản sửa đổi đã cho:

thẻ hg [-f] [-l] [-m TEXT] [-d NGÀY] [-u NGƯỜI DÙNG] [-r REV] TÊN...

Đặt tên cho một bản sửa đổi cụ thể bằng cách sử dụng .

Thẻ được sử dụng để đặt tên cho các phiên bản cụ thể của kho lưu trữ và rất hữu ích để
so sánh các phiên bản khác nhau, để quay lại các phiên bản quan trọng trước đó hoặc để đánh dấu nhánh
điểm dưới dạng bản phát hành, v.v. Việc thay đổi thẻ hiện có thường không được phép; sử dụng -f/--force
để ghi đè.

Nếu không có bản sửa đổi nào được đưa ra thì thư mục gốc của thư mục làm việc sẽ được sử dụng.

Để tạo điều kiện thuận lợi cho việc kiểm soát phiên bản, phân phối và hợp nhất các thẻ, chúng được lưu trữ dưới dạng
tệp có tên ".hgtags" được quản lý tương tự như các tệp dự án khác và có thể
chỉnh sửa bằng tay nếu cần thiết. Điều này cũng có nghĩa là việc gắn thẻ sẽ tạo ra một cam kết mới. Tập tin
".hg/localtags" được sử dụng cho các thẻ cục bộ (không được chia sẻ giữa các kho lưu trữ).

Cam kết thẻ thường được thực hiện ở đầu chi nhánh. Nếu cha mẹ của người đang làm việc
thư mục không phải là người đứng đầu chi nhánh, hg tag hủy bỏ; sử dụng -f/--force để buộc thẻ cam kết
được dựa trên một bộ thay đổi không có đầu.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Vì tên thẻ được ưu tiên hơn tên nhánh trong quá trình tra cứu sửa đổi, nên sử dụng tên hiện có
tên chi nhánh làm tên thẻ không được khuyến khích.

Trả về 0 khi thành công.

Tùy chọn:

-NS, --lực lượng
thẻ lực lượng

-l, --địa phương
đặt thẻ cục bộ

-NS,--rev
sửa đổi thẻ

--tẩy
xóa thẻ

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

thẻ
liệt kê các thẻ kho lưu trữ:

thẻ hg

Điều này liệt kê cả thẻ thông thường và thẻ cục bộ. Khi sử dụng công tắc -v/--verbose, nút thứ ba
cột "cục bộ" được in cho các thẻ cục bộ. Khi sử dụng công tắc -q/--quiet, chỉ
tên thẻ được in.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--bản mẫu
hiển thị với mẫu (THỬ NGHIỆM)

tip
hiển thị bản sửa đổi mẹo (KHÔNG DÙNG):

mẹo hg [-p] [-g]

Bản sửa đổi mẹo (thường chỉ được gọi là mẹo) là tập hợp thay đổi được thêm gần đây nhất vào
kho lưu trữ (và do đó là phần đầu được thay đổi gần đây nhất).

Nếu bạn vừa thực hiện một cam kết, cam kết đó sẽ là tiền boa. Nếu bạn vừa mới kéo
thay đổi từ kho lưu trữ khác, phần đầu của kho lưu trữ đó sẽ trở thành phần đầu hiện tại. Các
Thẻ "tip" là đặc biệt và không thể đổi tên hoặc gán cho một bộ thay đổi khác.

Lệnh này không được dùng nữa, vui lòng sử dụng hg đứng đầu thay thế.

Trả về 0 khi thành công.

Tùy chọn:

-P, --vá
hiển thị bản vá

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

tách ra
áp dụng một hoặc nhiều tệp nhóm thay đổi:

hg giải nén [-u] FILE...

Áp dụng một hoặc nhiều tệp nhóm thay đổi được nén được tạo bởi lệnh bó.

Trả về 0 nếu thành công, 1 nếu bản cập nhật có tệp chưa được giải quyết.

Tùy chọn:

-bạn, - cập nhật
cập nhật lên trưởng chi nhánh mới nếu các thay đổi được tách nhóm

cập nhật
cập nhật thư mục làm việc (hoặc chuyển đổi phiên bản):

hg cập nhật [-c] [-C] [-d NGÀY] [[-r] REV]

Cập nhật thư mục làm việc của kho lưu trữ vào tập hợp thay đổi đã chỉ định. Nếu không có tập thay đổi nào
được chỉ định, cập nhật lên đầu nhánh có tên hiện tại và di chuyển dấu trang đang hoạt động (xem
hg giúp đỡ bookmark).

Bản cập nhật đặt bản sửa đổi gốc của thư mục làm việc thành tập hợp thay đổi đã chỉ định (xem hg
giúp đỡ cha mẹ).

Nếu tập thay đổi không phải là hậu duệ hoặc tổ tiên của thư mục mẹ của thư mục làm việc, thì
cập nhật bị hủy bỏ. Với tùy chọn -c/--check, thư mục làm việc sẽ được kiểm tra
những thay đổi không được cam kết; nếu không tìm thấy, thư mục làm việc sẽ được cập nhật vào thư mục đã chỉ định
thay đổi.

Các quy tắc sau áp dụng khi thư mục làm việc chứa các thay đổi chưa được cam kết:

1. Nếu cả -c/--check và -C/--clean đều không được chỉ định và nếu tập thay đổi được yêu cầu là một
tổ tiên hoặc hậu duệ của thư mục mẹ của thư mục làm việc, những thay đổi không được cam kết là
đã hợp nhất vào tập hợp thay đổi được yêu cầu và kết quả đã hợp nhất không được cam kết. Nếu
tập thay đổi được yêu cầu không phải là tổ tiên hoặc hậu duệ (nghĩa là nó nằm trên một tập hợp khác
nhánh), bản cập nhật bị hủy bỏ và những thay đổi không được cam kết sẽ được giữ nguyên.

2. Với tùy chọn -c/--check, bản cập nhật bị hủy bỏ và những thay đổi chưa được cam kết sẽ bị hủy bỏ.
bảo quản.

3. Với tùy chọn -C/--clean, những thay đổi không được cam kết sẽ bị loại bỏ và thư mục làm việc
được cập nhật vào tập thay đổi được yêu cầu.

Để hủy việc hợp nhất không được cam kết (và mất các thay đổi của bạn), hãy sử dụng hg cập nhật --dọn dẹp ..

Sử dụng null làm bộ thay đổi để xóa thư mục làm việc (như hg nhân bản -U).

Nếu bạn muốn hoàn nguyên chỉ một tệp về bản sửa đổi cũ hơn, hãy sử dụng hg trở lại [-NS REV] TÊN.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Trả về 0 nếu thành công, 1 nếu có tệp chưa được giải quyết.

Tùy chọn:

-NS, --dọn dẹp
loại bỏ những thay đổi không được cam kết (không có bản sao lưu)

-NS, --đánh dấu
cập nhật trên các chi nhánh nếu không có thay đổi nào được cam kết

-NS,--ngày
ngày khớp sửa đổi cao nhất

-NS,--rev
sửa đổi

-NS,--dụng cụ
chỉ định công cụ hợp nhất

bí danh: up thanh toán đồng

xác minh
xác minh tính toàn vẹn của kho lưu trữ:

hg xác minh

Xác minh tính toàn vẹn của kho lưu trữ hiện tại.

Điều này sẽ thực hiện kiểm tra toàn diện tính toàn vẹn của kho lưu trữ, xác thực các giá trị băm
và tổng kiểm tra của từng mục trong tệp nhật ký thay đổi, tệp kê khai và tệp được theo dõi, cũng như
tính toàn vẹn của các liên kết chéo và chỉ số của chúng.

Vui lòng xem https://mercurial-scm.org/wiki/RepositoryCorruption để biết thêm thông tin về
phục hồi từ tham nhũng của kho lưu trữ.

Trả về 0 nếu thành công, 1 nếu gặp lỗi.

phiên bản
Phiên bản đầu ra và thông tin bản quyền:

phiên bản hg

phiên bản đầu ra và thông tin bản quyền

NGÀY M FORU ĐƠN


Một số lệnh cho phép người dùng chỉ định ngày, ví dụ:

· backout, commit, import, tag: Chỉ định ngày cam kết.

· đăng nhập, hoàn nguyên, cập nhật: Chọn (các) bản sửa đổi theo ngày.

Nhiều định dạng ngày hợp lệ. Dưới đây là một số ví dụ:

· đám cưới Dec 6 13:18:29 2006 (giả định múi giờ địa phương)

· Dec 6 13:18 -0600 (năm giả định, thời gian bù đắp được cung cấp)

· Dec 6 13:18 UTC (UTC và GMT là bí danh của +0000)

· Dec 6 (nửa đêm)

· 13:18 (giả định hôm nay)

· 3:39 (giả định là 3:39 sáng)

· 3: 39pm (15: 39)

· 2006-12-06 13:18:29 (định dạng ISO 8601)

· 2006-12-6 13:18

· 2006-12-6

· 12-6

· 12/6

· 12/6/6 (Ngày 6 tháng 2006 năm XNUMX)

· bây giờ (nửa đêm)

· hôm qua (nửa đêm)

· tại - ngay lập tức

Cuối cùng, có định dạng nội bộ của Mercurial:

· 1165411109 0 (Thứ Tư ngày 6 tháng 13 18:29:2006 XNUMX UTC)

Đây là định dạng biểu diễn nội bộ cho ngày tháng. Số đầu tiên là số
giây kể từ kỷ nguyên (1970-01-01 00:00 UTC). Thứ hai là phần bù đắp của địa phương
múi giờ, tính bằng giây về phía tây UTC (âm nếu múi giờ ở phía đông UTC).

Lệnh nhật ký cũng chấp nhận phạm vi ngày:

· <DATE - tại hoặc trước một ngày/giờ nhất định

· > NGÀY - vào hoặc sau ngày/giờ nhất định

· NGÀY đến NGÀY - một phạm vi ngày, bao gồm

· -NGÀY - trong một số ngày nhất định của ngày hôm nay

KHÁC BIỆT M FORU ĐƠN


Định dạng mặc định của Mercurial để hiển thị những thay đổi giữa hai phiên bản của một tập tin là
tương thích với định dạng thống nhất của GNU diff, có thể được sử dụng bởi bản vá GNU và nhiều
công cụ tiêu chuẩn khác.

Mặc dù định dạng tiêu chuẩn này thường là đủ nhưng nó không mã hóa các thông tin sau:

· trạng thái thực thi và các bit quyền khác

· sao chép hoặc đổi tên thông tin

· thay đổi trong tập tin nhị phân

· tạo hoặc xóa các tập tin trống

Mercurial cũng hỗ trợ định dạng khác biệt mở rộng từ git VCS nhằm giải quyết những vấn đề này
những hạn chế. Định dạng git diff không được tạo theo mặc định vì một số công cụ phổ biến
vẫn chưa hiểu định dạng này.

Điều này có nghĩa là khi tạo khác biệt từ kho lưu trữ Mercurial (ví dụ: với hg xuất khẩu),
bạn nên cẩn thận với những thứ như sao chép và đổi tên tập tin hoặc những thứ khác được đề cập
ở trên, bởi vì khi áp dụng khác biệt tiêu chuẩn cho một kho lưu trữ khác, phần bổ sung này
thông tin bị mất. Các hoạt động nội bộ của Mercurial (như đẩy và kéo) không bị ảnh hưởng
bằng cách này vì họ sử dụng định dạng nhị phân nội bộ để truyền đạt các thay đổi.

Để Mercurial tạo ra định dạng git mở rộng khác biệt, hãy sử dụng tùy chọn --git có sẵn cho
nhiều lệnh hoặc đặt 'git = True' trong phần [diff] của tệp cấu hình của bạn. Bạn
không cần thiết lập tùy chọn này khi nhập các khác biệt ở định dạng này hoặc sử dụng chúng trong mq
gia hạn.

MÔI TRƯỜNG BIẾN


HG Đường dẫn đến tệp thực thi 'hg', được tự động chuyển khi chạy hook, tiện ích mở rộng hoặc
các công cụ bên ngoài. Nếu không được đặt hoặc để trống, đây là tên của tệp thực thi hg nếu nó bị đóng băng,
hoặc một tệp thực thi có tên 'hg' (với %PATHEXT% [mặc định là COM/EXE/BAT/CMD]
tiện ích mở rộng trên Windows) được tìm kiếm.

HGEDITOR
Đây là tên của trình soạn thảo sẽ chạy khi chuyển giao. Xem BIÊN TẬP.

(không dùng nữa, sử dụng tệp cấu hình)

Mã hóa HGEN
Điều này sẽ ghi đè cài đặt ngôn ngữ mặc định được Mercurial phát hiện. Cài đặt này là
được sử dụng để chuyển đổi dữ liệu bao gồm tên người dùng, mô tả bộ thay đổi, tên thẻ và
chi nhánh. Cài đặt này có thể được ghi đè bằng tùy chọn dòng lệnh --encoding.

HGENCODINGMODE
Điều này đặt ra hành vi của Mercurial để xử lý các ký tự không xác định trong khi chuyển mã
đầu vào của người dùng. Giá trị mặc định là "nghiêm ngặt", khiến Mercurial bị hủy nếu không thể
lập bản đồ một nhân vật. Các cài đặt khác bao gồm "thay thế", thay thế không xác định
các ký tự và "bỏ qua", loại bỏ chúng. Cài đặt này có thể được ghi đè bằng
--encodingmode tùy chọn dòng lệnh.

HGENCODINGMỘT LỜI
Điều này đặt hành vi của Mercurial để xử lý các ký tự có chiều rộng "không rõ ràng" như
các ký tự Latin có dấu với phông chữ Đông Á. Theo mặc định, Mercurial giả định
các ký tự không rõ ràng là hẹp, hãy đặt biến này thành "rộng" nếu các ký tự đó
gây ra vấn đề về định dạng.

HGMERGE
Một tệp thực thi được sử dụng để giải quyết xung đột hợp nhất. Chương trình sẽ được thực hiện
với ba đối số: tệp cục bộ, tệp từ xa, tệp tổ tiên.

(không dùng nữa, sử dụng tệp cấu hình)

HGRCPATH
Danh sách các tập tin hoặc thư mục để tìm kiếm các tập tin cấu hình. Dấu phân cách mục là
:// trên Unix, ";" trên Windows. Nếu HGRCPATH không được đặt, đường dẫn tìm kiếm mặc định của nền tảng
Được sử dụng. Nếu trống, chỉ đọc .hg/hgrc từ kho lưu trữ hiện tại.

Đối với mỗi phần tử trong HGRCPATH:

· nếu là thư mục thì tất cả các file có đuôi .rc sẽ được thêm vào

· nếu không thì tập tin đó sẽ được thêm vào

HGPLAIN
Khi được đặt, điều này sẽ tắt mọi cài đặt cấu hình có thể thay đổi Mercurial
đầu ra mặc định. Điều này bao gồm mã hóa, mặc định, chế độ dài dòng, chế độ gỡ lỗi, chế độ im lặng
chế độ, truy nguyên và bản địa hóa. Điều này có thể hữu ích khi viết kịch bản chống lại
Mercurial khi đối mặt với cấu hình người dùng hiện có.

Các tùy chọn tương đương được đặt thông qua cờ dòng lệnh hoặc biến môi trường thì không
ghi đè.

HGPLAINNgoại trừ
Đây là danh sách các tính năng được phân tách bằng dấu phẩy cần duy trì khi bật HGPLAIN.
Hiện tại các giá trị sau được hỗ trợ:

bí danh

Đừng xóa bí danh.

I18n

Bảo tồn quốc tế hóa.

revsetalias

Đừng xóa bí danh revset.

Đặt HGPLAINEXCEPT thành bất cứ thứ gì (ngay cả một chuỗi trống) sẽ bật chế độ đơn giản.

HGUSER Đây là chuỗi được sử dụng làm tác giả của một cam kết. Nếu không được đặt, các giá trị khả dụng
sẽ được xem xét theo thứ tự sau:

· HGUSER (không dùng nữa)

· các tập tin cấu hình từ HGRCPATH

· EMAIL

· lời nhắc tương tác

· TÊN ĐĂNG NHẬP (với @tên máy chủ nối thêm)

(không dùng nữa, sử dụng tệp cấu hình)

E-MAIL Có thể được sử dụng làm tác giả của một cam kết; xem HGUSER.

TÊN ĐĂNG NHẬP
Có thể được sử dụng làm tác giả của một cam kết; xem HGUSER.

TRỰC QUAN Đây là tên của trình soạn thảo sẽ sử dụng khi chuyển giao. Xem BIÊN TẬP.

EDITOR Đôi khi Mercurial cần mở tệp văn bản trong trình chỉnh sửa để người dùng sửa đổi,
ví dụ khi viết tin nhắn cam kết. Trình soạn thảo nó sử dụng được xác định bởi
xem xét các biến môi trường HGEDITOR, VISUAL và EDITOR theo thứ tự đó.
Cái đầu tiên không trống sẽ được chọn. Nếu tất cả chúng đều trống, trình soạn thảo sẽ mặc định
'biên tập viên hợp lý'.

PYTHONPATH
Điều này được Python sử dụng để tìm các mô-đun đã nhập và có thể cần phải được đặt
thích hợp nếu Mercurial này không được cài đặt trên toàn hệ thống.

SỬ DỤNG BỔ SUNG TÍNH NĂNG, ĐẶC ĐIỂM


Mercurial có khả năng thêm các tính năng mới thông qua việc sử dụng các tiện ích mở rộng. Tiện ích mở rộng
có thể thêm lệnh mới, thêm tùy chọn vào lệnh hiện có, thay đổi hành vi mặc định của
các lệnh hoặc triển khai các hook.

Để bật tiện ích mở rộng "foo", được cung cấp bằng Mercurial hoặc trong đường dẫn tìm kiếm Python,
tạo một mục cho nó trong tệp cấu hình của bạn, như thế này:

[phần mở rộng]
foo =

Bạn cũng có thể chỉ định đường dẫn đầy đủ đến tiện ích mở rộng:

[phần mở rộng]
tính năng của tôi = ~/.hgext/myfeature.py

Xem hg giúp đỡ cấu hình để biết thêm thông tin về các tập tin cấu hình.

Các tiện ích mở rộng không được tải theo mặc định vì nhiều lý do: chúng có thể tăng tốc độ khởi động
trên không; chúng có thể chỉ dành cho mục đích sử dụng nâng cao; họ có thể cung cấp tiềm năng
khả năng nguy hiểm (chẳng hạn như cho phép bạn phá hủy hoặc sửa đổi lịch sử); họ có thể không
sẵn sàng cho thời kỳ đầu; hoặc họ có thể thay đổi một số hành vi thông thường của cổ phiếu Mercurial. Nó là
do đó người dùng có thể kích hoạt các tiện ích mở rộng nếu cần.

Để tắt rõ ràng tiện ích mở rộng được bật trong tệp cấu hình có phạm vi rộng hơn,
thêm vào trước đường dẫn của nó với !:

[phần mở rộng]
# vô hiệu hóa thanh tiện ích mở rộng nằm trong /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# tương tự, nhưng không có đường dẫn nào được cung cấp cho phần mở rộng baz
baz = !

tiện ích mở rộng bị vô hiệu hóa:

acl móc để kiểm soát quyền truy cập kho lưu trữ

hộp đen
ghi nhật ký các sự kiện trong kho lưu trữ vào hộp đen để gỡ lỗi

bugzilla
móc để tích hợp với trình theo dõi lỗi Bugzilla

pháp quan xóa nội dung tập tin tại một bản sửa đổi nhất định

khuấy lệnh hiển thị số liệu thống kê về lịch sử kho lưu trữ

gói nhân bản
quảng cáo các gói được tạo trước để tạo bản sao

màu sắc tô màu đầu ra từ một số lệnh

chuyển đổi
nhập các bản sửa đổi từ kho VCS nước ngoài vào Mercurial

eol tự động quản lý dòng mới trong tập tin kho lưu trữ

phần mở rộng
lệnh cho phép các chương trình bên ngoài so sánh các bản sửa đổi

nhân tố
xác thực http với Factotum

gpg lệnh ký và xác minh các thay đổi

hgcia hooks để tích hợp với dịch vụ thông báo CIA.vc

hgk duyệt kho lưu trữ theo cách đồ họa

làm nổi bật
tô sáng cú pháp cho hgweb (yêu cầu Pygments)

lịch sử
chỉnh sửa lịch sử tương tác

từ khóa
mở rộng từ khóa trong tệp được theo dõi

tập tin lớn
theo dõi các tập tin nhị phân lớn

mq quản lý một đống bản vá

thông báo móc để gửi thông báo đẩy email

máy nhắn tin duyệt đầu ra lệnh bằng máy nhắn tin bên ngoài

bom vá
lệnh gửi các tập hợp thay đổi dưới dạng (một loạt) email vá lỗi

purge lệnh xóa các tập tin không bị theo dõi khỏi thư mục làm việc

nổi loạn lệnh di chuyển các bản sửa đổi sang một tổ tiên khác

ghi các lệnh để chọn các thay đổi một cách tương tác cho commit/qrefresh

liên kết lại tạo lại các liên kết cứng giữa các bản sao kho lưu trữ

đề án
mở rộng các sơ đồ bằng các phím tắt đến các kho lưu trữ

Lượt chia sẻ chia sẻ một lịch sử chung giữa một số thư mục làm việc

xiên lưu và khôi phục các thay đổi vào thư mục làm việc

dải loại bỏ các bộ thay đổi và con cháu của chúng khỏi lịch sử

cấy
lệnh ghép các thay đổi từ một nhánh khác

win32mbcs
cho phép sử dụng đường dẫn MBCS với mã hóa có vấn đề

zeroconf
khám phá và quảng cáo các kho lưu trữ trên mạng cục bộ

ĐẶC ĐIỂM KỸ THUẬT FILE SETS


Mercurial hỗ trợ ngôn ngữ chức năng để chọn một tập hợp tệp.

Giống như các mẫu tệp khác, loại mẫu này được biểu thị bằng tiền tố, 'set:'. Ngôn ngữ
hỗ trợ một số vị từ được nối bởi các toán tử trung tố. Dấu ngoặc đơn có thể
được sử dụng để phân nhóm.

Các mã định danh như tên tệp hoặc mẫu phải được trích dẫn bằng dấu ngoặc đơn hoặc kép nếu
chúng chứa các ký tự bên ngoài [.*{[]?/\_a-zA-Z0-9\x80-\xff] hoặc nếu chúng phù hợp với một trong
các vị ngữ được xác định trước. Điều này thường áp dụng cho các mẫu tệp không phải là hình cầu và
luận cứ cho vị ngữ.

Các ký tự đặc biệt có thể được sử dụng trong các mã định danh được trích dẫn bằng cách thoát khỏi chúng, ví dụ: \n is
được hiểu là một dòng mới. Để tránh việc chúng bị diễn giải, các chuỗi có thể được thêm tiền tố
với r, ví dụ r'...'.

Có một toán tử tiền tố duy nhất:

không x

Các tập tin không có dạng x. Dạng rút gọn là ! x.

Đây là các toán tử infix được hỗ trợ:

x y

Giao điểm của các tập tin trong x và y. Dạng rút gọn là x & y.

x or y

Sự kết hợp của các tập tin trong x và y. Có hai hình thức ngắn thay thế: x | yx +
y.

x - y

Tệp trong x nhưng không có trong y.

Các vị từ sau được hỗ trợ:

thêm()

Tập tin được thêm vào theo hg tình trạng.

nhị phân()

Tệp có vẻ là nhị phân (chứa byte NUL).

dọn dẹp()

Tệp sạch theo hg tình trạng.

sao chép()

Tệp được ghi là đang được sao chép.

đã xóa()

Bí danh cho mất tích().

mã hóa (tên)

Tệp có thể được giải mã thành công bằng mã hóa ký tự đã cho. Có thể không
hữu ích cho các mã hóa khác ngoài ASCII và UTF-8.

eol(phong cách)

Tệp chứa các dòng mới của kiểu đã cho (dos, unix, mac). Các tập tin nhị phân được
bị loại trừ, các tệp có phần cuối dòng hỗn hợp khớp với nhiều kiểu.

hành ()

Tệp được đánh dấu là có thể thực thi được.

grep(regex)

Tệp chứa biểu thức chính quy đã cho.

hgignore()

Tệp phù hợp với mẫu .hgignore đang hoạt động.

làm ngơ()

Tệp bị bỏ qua theo hg tình trạng. Những tập tin này sẽ chỉ được xem xét nếu
vị ngữ này được sử dụng.

mất tích()

Tệp bị thiếu theo hg tình trạng.

đã sửa đổi()

Tập tin được sửa đổi theo hg tình trạng.

cầm tay()

Tệp có tên di động. (Điều này không bao gồm tên tệp có chữ hoa chữ thường
Sự va chạm.)

LOẠI BỎ()

Tệp được xóa theo hg tình trạng.

đã giải quyết()

Tệp được đánh dấu được giải quyết theo hg giải quyết -l.

kích thước (biểu thức)

Kích thước tệp phù hợp với biểu thức đã cho. Ví dụ:

· 1k (tệp từ 1024 đến 2047 byte)

· < 20k (tệp nhỏ hơn 20480 byte)

· >= .5MB (tệp ít nhất 524288 byte)

· 4k - 1MB (tệp từ 4096 byte đến 1048576 byte)

subrepo([mẫu])

Các kho lưu trữ con có đường dẫn khớp với mẫu đã cho.

liên kết tượng trưng()

Tệp được đánh dấu là liên kết tượng trưng.

không xác định()

Tệp không xác định theo hg tình trạng. Những tập tin này sẽ chỉ được xem xét nếu
vị ngữ này được sử dụng.

chưa được giải quyết()

Tệp được đánh dấu là chưa được giải quyết theo hg giải quyết -l.

Một số truy vấn mẫu:

· Hiển thị trạng thái của các tập tin có dạng nhị phân trong thư mục làm việc:

trạng thái hg -A "set:binary()"

· Quên các tập tin có định dạng .hgignore nhưng đã được theo dõi:

hg quên "set:hgignore() và không bỏ qua()"

· Tìm file văn bản có chứa chuỗi:

hg tập tin "đặt:grep(ma thuật) chứ không phải nhị phân()"

· Tìm file C có mã hóa không chuẩn:

hg "set:**.c và không mã hóa ('UTF-8')"

· Hoàn nguyên các bản sao của tệp nhị phân lớn:

hg hoàn nguyên "set:copyed() và nhị phân() và kích thước ('>1M')"

· Loại bỏ các file liệt kê trong foo.lst có chứa chữ a hoặc b:

hg xóa "set: 'listfile:foo.lst' và (**a* hoặc **b*)"

Xem thêm hg giúp đỡ mô hình.

BẢNG CHÚ GIẢI


Tổ tiên
Bất kỳ tập thay đổi nào có thể đạt được bằng một chuỗi các tập thay đổi cha không bị gián đoạn từ một
tập thay đổi đã cho. Chính xác hơn, tổ tiên của một tập thay đổi có thể được xác định bởi hai
thuộc tính: cha mẹ của một tập hợp thay đổi là tổ tiên và cha mẹ của tổ tiên là
một tổ tiên. Xem thêm: 'Hậu duệ'.

Bookmark
Dấu trang là con trỏ tới các cam kết nhất định sẽ di chuyển khi thực hiện. họ đang
tương tự như thẻ ở chỗ có thể sử dụng tên dấu trang ở tất cả những nơi
Mercurial mong đợi một ID thay đổi, ví dụ: với hg cập nhật. Không giống như thẻ, dấu trang di chuyển
cùng khi bạn thực hiện một cam kết.

Dấu trang có thể được đổi tên, sao chép và xóa. Dấu trang là cục bộ, trừ khi chúng là
được đẩy hoặc kéo một cách rõ ràng giữa các kho lưu trữ. Đẩy và kéo dấu trang
cho phép bạn cộng tác với những người khác trên một nhánh mà không cần tạo nhánh có tên.

Chi nhánh (Danh từ) Bộ thay đổi con được tạo từ cha mẹ không phải là phần đầu.
Chúng được gọi là các nhánh tôpô, xem phần 'Nhánh, tôpô'. Nếu một
nhánh tôpô được đặt tên, nó trở thành nhánh được đặt tên. Nếu một nhánh topo là
không được đặt tên, nó sẽ trở thành một nhánh ẩn danh. Xem 'Chi nhánh, ẩn danh' và 'Chi nhánh,
có tên'.

Các nhánh có thể được tạo khi các thay đổi được kéo hoặc đẩy tới một điều khiển từ xa
kho lưu trữ, vì các đầu mục mới có thể được tạo ra bởi các hoạt động này. Lưu ý rằng thuật ngữ
nhánh cũng có thể được sử dụng một cách không chính thức để mô tả một quá trình phát triển trong đó
sự phát triển nhất định được thực hiện độc lập với sự phát triển khác. Điều này đôi khi
được thực hiện rõ ràng bằng một nhánh được đặt tên, nhưng nó cũng có thể được thực hiện cục bộ bằng cách sử dụng
dấu trang hoặc bản sao và các nhánh ẩn danh.

Ví dụ: "Nhánh thử nghiệm."

(Động từ) Hành động tạo một tập thay đổi con dẫn đến việc cha mẹ của nó có
nhiều hơn một đứa trẻ.

Ví dụ: “Tôi sắp đến chi nhánh X.”

Chi nhánh, vô danh
Mỗi khi một bộ thay đổi con mới được tạo từ cha mẹ không phải là phần đầu và
tên của nhánh không được thay đổi, một nhánh ẩn danh mới sẽ được tạo.

Chi nhánh, đóng cửa
Một chi nhánh được đặt tên mà các trưởng chi nhánh đều đã bị đóng cửa.

Chi nhánh, mặc định
Nhánh được gán cho một tập hợp thay đổi khi trước đó chưa có tên nào được gán.

Chi nhánh cái đầu
Xem 'Đầu, nhánh'.

Chi nhánh, không hoạt động
Nếu một nhánh được đặt tên không có đầu tôpô thì nó được coi là không hoạt động. Là một
ví dụ: một nhánh tính năng sẽ không hoạt động khi nó được hợp nhất vào mặc định
chi nhánh. Các hg chi nhánh lệnh hiển thị các nhánh không hoạt động theo mặc định, mặc dù chúng có thể
được ẩn giấu với hg chi nhánh --tích cực.

LƯU Ý: khái niệm này không được dùng nữa vì nó quá ngầm. Các chi nhánh bây giờ nên
được đóng rõ ràng bằng cách sử dụng hg cam kết --đóng nhánh khi chúng không còn cần thiết nữa.

Chi nhánh, tên
Một tập hợp các bộ thay đổi có cùng tên nhánh. Theo mặc định, con của
một tập hợp thay đổi trong một nhánh được đặt tên thuộc về cùng một nhánh được đặt tên. Một đứa trẻ có thể
được gán rõ ràng cho một nhánh khác. Nhìn thấy hg giúp đỡ địa điể̀m chọn lựa, hg giúp đỡ chi nhánh
hg cam kết --đóng nhánh để biết thêm thông tin về việc quản lý chi nhánh.

Các nhánh được đặt tên có thể được coi là một loại không gian tên, phân chia tập hợp các
các tập hợp thay đổi bao gồm kho lưu trữ thành một tập hợp các tập hợp con rời rạc. MỘT
nhánh được đặt tên không nhất thiết phải là nhánh tôpô. Nếu một nhánh được đặt tên mới là
được tạo từ phần đầu của nhánh có tên khác hoặc nhánh mặc định, nhưng không
các thay đổi tiếp theo được thêm vào nhánh trước đó, sau đó nhánh trước đó
sẽ chỉ là một chi nhánh trên danh nghĩa.

Chi nhánh tip
Xem 'Mẹo, nhánh'.

Chi nhánh, tôpô
Mỗi khi một tập thay đổi con mới được tạo từ cha mẹ không phải là phần đầu, một tập hợp con mới
nhánh topo được tạo ra. Nếu một nhánh tôpô được đặt tên, nó sẽ trở thành một nhánh được đặt tên
chi nhánh. Nếu một nhánh tôpô không được đặt tên, nó sẽ trở thành một nhánh ẩn danh của
nhánh hiện tại, có thể là mặc định.

changelog
Bản ghi các tập thay đổi theo thứ tự chúng được thêm vào kho lưu trữ.
Điều này bao gồm các chi tiết như id tập hợp thay đổi, tác giả, thông báo cam kết, ngày và danh sách
của các tập tin đã thay đổi.

Bộ thay đổi
Ảnh chụp nhanh trạng thái của kho lưu trữ được sử dụng để ghi lại thay đổi.

Bộ thay đổi, trẻ em
Đảo ngược của tập thay đổi cha: nếu P là cha của C thì C là con của P.
Không có giới hạn về số lượng con mà một bộ thay đổi có thể có.

Bộ thay đổi id
Hàm băm SHA-1 xác định duy nhất một bộ thay đổi. Nó có thể được biểu diễn dưới dạng
chuỗi 40 chữ số thập lục phân "dài" hoặc chuỗi 12 chữ số thập lục phân "ngắn".

Bộ thay đổi, hợp nhất
Một bộ thay đổi có hai cha mẹ. Điều này xảy ra khi việc hợp nhất được thực hiện.

Bộ thay đổi, cha mẹ
Một bản sửa đổi dựa trên bộ thay đổi con. Cụ thể, một bộ thay đổi cha mẹ
của tập thay đổi C là tập thay đổi có nút ngay trước C trong DAG.
Các bộ thay đổi có nhiều nhất hai cha mẹ.

Kiểm tra
(Danh từ) Thư mục làm việc đang được cập nhật lên phiên bản cụ thể. Việc sử dụng này nên
có thể tránh được nếu có thể, vì bộ thay đổi phù hợp hơn nhiều so với
thanh toán trong bối cảnh này.

Ví dụ: "Tôi đang sử dụng tính năng thanh toán X."

(Động từ) Cập nhật thư mục làm việc thành một bộ thay đổi cụ thể. Nhìn thấy hg giúp đỡ cập nhật.

Ví dụ: "Tôi sẽ kiểm tra tập thay đổi X."

Trẻ em changeset
Xem 'Bộ thay đổi, con'.

Đóng changeset
Xem 'Đầu, nhánh đóng'.

Đóng địa điể̀m chọn lựa
Xem 'Chi nhánh, đã đóng cửa'.

Clone (Danh từ) Bản sao toàn bộ hoặc một phần của kho lưu trữ. Bản sao một phần phải ở trong
hình thức sửa đổi và tổ tiên của nó.

Ví dụ: "Bản sao của bạn đã được cập nhật chưa?"

(Động từ) Quá trình tạo bản sao, sử dụng hg nhân bản.

Ví dụ: "Tôi sẽ sao chép kho lưu trữ."

Đóng địa điể̀m chọn lựa cái đầu
Xem 'Đầu, nhánh đóng'.

Cam kết (Danh từ) Từ đồng nghĩa với bộ thay đổi.

Ví dụ: "Lỗi đã được sửa trong lần cam kết gần đây của bạn chưa?"

(Động từ) Hành động ghi lại những thay đổi đối với kho lưu trữ. Khi các tập tin được cam kết trong một
thư mục làm việc, Mercurial tìm thấy sự khác biệt giữa các tập tin đã cam kết và
bộ thay đổi gốc của chúng, tạo ra một bộ thay đổi mới trong kho lưu trữ.

Ví dụ: "Bạn nên thực hiện những thay đổi đó ngay bây giờ."

tập hợp Một chữ viết tắt phổ biến của thuật ngữ thay đổi.

DAG Kho lưu trữ các tập thay đổi của hệ thống kiểm soát phiên bản phân tán (DVCS) có thể
được mô tả dưới dạng đồ thị chu kỳ có hướng (DAG), bao gồm các nút và cạnh, trong đó
các nút tương ứng với các tập thay đổi và các cạnh ngụ ý mối quan hệ cha mẹ -> con. Cái này
đồ thị có thể được hiển thị bằng các công cụ đồ họa như hg đăng nhập - đồ thị. Trong Thủy ngân,
DAG bị giới hạn bởi yêu cầu trẻ em phải có tối đa hai cha mẹ.

Phản đối
Tính năng đã bị xóa khỏi tài liệu nhưng chưa được lên lịch xóa.

Mặc định địa điể̀m chọn lựa
Xem 'Chi nhánh, mặc định'.

con cháu
Bất kỳ tập thay đổi nào mà một chuỗi các tập thay đổi con có thể tiếp cận được từ một tập hợp nhất định
thay đổi. Chính xác hơn, hậu duệ của một tập thay đổi có thể được xác định bởi hai
thuộc tính: con của một tập hợp thay đổi là hậu duệ và con của hậu duệ
là một hậu duệ. Xem thêm: 'Tổ tiên'.

Khác (Danh từ) Sự khác nhau giữa nội dung và thuộc tính của file trong hai
bộ thay đổi hoặc bộ thay đổi và thư mục làm việc hiện tại. Sự khác biệt là
thường được biểu diễn dưới dạng chuẩn gọi là "khác biệt" hoặc "bản vá". "Khác biệt git"
định dạng được sử dụng khi các thay đổi bao gồm bản sao, đổi tên hoặc thay đổi tệp
thuộc tính, không thuộc tính nào trong số đó có thể được biểu diễn/xử lý bằng "diff" và "patch" cổ điển.

Ví dụ: "Bạn có thấy sự điều chỉnh của tôi trong phần khác biệt không?"

(Động từ) Phân biệt hai tập thay đổi là hành động tạo ra một khác biệt hoặc một bản vá.

Ví dụ: "Nếu bạn khác biệt với bộ thay đổi X, bạn sẽ hiểu ý tôi."

Danh mục, đang làm việc
Thư mục làm việc biểu thị trạng thái của các tập tin được Mercurial theo dõi,
sẽ được ghi lại trong lần commit tiếp theo. Thư mục làm việc ban đầu tương ứng với
ảnh chụp nhanh tại một tập thay đổi hiện có, được gọi là cấp độ gốc của hoạt động
danh mục. Xem 'Thư mục gốc, thư mục làm việc'. Trạng thái có thể được sửa đổi bằng cách thay đổi
các tập tin được giới thiệu theo cách thủ công hoặc bằng cách hợp nhất. Siêu dữ liệu của kho lưu trữ tồn tại trong
thư mục .hg bên trong thư mục làm việc.

Bản nháp Các thay đổi trong giai đoạn dự thảo chưa được chia sẻ với các kho xuất bản và
do đó có thể được thay đổi một cách an toàn bằng các tiện ích mở rộng sửa đổi lịch sử. Nhìn thấy hg giúp đỡ giai đoạn.

Thử nghiệm
Tính năng có thể thay đổi hoặc bị xóa sau này.

Đồ thị Xem DAG và hg đăng nhập - đồ thị.

Cái đầu Thuật ngữ 'người đứng đầu' có thể được sử dụng để chỉ cả người đứng đầu chi nhánh hoặc người đứng đầu kho,
tùy thuộc vào bối cảnh. Xem 'Đầu, nhánh' và 'Đầu, kho' để biết cụ thể
các định nghĩa.

Người đứng đầu là nơi sự phát triển thường diễn ra và là mục tiêu thông thường của
hoạt động cập nhật và hợp nhất.

Trưởng ban địa điể̀m chọn lựa
Một tập thay đổi không có hậu duệ trên cùng một nhánh được đặt tên.

Trưởng ban đóng cửa địa điể̀m chọn lựa
Một bộ thay đổi đánh dấu một cái đầu không còn thú vị nữa. Đầu khép kín là không
còn được liệt kê bởi hg đứng đầu. Một nhánh được coi là đóng khi tất cả các đầu của nó đều
đã đóng cửa và do đó không được liệt kê bởi hg chi nhánh.

Các đầu đã đóng có thể được mở lại bằng cách thực hiện các thay đổi mới làm phần tử con của
bộ thay đổi đánh dấu một đầu là đã đóng.

Trưởng ban kho
Một đầu tôpô chưa được đóng lại.

Trưởng ban tôpô
Một bộ thay đổi không có phần tử con trong kho lưu trữ.

Lịch sử, bất biến
Sau khi đã cam kết, các tập hợp thay đổi không thể thay đổi được. Các tiện ích mở rộng dường như thay đổi
lịch sử thực sự tạo ra các tập thay đổi mới thay thế các tập hợp hiện có và sau đó hủy bỏ
các bộ thay đổi cũ. Làm như vậy trong kho công cộng có thể dẫn đến các tập hợp thay đổi cũ
được giới thiệu lại vào kho lưu trữ.

Lịch sử, viết lại
Các tập hợp thay đổi trong kho lưu trữ là không thể thay đổi. Tuy nhiên, các phần mở rộng của Mercurial có thể
được sử dụng để thay đổi kho lưu trữ, thường là theo cách bảo toàn bộ thay đổi
nội dung.

bất biến lịch sử
Xem 'Lịch sử, bất biến'.

đi changeset
Xem 'Bộ thay đổi, hợp nhất'.

Tệp kê khai
Mỗi bộ thay đổi có một bảng kê khai, đó là danh sách các tệp được theo dõi bởi
thay đổi.

đi Được sử dụng để tập hợp các nhánh công việc khác nhau. Khi bạn cập nhật lên một bộ thay đổi
và sau đó hợp nhất một bộ thay đổi khác, bạn mang theo lịch sử của bộ thay đổi sau
vào thư mục làm việc của bạn. Khi xung đột được giải quyết (và được đánh dấu), sự hợp nhất này
có thể được cam kết dưới dạng một tập hợp thay đổi hợp nhất, đưa hai nhánh lại với nhau trong DAG.

Được đặt theo tên địa điể̀m chọn lựa
Xem 'Chi nhánh, được đặt tên'.

Null changeset
Bộ thay đổi trống. Đây là trạng thái gốc của các kho lưu trữ mới được khởi tạo và
kho lưu trữ không có bản sửa đổi được kiểm tra. Do đó, nó là cha mẹ của các bộ thay đổi gốc
và tổ tiên hiệu quả khi hợp nhất các tập hợp thay đổi không liên quan. Có thể được chỉ định bởi
bí danh 'null' hoặc theo ID tập hợp thay đổi '000000000000'.

Cha mẹ Xem 'Bộ thay đổi, cha mẹ'.

Cha mẹ changeset
Xem 'Bộ thay đổi, cha mẹ'.

Cha mẹ, đang làm việc thư mục
Thư mục làm việc gốc phản ánh một phiên bản ảo là con của
bộ thay đổi (hoặc hai bộ thay đổi có sự hợp nhất không được cam kết) được hiển thị bởi hg cha mẹ. Điều này
được thay đổi với hg cập nhật. Các lệnh khác để xem thư mục mẹ làm việc là
hg tóm tắthg id. Có thể được chỉ định bởi bí danh ".".

(Danh từ) Sản phẩm của một phép toán khác biệt.

Ví dụ: "Tôi đã gửi cho bạn bản vá của tôi."

(Động từ) Quá trình sử dụng tệp vá để chuyển đổi một bộ thay đổi này thành một bộ thay đổi khác.

Ví dụ: "Bạn sẽ cần phải vá bản sửa đổi đó."

Giai đoạn Trạng thái theo dõi mỗi thay đổi theo dõi cách thức thay đổi đã hoặc nên được chia sẻ. Nhìn thấy
hg giúp đỡ giai đoạn.

Công khai Các thay đổi trong giai đoạn công khai đã được chia sẻ với các kho xuất bản và
do đó được coi là bất biến. Nhìn thấy hg giúp đỡ giai đoạn.

Kéo Một hoạt động trong đó các tập hợp thay đổi trong kho lưu trữ từ xa không nằm trong kho lưu trữ cục bộ
kho lưu trữ được đưa vào kho lưu trữ cục bộ. Lưu ý rằng thao tác này không có
các đối số đặc biệt chỉ cập nhật kho lưu trữ, nó không cập nhật các tệp trong
thư mục làm việc. Nhìn thấy hg giúp đỡ kéo.

Đẩy Một hoạt động trong đó các tập hợp thay đổi trong kho lưu trữ cục bộ không nằm trong điều khiển từ xa
kho lưu trữ được gửi đến kho lưu trữ từ xa. Lưu ý rằng thao tác này chỉ thêm
các tập hợp thay đổi đã được cam kết cục bộ vào kho lưu trữ từ xa. Không cam kết
những thay đổi không được gửi đi. Nhìn thấy hg giúp đỡ đẩy.

Kho
Siêu dữ liệu mô tả tất cả các trạng thái được ghi lại của một tập hợp tệp. Mỗi lần ghi lại
trạng thái được đại diện bởi một bộ thay đổi. Một kho lưu trữ thường được tìm thấy (nhưng không phải luôn luôn)
trong .hg thư mục con của thư mục làm việc. Mọi trạng thái đã ghi đều có thể được tạo lại
bằng cách "cập nhật" một thư mục làm việc thành một tập hợp thay đổi cụ thể.

Kho cái đầu
Xem 'Đầu, kho lưu trữ'.

Sửa đổi
Trạng thái của kho lưu trữ tại một thời điểm nào đó. Các bản sửa đổi trước đó có thể được cập nhật
bằng cách sử dụng hg cập nhật. Xem thêm 'Số sửa đổi'; Xem thêm 'Bộ thay đổi'.

Sửa đổi con số
Số nguyên này xác định duy nhất một bộ thay đổi trong một kho lưu trữ cụ thể. Nó
thể hiện thứ tự các tập thay đổi được thêm vào kho lưu trữ, bắt đầu bằng
số sửa đổi 0. Lưu ý rằng số sửa đổi có thể khác nhau ở mỗi bản sao của
một kho lưu trữ. Để xác định các tập thay đổi duy nhất giữa các bản sao khác nhau, hãy xem
'Id tập hợp thay đổi'.

Revlog Cơ chế lưu trữ lịch sử được Mercurial sử dụng. Nó là một dạng mã hóa delta, với
thỉnh thoảng sửa đổi đầy đủ dữ liệu theo sau là delta của mỗi lần sửa đổi liên tiếp. Nó
bao gồm dữ liệu và một chỉ mục trỏ đến dữ liệu.

Viết lại lịch sử
Xem 'Lịch sử, viết lại'.

Chân răng Một bộ thay đổi chỉ có bộ thay đổi null làm cha mẹ của nó. Hầu hết các kho lưu trữ đều có
chỉ có một bộ thay đổi gốc duy nhất.

Bí mật Các thay đổi trong giai đoạn bí mật có thể không được chia sẻ thông qua đẩy, kéo hoặc sao chép. Nhìn thấy hg
giúp đỡ giai đoạn.

Nhãn Một tên thay thế được đặt cho một bộ thay đổi. Thẻ có thể được sử dụng ở mọi nơi
Mercurial mong đợi một ID thay đổi, ví dụ: với hg cập nhật. Việc tạo ra một thẻ là
được lưu trữ trong lịch sử và do đó sẽ tự động được chia sẻ với người khác bằng cách sử dụng tính năng đẩy
và kéo.

Mẹo Bộ thay đổi có số sửa đổi cao nhất. Đây là bộ thay đổi gần đây nhất
được thêm vào trong một kho lưu trữ.

Mẹo, địa điể̀m chọn lựa
Người đứng đầu một chi nhánh nhất định có số sửa đổi cao nhất. Khi có tên chi nhánh
được sử dụng làm mã định danh sửa đổi, nó đề cập đến đầu nhánh. Xem thêm 'Chi nhánh,
cái đầu'. Lưu ý rằng vì số sửa đổi có thể khác nhau ở các kho lưu trữ khác nhau
nhân bản, đầu nhánh có thể khác nhau trong các kho nhân bản khác nhau.

Cập nhật (Danh từ) Một từ đồng nghĩa khác của Changeset.

Ví dụ: "Tôi đã đưa ra một bản cập nhật."

(Động từ) Thuật ngữ này thường được sử dụng để mô tả việc cập nhật trạng thái làm việc
thư mục của một bộ thay đổi cụ thể. Nhìn thấy hg giúp đỡ cập nhật.

Ví dụ: "Bạn nên cập nhật."

Đang làm việc thư mục
Xem 'Thư mục, đang hoạt động'.

Đang làm việc thư mục cha mẹ
Xem 'Thư mục gốc, thư mục làm việc'.

TỔNG HỢP CHO KHÔNG KIÊN ĐỊNH VÒI CÁC TẬP TIN


toát yếu
Hệ thống Mercurial sử dụng một tệp có tên .hgignore trong thư mục gốc của kho lưu trữ để
kiểm soát hành vi của nó khi nó tìm kiếm các tập tin mà nó hiện không theo dõi.

Mô tả
Thư mục làm việc của kho lưu trữ Mercurial thường sẽ chứa các tệp không được phép
được theo dõi bởi Mercurial. Chúng bao gồm các tệp sao lưu được tạo bởi người chỉnh sửa và xây dựng sản phẩm
được tạo bởi trình biên dịch. Những tập tin này có thể được bỏ qua bằng cách liệt kê chúng trong một .hgignore tập tin trong
thư mục gốc của thư mục làm việc. Các .hgignore tập tin phải được tạo bằng tay. Nó là
thường được đặt dưới sự kiểm soát phiên bản, do đó các cài đặt sẽ được truyền sang người khác
kho lưu trữ với đẩy và kéo.

Một tệp không bị theo dõi sẽ bị bỏ qua nếu đường dẫn của nó liên quan đến thư mục gốc của kho lưu trữ hoặc bất kỳ
đường dẫn tiền tố của đường dẫn đó, được khớp với bất kỳ mẫu nào trong .hgignore.

Ví dụ: giả sử chúng tôi có một tệp không bị theo dõi, tập tin.c, tại a/b/file.c bên trong kho lưu trữ của chúng tôi.
Mercurial sẽ bỏ qua tập tin.c nếu có mẫu nào trong .hgignore diêm a/b/file.c, a / b or a.

Ngoài ra, tệp cấu hình Mercurial có thể tham chiếu một tập hợp của mỗi người dùng hoặc toàn cầu
bỏ qua các tập tin. Xem bỏ qua phím cấu hình trên [ui] phần hg giúp đỡ cấu hình cho
chi tiết về cách cấu hình các tập tin này.

Để kiểm soát việc xử lý các tệp mà nó quản lý của Mercurial, nhiều lệnh hỗ trợ -I
-X tùy chọn; nhìn thấy hg giúp đỡ hg giúp đỡ mô hình để biết thêm chi tiết.

Các tệp đã được theo dõi sẽ không bị ảnh hưởng bởi .hgignore, ngay cả khi chúng xuất hiện trong
.hgignore. Một tập tin X không bị theo dõi có thể được thêm vào một cách rõ ràng bằng hg thêm vào X, ngay cả khi X sẽ là
bị loại trừ bởi một mẫu trong .hgignore.

cú pháp
Tệp bỏ qua là một tệp văn bản đơn giản bao gồm một danh sách các mẫu, với một mẫu cho mỗi mẫu.
đường kẻ. Các dòng trống được bỏ qua. Các # ký tự được coi là ký tự nhận xét và
ký tự được coi là ký tự thoát.

Mercurial hỗ trợ một số cú pháp mẫu. Cú pháp mặc định được sử dụng là kiểu Python/Perl
biểu thức chính quy.

Để thay đổi cú pháp được sử dụng, hãy sử dụng một dòng có dạng sau:

cú pháp: TÊN

Ở đâu TÊN là một trong những điều sau:

regexp

Biểu thức chính quy, cú pháp Python/Perl.

toàn cầu

Quả cầu kiểu vỏ.

Cú pháp đã chọn vẫn có hiệu lực khi phân tích tất cả các mẫu tiếp theo, cho đến khi một mẫu khác
cú pháp được chọn.

Cả mẫu hình cầu và mẫu biểu thức chính quy đều không được root. Mẫu cú pháp toàn cầu của biểu mẫu *.NS sẽ
khớp với một tập tin kết thúc bằng .c trong bất kỳ thư mục nào và mẫu biểu thức chính quy có dạng \.c$ sẽ làm
giống nhau. Để root một mẫu biểu thức chính quy, hãy bắt đầu với ^.

Thư mục con có thể có cài đặt .hgignore riêng bằng cách thêm
subinclude:path/to/subdir/.hgignore tận gốc .hgignore. Thấy hg giúp đỡ mô hình cho
chi tiết về bao gồm phụ:bao gồm:.

Lưu ý Các mẫu được chỉ định khác với .hgignore luôn được root. Xin vui lòng xem hg giúp đỡ
mô hình để biết thêm chi tiết.

Ví dụ
Đây là một ví dụ về tập tin bỏ qua.

# sử dụng cú pháp toàn cầu.
cú pháp: toàn cầu

* .elc
*.pyc
*~

# chuyển sang cú pháp regrec.
cú pháp: regrec
^\.pc/

CẤU HÌNH HGWEB


Máy chủ web nội bộ của Mercurial, hgweb, có thể phục vụ một kho lưu trữ duy nhất hoặc một cây
kho lưu trữ. Trong trường hợp thứ hai, đường dẫn kho lưu trữ và các tùy chọn chung có thể được xác định bằng cách sử dụng
một tập tin cấu hình chuyên dụng chung cho hg phục vụ, hgweb.wsgi, hgweb.cgihgweb.fcgi.

Tệp này sử dụng cú pháp tương tự như các tệp cấu hình Mercurial khác nhưng chỉ nhận dạng
các phần sau:

· mạng

· đường dẫn

· bộ sưu tập

Sản phẩm web các tùy chọn được mô tả kỹ lưỡng trong hg giúp đỡ cấu hình.

Sản phẩm đường dẫn phần ánh xạ đường dẫn URL tới đường dẫn của kho lưu trữ trong hệ thống tệp. hgweb sẽ
không hiển thị trực tiếp hệ thống tập tin - chỉ các kho lưu trữ Mercurial mới có thể được xuất bản và chỉ
theo cấu hình.

Phía bên trái là đường dẫn trong URL. Lưu ý rằng hgweb dự trữ các đường dẫn phụ như vòng quay or
hồ sơ, hãy thử sử dụng các tên khác nhau cho các kho lưu trữ lồng nhau để tránh các hiệu ứng khó hiểu.

Phía bên phải là đường dẫn trong hệ thống tập tin. Nếu đường dẫn được chỉ định kết thúc bằng * or **
hệ thống tập tin sẽ được tìm kiếm đệ quy cho các kho lưu trữ bên dưới điểm đó. Với * it
sẽ không lặp lại vào kho mà nó tìm thấy (ngoại trừ .hg/bản vá). Với ** nó sẽ
cũng tìm kiếm bên trong các thư mục làm việc của kho lưu trữ và có thể tìm thấy các kho lưu trữ con.

Trong ví dụ này:

[đường dẫn]
/dự án/a = /srv/tmprepos/a
/dự án/b = c:/repos/b
/ = /srv/repos/*
/người dùng/bob = /home/bob/repos/**

· Hai mục đầu tiên làm cho hai kho lưu trữ trong các thư mục khác nhau xuất hiện bên dưới
cùng một thư mục trong giao diện web

· Mục thứ ba sẽ xuất bản mọi kho lưu trữ Mercurial được tìm thấy trong /srv/repos/, Cho
ví dụ kho lưu trữ /srv/repos/quux/ sẽ xuất hiện dưới dạng http://server/quux/

· Mục thứ tư sẽ xuất bản cả hai http://server/user/bob/quux/
http://server/user/bob/quux/testsubrepo/

Sản phẩm bộ sưu tập phần này không được dùng nữa và đã được thay thế bởi đường dẫn.

URL Chung Lập luận
URL trong mỗi kho lưu trữ có dạng /{lệnh[/{arguments}] Ở đâu {chỉ huy}
đại diện cho tên của một lệnh hoặc trình xử lý và {tranh luận} đại diện cho bất kỳ số lượng
các tham số URL bổ sung cho lệnh đó.

Máy chủ web có một kiểu mặc định được liên kết với nó. Bản đồ kiểu tới một bộ sưu tập được đặt tên
mẫu. Mỗi mẫu được sử dụng để hiển thị một phần dữ liệu cụ thể, chẳng hạn như tập hợp thay đổi
hoặc khác biệt.

Kiểu của yêu cầu hiện tại có thể được ghi đè theo hai cách. Đầu tiên, nếu {chỉ huy}
chứa dấu gạch nối (-), văn bản trước dấu gạch nối xác định kiểu. Ví dụ,
/log nguyên tử sẽ hiển thị đăng nhập trình xử lý lệnh với nguyên tử phong cách. Cách thứ hai để thiết lập
phong cách là với phong cách đối số chuỗi truy vấn. Ví dụ, /log?style=atom. Các
tham số URL có dấu gạch nối được ưu tiên.

Không phải tất cả các mẫu đều có sẵn cho mọi kiểu. Cố gắng sử dụng một phong cách không
có tất cả các mẫu được xác định có thể dẫn đến lỗi hiển thị trang.

Nhiều lệnh mất một {ôn tập} tham số URL. Điều này xác định bộ thay đổi để hoạt động.
Điều này thường được chỉ định là chữ viết tắt thập lục phân ngắn, 12 chữ số cho toàn bộ 40
ký tự nhận dạng sửa đổi duy nhất. Tuy nhiên, bất kỳ giá trị nào được mô tả bởi hg giúp đỡ Sửa đổi
thường hoạt động.

Lệnh URL
Các lệnh web sau và URL của chúng có sẵn:

/annotate/{revision}/{path}
Hiển thị thông tin thay đổi cho từng dòng trong một tệp.

Sản phẩm chú thích tập tin mẫu được hiển thị.

/archive/{revision}.{format[/{path}]
Có được một kho lưu trữ nội dung kho lưu trữ.

Nội dung và loại của kho lưu trữ được xác định bởi tham số đường dẫn URL. định dạng
phần mở rộng tệp của loại lưu trữ sẽ được tạo. ví dụ zip or tar.bz2. Không phải tất cả kho lưu trữ
các loại có thể được cấu hình máy chủ của bạn cho phép.

Tùy chọn con đường Tham số URL kiểm soát nội dung được đưa vào kho lưu trữ. Nếu bỏ qua,
mọi tệp trong bản sửa đổi được chỉ định đều có trong kho lưu trữ. Nếu được đưa vào thì chỉ
tập tin được chỉ định hoặc nội dung của thư mục được chỉ định sẽ được đưa vào kho lưu trữ.

Không có mẫu nào được sử dụng cho trình xử lý này. Nội dung thô, nhị phân được tạo ra.

/dấu trang
Hiển thị thông tin về dấu trang.

Không có đối số được chấp nhận.

Sản phẩm bookmark mẫu được hiển thị.

/chi nhánh
Hiển thị thông tin về các chi nhánh.

Tất cả các nhánh đã biết đều được chứa trong đầu ra, thậm chí cả các nhánh đã đóng.

Không có đối số được chấp nhận.

Sản phẩm chi nhánh mẫu được hiển thị.

/changelog[/{revision}]
Hiển thị thông tin về nhiều bộ thay đổi.

Nếu tùy chọn sửa đổi Đối số URL không có, thông tin về tất cả các thay đổi bắt đầu
at tip sẽ được kết xuất. Nếu sửa đổi đối số có mặt, các thay đổi sẽ được hiển thị
bắt đầu từ bản sửa đổi được chỉ định.

If sửa đổi vắng mặt, vòng quay đối số chuỗi truy vấn có thể được xác định. Điều này sẽ thực hiện một
tìm kiếm các tập thay đổi.

Lập luận cho vòng quay có thể là một bản sửa đổi duy nhất, một bộ sửa đổi hoặc một từ khóa theo nghĩa đen để
tìm kiếm trong dữ liệu thay đổi (tương đương với hg đăng nhập -k).

Sản phẩm đếm lại đối số chuỗi truy vấn xác định số lượng bộ thay đổi tối đa cần hiển thị.

Đối với những nội dung không phải tìm kiếm, changelog mẫu sẽ được hiển thị.

/changeset[/{revision}]
Hiển thị thông tin về một bộ thay đổi duy nhất.

Đối số đường dẫn URL là mã định danh tập hợp thay đổi sẽ hiển thị. Nhìn thấy hg giúp đỡ Sửa đổi cho
những giá trị khả thi. Nếu không được xác định thì tip bộ thay đổi sẽ được hiển thị.

Sản phẩm changeset mẫu được hiển thị. Nội dung của thẻ thay đổi, dấu trang thay đổi,
liên kết tập tin, liên kết tập tinvà nhiều mẫu liên quan đến khác biệt đều có thể được sử dụng để
tạo ra đầu ra.

/comparison/{revision}/{path}
Hiển thị so sánh giữa phiên bản cũ và phiên bản mới của tệp từ những thay đổi được thực hiện trên
sửa đổi cụ thể.

Điều này tương tự như khác người xử lý. Tuy nhiên, biểu mẫu này có tính năng phân chia hoặc cạnh nhau
khác biệt chứ không phải là một khác biệt thống nhất.

Sản phẩm bối cảnh đối số chuỗi truy vấn có thể được sử dụng để kiểm soát các dòng ngữ cảnh trong khác biệt.

Sản phẩm so sánh tập tin mẫu được hiển thị.

/diff/{revision}/{path}
Hiển thị cách một tập tin thay đổi trong một cam kết cụ thể.

Sản phẩm người nộp đơn mẫu được hiển thị.

Trình xử lý này được đăng ký theo cả /khác biệt/người nộp đơn đường dẫn. /khác biệt được sử dụng trong
mã hiện đại.

/tập tin/{sửa đổi[/{path}]
Hiển thị thông tin về một thư mục hoặc tập tin trong kho lưu trữ.

Thông tin về con đường được cung cấp dưới dạng tham số URL sẽ được hiển thị.

If con đường là một thư mục, thông tin về các mục trong thư mục đó sẽ được hiển thị.
Hình thức này tương đương với biểu hiện người xử lý.

If con đường là một tập tin, thông tin về tập tin đó sẽ được hiển thị thông qua sửa đổi tập tin
bản mẫu.

If con đường không được xác định, thông tin về thư mục gốc sẽ được hiển thị.

/diff/{revision}/{path}
Hiển thị cách một tập tin thay đổi trong một cam kết cụ thể.

Sản phẩm người nộp đơn mẫu được hiển thị.

Trình xử lý này được đăng ký theo cả /khác biệt/người nộp đơn đường dẫn. /khác biệt được sử dụng trong
mã hiện đại.

/filelog/{revision}/{path}
Hiển thị thông tin về lịch sử của một tập tin trong kho lưu trữ.

Sản phẩm đếm lại đối số chuỗi truy vấn có thể được xác định để kiểm soát số lượng mục nhập tối đa
để hiển thị.

Sản phẩm hồ sơ mẫu sẽ được hiển thị.

/đồ thị[/{revision}]
Hiển thị thông tin về cấu trúc liên kết đồ họa của kho lưu trữ.

Thông tin được trình xử lý này đưa ra có thể được sử dụng để tạo ra các biểu diễn trực quan của
cấu trúc liên kết kho lưu trữ.

Sản phẩm sửa đổi Tham số URL kiểm soát tập hợp thay đổi bắt đầu.

Sản phẩm đếm lại đối số chuỗi truy vấn có thể xác định số lượng thay đổi để hiển thị thông tin
Cho.

Trình xử lý này sẽ hiển thị đồ thị bản mẫu.

/chủ đề giúp đỡ}]
Kết xuất tài liệu trợ giúp.

Lệnh web này gần tương đương với hg giúp đỡ. Nếu một chủ đề được xác định, chủ đề trợ giúp đó
sẽ được kết xuất. Nếu không, chỉ mục các chủ đề trợ giúp có sẵn sẽ được hiển thị.

Sản phẩm giúp đỡ mẫu sẽ được hiển thị khi yêu cầu trợ giúp cho một chủ đề. chủ đề trợ giúp sẽ được
được hiển thị cho chỉ mục các chủ đề trợ giúp.

/log[/{revision[/{path}]]
Hiển thị lịch sử kho lưu trữ hoặc tập tin.

Đối với các URL có dạng /log/{sửa đổi}, một danh sách các tập hợp thay đổi bắt đầu từ địa chỉ được chỉ định
mã định danh tập hợp thay đổi được hiển thị. Nếu như {ôn tập} không được xác định, mặc định là tip. Mẫu này
tương đương với changelog người xử lý.

Đối với các URL có dạng /log/{revision}/{file}, lịch sử của một tập tin cụ thể sẽ là
cho xem. Hình thức này tương đương với hồ sơ người xử lý.

/manifest[/{revision[/{path}]]
Hiển thị thông tin về một thư mục.

Nếu các đối số đường dẫn URL bị bỏ qua, thông tin về thư mục gốc của tip
bộ thay đổi sẽ được hiển thị.

Vì trình xử lý này chỉ có thể hiển thị thông tin cho các thư mục nên nên sử dụng
các hồ sơ thay vào đó, nó có thể xử lý cả thư mục và tập tin.

Sản phẩm biểu hiện mẫu sẽ được hiển thị cho trình xử lý này.

/changeset[/{revision}]
Hiển thị thông tin về một bộ thay đổi duy nhất.

Đối số đường dẫn URL là mã định danh tập hợp thay đổi sẽ hiển thị. Nhìn thấy hg giúp đỡ Sửa đổi cho
những giá trị khả thi. Nếu không được xác định thì tip bộ thay đổi sẽ được hiển thị.

Sản phẩm changeset mẫu được hiển thị. Nội dung của thẻ thay đổi, dấu trang thay đổi,
liên kết tập tin, liên kết tập tinvà nhiều mẫu liên quan đến khác biệt đều có thể được sử dụng để
tạo ra đầu ra.

/truyện ngắn
Hiển thị thông tin cơ bản về một tập hợp các bộ thay đổi.

Điều này chấp nhận các tham số tương tự như changelog người xử lý. Sự khác biệt duy nhất là
viết tắt mẫu sẽ được hiển thị thay vì changelog bản mẫu.

/bản tóm tắt
Hiển thị bản tóm tắt trạng thái kho lưu trữ.

Thông tin về các bộ thay đổi, dấu trang, thẻ và nhánh mới nhất được ghi lại bằng cách này
người xử lý.

Sản phẩm tóm tắt mẫu được hiển thị.

/thẻ
Hiển thị thông tin về thẻ.

Không có đối số được chấp nhận.

Sản phẩm thẻ mẫu được hiển thị.

KỸ THUẬT THỰC HIỆN CHỦ ĐỀ



thùng chứa để trao đổi dữ liệu kho lưu trữ

nhóm thay đổi
biểu diễn dữ liệu revlog

quay vòng
cơ chế lưu trữ sửa đổi

MERGE TOOLS


Để hợp nhất các tập tin Mercurial sử dụng các công cụ hợp nhất.

Công cụ hợp nhất kết hợp hai phiên bản khác nhau của một tệp thành một tệp được hợp nhất. Công cụ hợp nhất là
dựa trên hai tệp và tổ tiên chung lớn nhất của hai phiên bản tệp, vì vậy chúng có thể
xác định những thay đổi được thực hiện trên cả hai nhánh.

Công cụ hợp nhất được sử dụng cho cả hg giải quyết, hg hợp nhất, hg cập nhật, hg hậu thuẫn và trong một số
phần mở rộng.

Thông thường, công cụ hợp nhất sẽ cố gắng tự động điều hòa các tệp bằng cách kết hợp tất cả
những thay đổi không chồng chéo xảy ra riêng biệt trong hai quá trình phát triển khác nhau của
cùng một tập tin cơ sở ban đầu. Hơn nữa, một số chương trình hợp nhất tương tác làm cho việc
giải quyết thủ công các sự hợp nhất xung đột, theo cách đồ họa hoặc bằng cách chèn một số
dấu hiệu xung đột. Mercurial không bao gồm bất kỳ chương trình hợp nhất tương tác nào mà dựa vào
công cụ bên ngoài cho việc đó.

Có Sẵn hợp nhất công cụ
Các công cụ hợp nhất bên ngoài và thuộc tính của chúng được định cấu hình trong cấu hình công cụ hợp nhất
phần - xem hgrc(5) - nhưng chúng thường có thể được đặt tên theo tệp thực thi của chúng.

Một công cụ hợp nhất thường có thể sử dụng được nếu có thể tìm thấy tệp thực thi của nó trên hệ thống và nếu nó
có thể xử lý việc hợp nhất. Tệp thực thi được tìm thấy nếu nó là tệp thực thi tuyệt đối hoặc tương đối
đường dẫn hoặc tên của ứng dụng trong đường dẫn tìm kiếm thực thi. Công cụ này được cho là
có thể xử lý việc hợp nhất nếu nó có thể xử lý các liên kết tượng trưng nếu tệp là một liên kết tượng trưng, ​​​​nếu có thể
xử lý các tệp nhị phân nếu tệp là nhị phân và nếu có sẵn GUI nếu công cụ yêu cầu
một GUI.

Có một số công cụ hợp nhất nội bộ có thể được sử dụng. Các công cụ hợp nhất nội bộ là:

:bãi rác

Tạo ba phiên bản của tệp để hợp nhất, chứa nội dung cục bộ,
khác và cơ sở. Những tệp này sau đó có thể được sử dụng để thực hiện hợp nhất theo cách thủ công. Nếu
tập tin được hợp nhất được đặt tên a.txt, những tập tin này sẽ được đặt tên theo đó
a.txt.local, a.txt.othera.txt.base và chúng sẽ được đặt trong cùng một
thư mục như a.txt.

:Thất bại

Thay vì cố gắng hợp nhất các tập tin đã được sửa đổi trên cả hai nhánh, nó đánh dấu
chúng như chưa được giải quyết. Lệnh giải quyết phải được sử dụng để giải quyết những xung đột này.

:địa phương

Sử dụng phiên bản cục bộ của tệp làm phiên bản hợp nhất.

:hợp nhất

Sử dụng thuật toán hợp nhất đơn giản không tương tác nội bộ để hợp nhất các tệp. Nó sẽ
thất bại nếu có bất kỳ xung đột nào và để lại dấu vết trong tệp được hợp nhất một phần.
Điểm đánh dấu sẽ có hai phần, một phần dành cho mỗi bên hợp nhất.

: hợp nhất-địa phương

Giống như: hợp nhất, nhưng giải quyết mọi xung đột một cách không tương tác có lợi cho địa phương
thay đổi.

:merge-other

Giống như: hợp nhất, nhưng giải quyết mọi xung đột một cách không tương tác có lợi cho xung đột khác
thay đổi.

:hợp nhất3

Sử dụng thuật toán hợp nhất đơn giản không tương tác nội bộ để hợp nhất các tệp. Nó sẽ
thất bại nếu có bất kỳ xung đột nào và để lại dấu vết trong tệp được hợp nhất một phần.
Điểm đánh dấu sẽ có ba phần, một phần ở mỗi bên của phần hợp nhất và một phần dành cho
nội dung cơ sở.

:khác

Sử dụng phiên bản khác của tệp làm phiên bản hợp nhất.

:lời nhắc

Hỏi người dùng nên giữ phiên bản cục bộ hay phiên bản nào khác làm bản hợp nhất
phiên bản.

:gắn thẻ

Sử dụng thuật toán hợp nhất thẻ nội bộ (thử nghiệm).

:liên hiệp

Sử dụng thuật toán hợp nhất đơn giản không tương tác nội bộ để hợp nhất các tệp. Nó sẽ
sử dụng cả bên trái và bên phải cho các khu vực xung đột. Không có điểm đánh dấu nào được chèn vào.

Các công cụ nội bộ luôn có sẵn và không yêu cầu GUI nhưng theo mặc định sẽ không
xử lý các liên kết tượng trưng hoặc tập tin nhị phân.

Chọn a hợp nhất công cụ
Mercurial sử dụng các quy tắc này khi quyết định sử dụng công cụ hợp nhất nào:

1. Nếu một công cụ đã được chỉ định bằng tùy chọn --tool để hợp nhất hoặc giải quyết, thì công cụ đó sẽ được sử dụng.
Nếu đó là tên của một công cụ trong cấu hình công cụ hợp nhất, thì cấu hình của nó là
đã sử dụng. Nếu không, công cụ được chỉ định phải được shell thực thi.

2. Nếu các HGMERGE biến môi trường hiện diện, giá trị của nó được sử dụng và phải được
thực thi bởi shell.

3. Nếu tên tệp của tệp được hợp nhất khớp với bất kỳ mẫu nào trong
phần cấu hình mẫu hợp nhất, công cụ hợp nhất có thể sử dụng đầu tiên tương ứng với một
mẫu phù hợp được sử dụng. Ở đây, khả năng nhị phân của công cụ hợp nhất không
xem xét.

4. Nếu ui.merge được đặt, nó sẽ được xem xét tiếp theo. Nếu giá trị không phải là tên của một
công cụ được cấu hình, giá trị đã chỉ định sẽ được sử dụng và phải được shell thực thi.
Ngược lại, công cụ được đặt tên sẽ được sử dụng nếu nó có thể sử dụng được.

5. Nếu có bất kỳ công cụ hợp nhất có thể sử dụng nào có trong phần cấu hình công cụ hợp nhất, thì công cụ đó
có mức độ ưu tiên cao nhất sẽ được sử dụng.

6. Nếu một chương trình có tên hgmerge có thể được tìm thấy trên hệ thống, nó được sử dụng - nhưng nó sẽ
mặc định không được sử dụng cho các liên kết tượng trưng và tệp nhị phân.

7. Nếu tệp được hợp nhất không phải là tệp nhị phân và không phải là liên kết tượng trưng thì nội bộ :hợp nhất is
đã sử dụng.

8. Việc hợp nhất tệp không thành công và phải được giải quyết trước khi chuyển giao.

Lưu ý Sau khi chọn chương trình hợp nhất, Mercurial theo mặc định sẽ cố gắng hợp nhất
trước tiên hãy sử dụng thuật toán hợp nhất đơn giản. Chỉ khi nó không thành công vì
những thay đổi xung đột Mercurial sẽ thực sự thực thi chương trình hợp nhất. Có nên
sử dụng thuật toán hợp nhất đơn giản trước tiên có thể được kiểm soát bằng cài đặt tiền hợp nhất của
công cụ hợp nhất. Premerge được bật theo mặc định trừ khi tệp là nhị phân hoặc
liên kết tượng trưng.

Xem phần công cụ hợp nhất và giao diện người dùng của hgrc(5) để biết chi tiết về cấu hình hợp nhất
công cụ hơn nữa.

ĐẶC ĐIỂM KỸ THUẬT NHIỀU LỜI KHUYÊN


Khi Mercurial chấp nhận nhiều bản sửa đổi, chúng có thể được chỉ định riêng lẻ hoặc
được cung cấp dưới dạng phạm vi liên tục về mặt tôpô, được phân tách bằng ký tự ://.

Cú pháp của ký hiệu phạm vi là [BEGIN]:[END], trong đó BEGIN và END là bản sửa đổi
số nhận dạng. Cả BEGIN và END đều là tùy chọn. Nếu BEGIN không được chỉ định, nó sẽ mặc định là
số sửa đổi 0. Nếu END không được chỉ định, nó sẽ mặc định là tiền boa. Phạm vi :// do đó
có nghĩa là "tất cả các sửa đổi".

Nếu BEGIN lớn hơn END, các sửa đổi sẽ được xử lý theo thứ tự ngược lại.

Một phạm vi hoạt động như một khoảng đóng. Điều này có nghĩa là phạm vi 3:5 cho 3, 4 và 5.
Tương tự, phạm vi 9:6 cho 9, 8, 7 và 6.

FILE TÊN THỰC TRẠNG


Mercurial chấp nhận một số ký hiệu để xác định một hoặc nhiều tệp cùng một lúc.

Theo mặc định, Mercurial coi tên tệp là các mẫu hình cầu mở rộng kiểu shell.

Các ký hiệu mẫu thay thế phải được chỉ định rõ ràng.

Lưu ý Các mẫu được chỉ định trong .hgignore không được root. Xin vui lòng xem hg giúp đỡ bỏ qua cho
chi tiết.

Để sử dụng tên đường dẫn đơn giản mà không khớp mẫu nào, hãy bắt đầu bằng con đường:. Những con đường này
tên phải hoàn toàn khớp bắt đầu từ thư mục gốc của kho lưu trữ hiện tại.

Để sử dụng một hình cầu mở rộng, hãy bắt đầu một tên bằng cầu:. Globs bắt nguồn từ hiện tại
danh mục; một quả địa cầu như *.NS sẽ chỉ khớp các tệp trong thư mục hiện tại kết thúc bằng
.c.

Các phần mở rộng cú pháp toàn cầu được hỗ trợ là ** để khớp bất kỳ chuỗi nào trên các dấu phân cách đường dẫn và
{a,b} có nghĩa là "a hoặc b".

Để sử dụng biểu thức chính quy Perl/Python, hãy bắt đầu một tên bằng lại:. Khớp mẫu Regexp
được neo ở thư mục gốc của kho lưu trữ.

Để đọc các mẫu tên từ một tệp, hãy sử dụng danh sách tập tin: or danh sáchfile0:. Cái sau mong đợi null
các mẫu được phân tách trong khi mẫu trước đây mong đợi nguồn cấp dữ liệu dòng. Mỗi chuỗi được đọc từ tập tin là
chính nó được coi là một mẫu tập tin.

Để đọc một tập hợp các mẫu từ một tệp, hãy sử dụng bao gồm: or bao gồm phụ:. bao gồm: sẽ sử dụng tất cả
các mẫu từ tệp đã cho và xử lý chúng như thể chúng được chuyển vào một cách thủ công.
bao gồm phụ: sẽ chỉ áp dụng các mẫu đối với các tệp nằm trong phần bao gồm phụ
thư mục của tập tin. Nhìn thấy hg giúp đỡ bỏ qua để biết chi tiết về định dạng của các tập tin này.

Tất cả các mẫu, ngoại trừ cầu: được chỉ định trong dòng lệnh (không dành cho -I or -X tùy chọn), có thể
cũng khớp với các thư mục: các tệp trong thư mục khớp được coi là khớp.

Ví dụ đơn giản:

path:foo/bar một thanh tên trong thư mục có tên foo trong thư mục gốc
của kho lưu trữ
path:path:name một tập tin hoặc thư mục có tên "path:name"

Ví dụ toàn cầu:

glob:*.c bất kỳ tên nào kết thúc bằng ".c" trong thư mục hiện tại
*.c bất kỳ tên nào kết thúc bằng ".c" trong thư mục hiện tại
**.c bất kỳ tên nào kết thúc bằng ".c" trong bất kỳ thư mục con nào của
thư mục hiện tại bao gồm cả chính nó.
foo/*.c bất kỳ tên nào kết thúc bằng ".c" trong thư mục foo
foo/**.c bất kỳ tên nào kết thúc bằng ".c" trong bất kỳ thư mục con nào của foo
bao gồm cả chính nó.

Ví dụ về biểu thức chính quy:

re:.*\.c$ bất kỳ tên nào kết thúc bằng ".c", ở bất kỳ đâu trong kho lưu trữ

Ví dụ về tập tin:

listfile:list.txt đọc danh sách từ list.txt với một mẫu tệp trên mỗi dòng
listfile0:list.txt đọc danh sách từ list.txt với dấu phân cách byte rỗng

Xem thêm hg giúp đỡ tập tin.

Bao gồm các ví dụ:

include:path/to/mypotypefile đọc các mẫu sẽ được áp dụng cho tất cả các đường dẫn
subinclude:path/to/subignorefile đọc các mẫu cụ thể cho các đường dẫn trong
thư mục con

LÀM VIỆC CÙNG VỚI GIAI ĐOẠN


Điều gì đang giai đoạn?
Các giai đoạn là một hệ thống để theo dõi những thay đổi nào đã hoặc nên được chia sẻ. Cái này
giúp ngăn ngừa các lỗi thường gặp khi sửa đổi lịch sử (ví dụ: với mq hoặc rebase
phần mở rộng).

Mỗi bộ thay đổi trong kho lưu trữ thuộc một trong các giai đoạn sau:

· public : bộ thay đổi hiển thị trên máy chủ công cộng

· bản nháp: tập hợp thay đổi chưa được công bố

· bí mật: tập hợp thay đổi không được đẩy, kéo hoặc nhân bản

Các giai đoạn này được sắp xếp theo thứ tự (công khai < dự thảo < bí mật) và không có tập hợp thay đổi nào có thể ở mức thấp hơn
giai đoạn hơn so với tổ tiên của nó. Ví dụ: nếu một tập thay đổi được công khai thì tất cả tổ tiên của nó đều được
cũng công khai. Cuối cùng, các giai đoạn thay đổi chỉ nên được thay đổi theo giai đoạn công khai.

Độ đáng tin của đang giai đoạn quản lý?
Đối với hầu hết các phần, các giai đoạn sẽ hoạt động minh bạch. Theo mặc định, một bộ thay đổi được tạo trong
giai đoạn dự thảo và được chuyển sang giai đoạn công khai khi nó được đẩy sang giai đoạn khác
kho.

Khi các tập thay đổi được công khai, các tiện ích mở rộng như mq và rebase sẽ từ chối hoạt động trên
chúng để ngăn chặn việc tạo các tập hợp thay đổi trùng lặp. Các giai đoạn cũng có thể được thao tác thủ công
với hg giai đoạn lệnh nếu cần thiết. Nhìn thấy hg giúp đỡ -v giai đoạn ví dụ như.

Để giữ bí mật các cam kết của bạn theo mặc định, hãy đặt phần này vào tệp cấu hình của bạn:

[giai đoạn]
cam kết mới = bí mật

Giai đoạn máy chủ
Thông thường, tất cả các máy chủ đều xuất bản theo mặc định. Điều này có nghĩa là:

- tất cả các tập thay đổi dự thảo được kéo hoặc sao chép sẽ xuất hiện theo từng giai đoạn
công khai trên máy khách

- tất cả các tập hợp thay đổi dự thảo được đẩy sẽ xuất hiện dưới dạng công khai trên cả hai
máy khách và máy chủ

- các tập thay đổi bí mật không được đẩy, kéo hoặc sao chép

Lưu ý Việc kéo tập thay đổi dự thảo từ máy chủ xuất bản sẽ không đánh dấu nó là công khai trên
phía máy chủ do tính chất kéo chỉ đọc.

Đôi khi có thể muốn đẩy và kéo các thay đổi trong giai đoạn phác thảo để chia sẻ
công việc chưa hoàn thành. Điều này có thể được thực hiện bằng cách đặt một kho lưu trữ để vô hiệu hóa việc xuất bản trong
tập tin cấu hình:

[giai đoạn]
xuất bản = Sai

Xem hg giúp đỡ cấu hình để biết thêm thông tin về các tập tin cấu hình.

Lưu ý Máy chủ chạy phiên bản Mercurial cũ hơn được coi là xuất bản.

Lưu ý Các thay đổi trong giai đoạn bí mật không được trao đổi với máy chủ. Điều này áp dụng cho họ
nội dung: tên tệp, nội dung tệp và siêu dữ liệu thay đổi. Vì lý do kỹ thuật,
mã định danh (ví dụ d825e4025e39) của tập thay đổi bí mật có thể được truyền tới
máy chủ.

Các ví dụ
· Liệt kê các thay đổi trong giai đoạn dự thảo hoặc bí mật:

hg log -r "không công khai()"

· thay đổi tất cả các tập thay đổi bí mật thành bản nháp:

pha hg --draft "bí mật()"

· buộc phải di chuyển tập thay đổi hiện tại và hậu duệ từ công khai sang bản nháp:

hg pha --force --draft .

· hiển thị danh sách sửa đổi và giai đoạn thay đổi:

hg log --template "{rev} {phase}\n"

· Đồng bộ hóa lại các tập hợp thay đổi dự thảo liên quan đến kho lưu trữ từ xa:

hg giai đoạn -fd "gửi đi (URL)"

Xem hg giúp đỡ giai đoạn để biết thêm thông tin về các giai đoạn thao tác thủ công.

ĐẶC ĐIỂM KỸ THUẬT SINGLE LỜI KHUYÊN


Mercurial hỗ trợ một số cách để chỉ định các phiên bản riêng lẻ.

Một số nguyên đơn giản được coi là số sửa đổi. Số nguyên âm được coi là
độ lệch tuần tự từ phần đầu, với -1 biểu thị phần đầu, -2 biểu thị bản sửa đổi trước
đến đầu, vân vân.

Chuỗi thập lục phân gồm 40 chữ số được coi là mã định danh sửa đổi duy nhất.

Chuỗi thập lục phân dài dưới 40 ký tự được coi là bản sửa đổi duy nhất
mã định danh và được gọi là mã định danh dạng ngắn. Một mã định danh dạng ngắn chỉ
hợp lệ nếu nó là tiền tố của chính xác một mã định danh có độ dài đầy đủ.

Bất kỳ chuỗi nào khác đều được coi là dấu trang, thẻ hoặc tên nhánh. Dấu trang có thể di chuyển được
con trỏ tới một bản sửa đổi. Thẻ là tên cố định gắn liền với bản sửa đổi. Tên chi nhánh
biểu thị nhánh mở nhất của nhánh đó - hoặc nếu tất cả chúng đều đóng, thì
đầu kín nhất của cành. Dấu trang, thẻ và tên chi nhánh không được chứa
":" tính cách.

Tên dành riêng "mẹo" luôn xác định bản sửa đổi gần đây nhất.

Tên dành riêng "null" cho biết bản sửa đổi null. Đây là bản sửa đổi của một sản phẩm nào
kho lưu trữ và cha mẹ của bản sửa đổi 0.

Tên dành riêng "." cho biết thư mục mẹ làm việc. Nếu không có thư mục làm việc
đã kiểm tra, nó tương đương với null. Nếu quá trình hợp nhất không được cam kết đang diễn ra, "." là
sửa đổi của cha mẹ đầu tiên.

ĐẶC ĐIỂM KỸ THUẬT TÁI TẠO SETS


Mercurial hỗ trợ một ngôn ngữ chức năng để chọn một tập hợp các bản sửa đổi.

Ngôn ngữ này hỗ trợ một số vị từ được nối bởi các toán tử trung tố.
Dấu ngoặc đơn có thể được sử dụng để nhóm.

Các mã định danh như tên chi nhánh có thể cần trích dẫn bằng dấu ngoặc đơn hoặc dấu ngoặc kép nếu chúng
chứa các ký tự như - hoặc nếu chúng khớp với một trong các vị từ được xác định trước.

Các ký tự đặc biệt có thể được sử dụng trong các mã định danh được trích dẫn bằng cách thoát khỏi chúng, ví dụ: \n is
được hiểu là một dòng mới. Để tránh việc chúng bị diễn giải, các chuỗi có thể được thêm tiền tố
với r, ví dụ r'...'.

Có một toán tử tiền tố duy nhất:

không x

Các tập thay đổi không có trong x. Dạng rút gọn là ! x.

Đây là các toán tử infix được hỗ trợ:

x::y

Phạm vi DAG, nghĩa là tất cả các tập thay đổi là hậu duệ của x và tổ tiên của y,
bao gồm cả x và y. Nếu điểm cuối đầu tiên bị bỏ qua, điều này tương đương
đến tổ tiên(y), nếu cái thứ hai bị bỏ đi thì nó tương đương với con cháu(x).

Một cú pháp thay thế là x..y.

x: y

Tất cả các tập thay đổi có số sửa đổi nằm trong khoảng từ x đến y, bao gồm cả hai. Hoặc
điểm cuối có thể bị bỏ qua, chúng mặc định là 0 và tip.

x y

Giao điểm của các tập thay đổi trong x và y. Dạng rút gọn là x & y.

x or y

Hợp các tập thay đổi trong x và y. Có hai hình thức ngắn thay thế: x | y
x + y.

x - y

Các thay đổi trong x nhưng không phải trong y.

x ^ n

Cha mẹ thứ n của x, n == 0, 1 hoặc 2. For n == 0, x; với n == 1, cha mẹ đầu tiên
của mỗi tập thay đổi trong x; với n == 2, cha thứ hai của tập thay đổi trong x.

x~n

Tổ tiên đầu tiên thứ n của x; x~0 là x; x~3 is x^^^.

Có một toán tử postfix duy nhất:

x^

Tương đương với x ^ 1, cha đầu tiên của mỗi tập thay đổi trong x.

Các vị từ sau được hỗ trợ:

thêm (mẫu)

Các bộ thay đổi thêm mẫu khớp với tệp.

Mẫu không có loại rõ ràng như cầu: được kỳ vọng là tương đối với
thư mục hiện tại và khớp với một tập tin hoặc một thư mục.

tất cả các()

Tất cả các tập thay đổi, giống như 0: tiền boa.

tổ tiên(*changeset)

Tổ tiên chung lớn nhất của các bộ thay đổi.

Chấp nhận 0 hoặc nhiều thay đổi. Sẽ trả về danh sách trống khi không có đối số.
Tổ tiên chung lớn nhất của một tập thay đổi duy nhất là tập thay đổi đó.

tổ tiên (bộ)

Các bộ thay đổi là tổ tiên của một bộ thay đổi trong bộ.

tác giả(chuỗi)

Bí danh cho người dùng(chuỗi).

chia đôi(chuỗi)

Các bộ thay đổi được đánh dấu ở trạng thái chia đôi được chỉ định:

· tốt, xấu, bỏ qua: cset được đánh dấu rõ ràng là tốt/xấu/bỏ qua

· hàng hóa, xấu : csets tốt/xấu về mặt cấu trúc

· phạm vi : csets tham gia vào phép chia đôi

· cắt tỉa : csets là hàng hóa, hàng xấu hoặc bị bỏ qua

· chưa được kiểm tra : csets vẫn chưa rõ số phận

· bỏ qua : csets bị bỏ qua do cấu trúc liên kết DAG

· hiện hành : cset hiện đang được chia đôi

dấu trang([tên])

Dấu trang được đặt tên hoặc tất cả dấu trang.

If tên bắt đầu với lại:, phần còn lại của tên được coi là thông thường
sự biểu lộ. Để khớp với dấu trang thực sự bắt đầu bằng lại:, sử dụng tiền tố
nghĩa đen:.

nhánh (chuỗi or bộ)

Tất cả các tập thay đổi thuộc về nhánh nhất định hoặc các nhánh của nhánh nhất định
bộ thay đổi.

If chuỗi bắt đầu với lại:, phần còn lại của tên được coi là thông thường
sự biểu lộ. Để khớp với một nhánh thực sự bắt đầu bằng lại:, sử dụng tiền tố
nghĩa đen:.

điểm nhánh()

Bộ thay đổi có nhiều hơn một con.

va chạm()

Các tập thay đổi có thể thay đổi được đánh dấu là phần kế thừa của các tập thay đổi công khai.

Chỉ những tập hợp thay đổi không công khai và không lỗi thời mới có thể được bị va đập.

bó()

Các bộ thay đổi trong gói.

Gói phải được chỉ định bằng tùy chọn -R.

trẻ em (bộ)

Tập thay đổi con của các tập thay đổi trong tập hợp.

đã đóng()

Bộ thay đổi đã bị đóng.

chứa (mẫu)

Tệp kê khai của bản sửa đổi chứa mẫu khớp với tệp (nhưng có thể không sửa đổi mẫu đó).
Xem hg giúp đỡ mô hình để biết thông tin về các mẫu tập tin.

Mẫu không có loại rõ ràng như cầu: được kỳ vọng là tương đối với
thư mục hiện tại và khớp chính xác với tệp để đạt hiệu quả.

đã chuyển đổi([id])

Các tập thay đổi được chuyển đổi từ mã định danh đã cho trong kho lưu trữ cũ nếu có hoặc
tất cả các tập thay đổi được chuyển đổi nếu không có mã định danh nào được chỉ định.

ngày (khoảng thời gian)

Các thay đổi trong khoảng thời gian, xem hg giúp đỡ ngày.

desc(chuỗi)

Tìm kiếm thông báo cam kết cho chuỗi. Trận đấu không phân biệt chữ hoa chữ thường.

hậu duệ (bộ)

Các bộ thay đổi là hậu duệ của các bộ thay đổi trong tập hợp.

đích ([bộ])

Các tập thay đổi được tạo bằng thao tác ghép, cấy ghép hoặc rebase, với
đưa ra các sửa đổi được chỉ định là nguồn. Bỏ qua bộ tùy chọn cũng giống như
vượt qua tất cả().

khác nhau()

Những người kế nhiệm cuối cùng của các tập hợp thay đổi với một tập hợp những người kế nhiệm cuối cùng thay thế.

bản nháp()

Thay đổi trong giai đoạn dự thảo.

tuyệt chủng()

Các tập hợp thay đổi lỗi thời chỉ có các phần tử con lỗi thời.

thêm (nhãn, [giá trị])

Các tập thay đổi có nhãn nhất định trong siêu dữ liệu bổ sung, với tùy chọn đã cho
giá trị.

If giá trị bắt đầu với lại:, phần còn lại của giá trị được coi là thông thường
sự biểu lộ. Để khớp với một giá trị thực sự bắt đầu bằng lại:, sử dụng tiền tố
nghĩa đen:.

tập tin (mẫu)

Các thay đổi ảnh hưởng đến các tệp khớp với mẫu.

Để có kết quả nhanh hơn nhưng kém chính xác hơn, hãy cân nhắc sử dụng filelog() thay thế.

Vị ngữ này sử dụng cầu: làm loại mẫu mặc định.

filelog(mẫu)

Các bộ thay đổi được kết nối với filelog được chỉ định.

Vì lý do hiệu suất, chỉ truy cập các bản sửa đổi được đề cập trong filelog ở cấp độ tệp,
thay vì lọc qua tất cả các tập hợp thay đổi (nhanh hơn nhiều nhưng không bao gồm
xóa hoặc sao chép các thay đổi). Để có kết quả chậm hơn, chính xác hơn, hãy sử dụng tài liệu().

Mẫu không có loại rõ ràng như cầu: được kỳ vọng là tương đối với
thư mục hiện tại và khớp chính xác với tệp để đạt hiệu quả.

Nếu một số linkrev trỏ đến các bản sửa đổi được lọc theo bản xem lại hiện tại, chúng tôi sẽ làm việc
xung quanh nó để trả về một giá trị không được lọc.

tập đầu tiên, [N])

Bí danh cho giới hạn().

theo dõi([mẫu])

Một bí danh cho ::. (tổ tiên của cha mẹ đầu tiên của thư mục làm việc). Nếu mẫu
được chỉ định, lịch sử của các tệp khớp với mẫu đã cho sẽ được tuân theo, bao gồm
các bản sao.

grep(regex)

Như từ khóa(chuỗi) nhưng chấp nhận một biểu thức chính quy. Sử dụng grep(r'...') để đảm bảo lối thoát đặc biệt
các ký tự được xử lý chính xác. không giống từ khóa(chuỗi), trận đấu là
trường hợp nhạy cảm.

cái đầu()

Changeset là người đứng đầu chi nhánh được đặt tên.

đầu (bộ)

Các thành viên của tập hợp không có con nào trong tập hợp.

ẩn giấu()

Bộ thay đổi ẩn.

id(chuỗi)

Bản sửa đổi được chỉ định rõ ràng bằng tiền tố chuỗi hex đã cho.

từ khóa(chuỗi)

Tìm kiếm thông báo cam kết, tên người dùng và tên của các tệp đã thay đổi cho chuỗi. Trận đấu
không phân biệt chữ hoa chữ thường.

tập cuối cùng, [N])

N thành viên cuối cùng của tập hợp, mặc định là 1.

giới hạn(đặt[, N[, bù lại]])

N thành viên đầu tiên của tập hợp, mặc định là 1, bắt đầu từ offset.

khớp (sửa đổi [, cánh đồng])

Các tập hợp thay đổi trong đó một tập hợp các trường nhất định khớp với tập hợp các trường trong vùng đã chọn
sửa đổi hoặc thiết lập.

Để khớp nhiều trường, hãy chuyển danh sách các trường cần khớp được phân tách bằng dấu cách
(ví dụ tác giả Mô tả).

Các trường hợp lệ là hầu hết các trường sửa đổi thường xuyên và một số trường đặc biệt.

Các trường sửa đổi thường xuyên là Mô tả, tác giả, địa điể̀m chọn lựa, ngày, các tập tin, giai đoạn,
cha mẹ, tiểu bang, người sử dụngkhác. Lưu ý rằng tác giảngười sử dụng là những từ đồng nghĩa. khác
đề cập đến nội dung của bản sửa đổi. Hai bản sửa đổi phù hợp với chúng khác cũng sẽ
phù hợp với họ các tập tin.

Các trường đặc biệt được tóm tắtsiêu dữ liệu: tóm tắt khớp với dòng đầu tiên của
sự miêu tả. siêu dữ liệu tương đương với sự phù hợp Mô tả người sử dụng ngày (tức là nó
khớp với các trường siêu dữ liệu chính).

siêu dữ liệu là trường mặc định được sử dụng khi không có trường nào được chỉ định. Bạn có thể
khớp với nhiều trường cùng một lúc.

tối đa (bộ)

Bộ thay đổi có số bản sửa đổi cao nhất trong bộ.

hợp nhất ()

Changeset là một bộ thay đổi hợp nhất.

phút (bộ)

Bộ thay đổi có số bản sửa đổi thấp nhất trong bộ.

sửa đổi (mẫu)

Các tập tin thay đổi sửa đổi khớp với mẫu.

Mẫu không có loại rõ ràng như cầu: được kỳ vọng là tương đối với
thư mục hiện tại và khớp với một tập tin hoặc một thư mục.

được đặt tên (không gian tên)

Các tập hợp thay đổi trong một không gian tên nhất định.

If không gian tên bắt đầu với lại:, phần còn lại của chuỗi được coi là thông thường
sự biểu lộ. Để khớp với một không gian tên thực sự bắt đầu bằng lại:, sử dụng tiền tố
nghĩa đen:.

lỗi thời()

Bộ thay đổi có thể thay đổi với phiên bản mới hơn.

chỉ (đặt, [bộ])

Các tập thay đổi là tổ tiên của tập đầu tiên mà không phải là tổ tiên của bất kỳ tập nào khác
đầu trong repo. Nếu tập hợp thứ hai được chỉ định, kết quả là tổ tiên của tập hợp đó
tập đầu tiên không phải là tổ tiên của tập thứ hai (tức là :: - :: ).

nguồn gốc([bộ])

Các bộ thay đổi được chỉ định làm nguồn cho các mảnh ghép, cấy ghép hoặc rebase
đã tạo ra các bản sửa đổi nhất định. Bỏ qua bộ tùy chọn cũng giống như vượt qua
tất cả(). Nếu một tập hợp thay đổi được tạo bởi các hoạt động này được chỉ định làm nguồn
đối với một trong các thao tác này, chỉ có tập hợp thay đổi nguồn cho thao tác đầu tiên là
đã chọn.

đi ([đường dẫn])

Không tìm thấy các bộ thay đổi trong kho lưu trữ đích được chỉ định hoặc đẩy mặc định
vị trí.

p1([bộ])

Cha đầu tiên của các tập thay đổi trong tập hợp hoặc thư mục làm việc.

p2([bộ])

Cha thứ hai của các tập thay đổi trong tập hợp hoặc thư mục làm việc.

cha mẹ([bộ])

Tập hợp tất cả cha mẹ cho tất cả các tập thay đổi trong tập hợp hoặc thư mục làm việc.

hiện tại (bộ)

Một tập hợp trống, nếu không tìm thấy bất kỳ bản sửa đổi nào trong tập hợp đó; mặt khác, tất cả các sửa đổi trong bộ.

Nếu bất kỳ bản sửa đổi nào được chỉ định không có trong kho lưu trữ cục bộ, truy vấn sẽ là
thường bị hủy bỏ. Nhưng vị từ này cho phép truy vấn tiếp tục ngay cả trong trường hợp như vậy.
các trường hợp.

công cộng()

Changeset trong giai đoạn công khai.

từ xa([id [,con đường]])

Bản sửa đổi cục bộ tương ứng với mã định danh đã cho trong kho lưu trữ từ xa, nếu
hiện tại. Ở đây, '.' mã định danh là từ đồng nghĩa với nhánh địa phương hiện tại.

loại bỏ (mẫu)

Các bộ thay đổi loại bỏ các tệp phù hợp với mẫu.

Mẫu không có loại rõ ràng như cầu: được kỳ vọng là tương đối với
thư mục hiện tại và khớp với một tập tin hoặc một thư mục.

vòng quay(số)

Sửa đổi với mã định danh số đã cho.

đảo ngược (bộ)

Đảo ngược thứ tự của tập hợp.

rễ (bộ)

Các tập thay đổi trong tập hợp không có tập hợp thay đổi cha nào trong tập hợp.

bí mật()

Changeset trong giai đoạn bí mật.

sắp xếp(bộ[, [-]chìa khóa...])

Sắp xếp theo phím. Thứ tự sắp xếp mặc định là tăng dần, chỉ định khóa là -Chìa khóa đến
sắp xếp theo thứ tự giảm dần.

Các phím có thể là:

· vòng quay đối với số sửa đổi,

· địa điể̀m chọn lựa cho tên chi nhánh,

· giảm dần đối với thông báo cam kết (mô tả),

· người sử dụng cho tên người dùng (tác giả có thể được sử dụng làm bí danh),

· ngày cho ngày cam kết

subrepo([mẫu])

Các bộ thay đổi thêm, sửa đổi hoặc loại bỏ kho lưu trữ con đã cho. Nếu không có mẫu subrepo nào
được đặt tên, mọi thay đổi của subrepo đều được trả về.

thẻ([tên])

Thẻ được chỉ định theo tên hoặc tất cả các phiên bản được gắn thẻ nếu không có tên nào được đưa ra.

If tên bắt đầu với lại:, phần còn lại của tên được coi là thông thường
sự biểu lộ. Để khớp với một thẻ thực sự bắt đầu bằng lại:, sử dụng tiền tố nghĩa đen:.

không ổn định()

Các tập hợp thay đổi không lỗi thời với tổ tiên đã lỗi thời.

người dùng(chuỗi)

Tên người dùng chứa chuỗi. Trận đấu không phân biệt chữ hoa chữ thường.

If chuỗi bắt đầu với lại:, phần còn lại của chuỗi được coi là thông thường
sự biểu lộ. Để khớp với người dùng thực sự có chứa lại:, sử dụng tiền tố nghĩa đen:.

Các vị từ mới (được gọi là "bí danh") có thể được xác định bằng cách sử dụng bất kỳ sự kết hợp nào của các thuộc tính hiện có.
vị từ hoặc bí danh khác. Một định nghĩa bí danh trông giống như:

=

trong revsetalias phần của tệp cấu hình Mercurial. Đối số của hình thức $1,
$2, v.v. được thay thế từ bí danh vào định nghĩa.

Ví dụ,

[revsetalias]
h = đầu()
d($1) = sắp xếp($1, ngày)
rs($1, $2) = đảo ngược(sắp xếp($1, $2))

định nghĩa ba bí danh, h, drs. rs(0:tip, tác giả) chính xác tương đương với
đảo ngược(sắp xếp(0:tip, tác giả)).

Toán tử trung tố ## có thể nối các chuỗi và mã định danh thành một chuỗi. Ví dụ:

[revsetalias]
issue($1) = grep(r'\bissue[ :]?' ## $1 ## r'\b|\bbug\(' ## $1 ## r'\)')

vấn đề(1234) tương đương với grep(r'\bissue[ :]?1234\b|\bbug\(1234\)') trong trường hợp này. Cái này
khớp với tất cả "vấn đề 1234", "vấn đề:1234", "vấn đề 1234" và "lỗi(1234) ”.

Tất cả các toán tử tiền tố, trung tố và hậu tố khác có mức độ ưu tiên thấp hơn ##. Ví dụ, $1
## ~ $ 2 2 tương đương với ($ 1 ## $2)~2.

Dòng lệnh tương đương cho hg đăng nhập:

-f -> ::.
-dx -> ngày(x)
-kx -> từ khóa(x)
-m -> hợp nhất()
-ux -> người dùng(x)
-bx -> nhánh(x)
-P x -> !::x
-lx -> giới hạn(expr, x)

Một số truy vấn mẫu:

· Các thay đổi trên nhánh mặc định:

hg log -r "nhánh (mặc định)"

· Các thay đổi trên nhánh mặc định kể từ thẻ 1.5 (không bao gồm việc hợp nhất):

hg log -r "branch(default) and 1.5:: and not merge()"

· Mở trưởng chi nhánh:

hg log -r "head() và chưa đóng()"

· Thay đổi giữa các thẻ 1.3 và 1.5 đề cập đến "lỗi" ảnh hưởng đến hgext/*:

hg log -r "1.3::1.5 và từ khóa (lỗi) và tệp ('hgext/*')"

· Các thay đổi được cam kết vào tháng 2008 năm XNUMX, được sắp xếp theo người dùng:

hg log -r "sort(date('May 2008'), user)"

· Các bộ thay đổi đề cập đến "lỗi" hoặc "sự cố" không có trong bản phát hành được gắn thẻ:

hg log -r "(từ khóa(lỗi) hoặc từ khóa(vấn đề)) chứ không phải tổ tiên(tag())"

SỬ DỤNG KHÔNG KIÊN ĐỊNH TỪ KỊCH BẢN TỰ ĐỘNG


Thông thường máy móc (trái ngược với con người) tiêu thụ Mercurial. Chủ đề trợ giúp này
mô tả một số điều cần cân nhắc khi kết nối máy với Mercurial.

Chọn an Giao thức
Máy có thể lựa chọn một số phương pháp để giao tiếp với Mercurial. Bao gồm các:

· Thực hiện hg quá trình

· Truy vấn máy chủ HTTP

· Gọi ra máy chủ lệnh

Thi công hg các quá trình này rất giống với cách con người tương tác với Mercurial trong vỏ.
Nó hẳn đã quen thuộc với bạn rồi.

hg phục vụ có thể được sử dụng để khởi động một máy chủ. Theo mặc định, thao tác này sẽ khởi động máy chủ HTTP "hgweb".
Máy chủ HTTP này có hỗ trợ đầu ra mà máy có thể đọc được, chẳng hạn như JSON. Để biết thêm, xem hg
giúp đỡ hgweb.

hg phục vụ cũng có thể khởi động một "máy chủ lệnh". Khách hàng có thể kết nối với máy chủ này và phát hành
Lệnh Mercurial qua một giao thức đặc biệt. Để biết thêm chi tiết về máy chủ lệnh,
bao gồm các liên kết đến thư viện máy khách, xem https://mercurial.selenic.com/wiki/CommandServer.

hg phục vụ các giao diện dựa trên (hgweb và máy chủ lệnh) có lợi thế hơn các giao diện đơn giản
hg xử lý các lời gọi ở chỗ chúng có thể hiệu quả hơn. Điều này là do có
chi phí đáng kể để tạo ra các quy trình Python mới.

Mẹo Nếu bạn cần gọi một số hg các quy trình theo thứ tự ngắn và/hoặc hiệu suất là
quan trọng đối với bạn, việc sử dụng giao diện dựa trên máy chủ rất được khuyến khích.

Môi trường Biến
Theo tài liệu trong hg giúp đỡ môi trường, các biến môi trường khác nhau ảnh hưởng đến
hoạt động của Mercurial. Những điều sau đây đặc biệt liên quan đến máy móc tiêu thụ
Không kiên định:

HGPLAIN
Nếu không được đặt, đầu ra của Mercurial có thể bị ảnh hưởng bởi cài đặt cấu hình
tác động đến mã hóa, chế độ dài dòng, bản địa hóa, v.v.

Rất khuyến khích máy đặt biến này khi gọi hg
quy trình.

Mã hóa HGEN
Nếu không được đặt, ngôn ngữ được Mercurial sử dụng sẽ được phát hiện từ môi trường. Nếu như
ngôn ngữ được xác định không hỗ trợ hiển thị một số ký tự nhất định, Mercurial có thể
hiển thị các chuỗi ký tự này không chính xác (thường bằng cách sử dụng "?" làm phần giữ chỗ
đối với các ký tự không hợp lệ ở ngôn ngữ hiện tại).

Đặt rõ ràng biến môi trường này là một cách thực hành tốt để đảm bảo
kết quả nhất quán. "utf-8" là một lựa chọn tốt trên các môi trường giống UNIX.

HGRCPATH
Nếu không được đặt, Mercurial sẽ kế thừa các tùy chọn cấu hình từ các tệp cấu hình bằng cách sử dụng
quá trình được mô tả trong hg giúp đỡ cấu hình. Điều này bao gồm việc kế thừa người dùng hoặc toàn hệ thống
tập tin cấu hình.

Khi muốn kiểm soát tối đa cấu hình Mercurial, giá trị của
HGRCPATH có thể được đặt thành một tệp rõ ràng với các cấu hình tốt đã biết. Trong những trường hợp hiếm hoi,
giá trị có thể được đặt thành một tệp trống hoặc thiết bị null (thường / dev / null) để bỏ qua
tải bất kỳ tập tin cấu hình hệ thống hoặc người dùng. Lưu ý rằng những cách tiếp cận này có thể có
những hậu quả không lường trước được, vì các tập tin cấu hình hệ thống và người dùng thường xác định mọi thứ
như tên người dùng và tiện ích mở rộng có thể được yêu cầu để giao tiếp với
kho.

Tiêu thụ Lệnh Đầu ra
Thông thường các máy cần phân tích đầu ra của các lệnh Mercurial để tìm các thông tin liên quan.
dữ liệu. Phần này mô tả các kỹ thuật khác nhau để làm như vậy.

Phân tích cú pháp Nguyên Lệnh Đầu ra
Có lẽ giải pháp đơn giản và hiệu quả nhất để sử dụng đầu ra lệnh chỉ đơn giản là
gọi hg các lệnh như bạn muốn với tư cách là người dùng và phân tích đầu ra của chúng.

Đầu ra của nhiều lệnh có thể dễ dàng được phân tích cú pháp bằng các công cụ như grep, khátôi.

Một nhược điểm tiềm ẩn của đầu ra lệnh phân tích cú pháp là đầu ra của lệnh có thể thay đổi
khi Mercurial được nâng cấp. Trong khi Mercurial thường cố gắng lùi bước mạnh mẽ
khả năng tương thích, đầu ra lệnh đôi khi thay đổi. Có các bài kiểm tra cho tự động của bạn
tương tác với hg các lệnh thường được khuyên dùng nhưng thậm chí còn quan trọng hơn khi
phân tích đầu ra lệnh thô có liên quan.

Sử dụng Templates đến Kiểm soát Đầu ra
nhiều hg các lệnh hỗ trợ đầu ra được tạo khuôn mẫu thông qua -T/--mẫu lý lẽ. Để biết thêm, xem
hg giúp đỡ mẫu.

Các mẫu rất hữu ích trong việc kiểm soát đầu ra một cách rõ ràng để bạn có được dữ liệu chính xác
bạn muốn được định dạng theo cách bạn muốn. Ví dụ, đăng nhập -T {nút}\n có thể được sử dụng để in một
danh sách các nút thay đổi được phân tách bằng dòng mới thay vì đầu ra do con người điều chỉnh có chứa
tác giả, ngày tháng, mô tả, v.v.

Mẹo Nếu việc phân tích cú pháp đầu ra lệnh thô quá phức tạp, hãy cân nhắc sử dụng các mẫu để thực hiện
cuộc sống của bạn dễ dàng hơn.

Sản phẩm -T/--mẫu đối số cho phép chỉ định các kiểu được xác định trước. Tàu thủy ngân với
kiểu máy có thể đọc được jsonxml, tương ứng cung cấp đầu ra JSON và XML.
Đây là những hữu ích để tạo ra đầu ra mà máy có thể đọc được.

Quan trọng
Sản phẩm jsonxml phong cách được coi là thử nghiệm. Mặc dù chúng có thể hấp dẫn
sử dụng để dễ dàng thu được kết quả đầu ra mà máy có thể đọc được, hành vi của chúng có thể thay đổi theo
các phiên bản tiếp theo.

Những phong cách này cũng có thể thể hiện những kết quả không mong muốn khi xử lý một số vấn đề nhất định.
mã hóa. Mercurial coi những thứ như tên tệp là một chuỗi byte và
chuẩn hóa các chuỗi byte nhất định thành JSON hoặc XML với các cài đặt mã hóa nhất định
có thể dẫn đến những điều bất ngờ.

Lệnh máy chủ Đầu ra
Nếu sử dụng máy chủ lệnh để tương tác với Mercurial, có thể bạn đang sử dụng máy chủ hiện có
thư viện/API tóm tắt chi tiết triển khai của máy chủ lệnh. Nếu vậy thì cái này
lớp giao diện có thể thực hiện phân tích cú pháp cho bạn, giúp bạn tiết kiệm công việc triển khai nó
bản thân bạn.

Đầu ra Độ dài
Các lệnh thường có độ chi tiết đầu ra khác nhau, ngay cả khi các kiểu máy có thể đọc được đang được thực hiện.
được sử dụng (ví dụ -T json). Thêm -v / - dài dòng--gỡ lỗi đối số của lệnh có thể
tăng lượng dữ liệu được Mercurial tiếp xúc.

Một cách khác để lấy dữ liệu bạn cần là chỉ định rõ ràng một mẫu.

Nền tảng khác Chủ đề
sửa đổi
Bộ sửa đổi là ngôn ngữ truy vấn chức năng để chọn một bộ sửa đổi.
Hãy coi nó như SQL cho kho lưu trữ Mercurial. Revsets rất hữu ích cho việc truy vấn
kho lưu trữ dữ liệu cụ thể.

Xem hg giúp đỡ sửa đổi để biết thêm.

Lượt chia sẻ mở rộng
Sản phẩm Lượt chia sẻ tiện ích mở rộng cung cấp chức năng chia sẻ dữ liệu kho lưu trữ trên
một số bản sao làm việc. Nó thậm chí có thể tự động "gộp" bộ nhớ một cách hợp lý
kho lưu trữ liên quan khi nhân bản.

Định cấu hình Lượt chia sẻ việc mở rộng có thể dẫn đến việc sử dụng tài nguyên đáng kể
giảm, đặc biệt là xung quanh không gian đĩa và mạng. Điều này đặc biệt đúng
cho môi trường tích hợp liên tục (CI).

Xem hg giúp đỡ -e Lượt chia sẻ để biết thêm.

Kho phụ


Kho lưu trữ con cho phép bạn lồng các kho lưu trữ hoặc dự án bên ngoài vào Mercurial gốc
kho lưu trữ và thực hiện các lệnh hoạt động trên chúng dưới dạng một nhóm.

Mercurial hiện hỗ trợ các kho lưu trữ con Mercurial, Git và Subversion.

Các kho lưu trữ con được tạo thành từ ba thành phần:

1. Kiểm tra kho lưu trữ lồng nhau. Chúng có thể xuất hiện ở bất kỳ đâu trong thư mục làm việc chính.

2. Tài liệu tham khảo kho lưu trữ lồng nhau. Chúng được định nghĩa trong .hgsub, cần được đặt trong
gốc của thư mục làm việc và cho biết việc kiểm tra kho lưu trữ phụ đến từ đâu.
Các kho lưu trữ con Mercurial được tham chiếu như:

đường dẫn/đến/lồng nhau = https://example.com/nested/repo/path

Các kho phụ Git và Subversion cũng được hỗ trợ:

path/to/nested = [git]git://example.com/nested/repo/path
path/to/nested = [svn]https://example.com/nested/trunk/path

Ở đâu đường dẫn/đến/lồng nhau là vị trí thanh toán tương ứng với gốc Mercurial gốc,
https://example.com/nested/repo/path là đường dẫn kho lưu trữ nguồn. Nguồn có thể
cũng tham chiếu một đường dẫn hệ thống tập tin.

Lưu ý rằng .hgsub không tồn tại theo mặc định trong kho Mercurial, bạn phải
tạo và thêm nó vào kho lưu trữ chính trước khi sử dụng kho lưu trữ phụ.

3. Trạng thái kho lưu trữ lồng nhau. Chúng được định nghĩa trong .hgsubstate, được đặt trong thư mục gốc
của thư mục làm việc và nắm bắt mọi thông tin cần thiết để khôi phục
các kho lưu trữ con về trạng thái mà chúng đã được cam kết trong bộ thay đổi kho lưu trữ mẹ.
Mercurial tự động ghi lại trạng thái các kho lưu trữ lồng nhau khi thực hiện
kho lưu trữ cha mẹ.

Chú thích
Sản phẩm .hgsubstate tập tin không nên được chỉnh sửa bằng tay.

Thêm a Kho lưu trữ phụ
If .hgsub không tồn tại, hãy tạo nó và thêm nó vào kho lưu trữ chính. Sao chép hoặc thanh toán
các dự án bên ngoài mà bạn muốn nó nằm trong kho lưu trữ chính. Biên tập .hgsub
thêm mục nhập kho lưu trữ phụ như mô tả ở trên. Tại thời điểm này, kho lưu trữ phụ là
được theo dõi và lần xác nhận tiếp theo sẽ ghi lại trạng thái của nó trong .hgsubstate và ràng buộc nó với
tập thay đổi đã cam kết.

Đồng bộ hóa a Kho lưu trữ phụ
Subrepos không tự động theo dõi tập hợp thay đổi mới nhất của nguồn của họ. Thay vào đó họ
được cập nhật vào tập thay đổi tương ứng với tập thay đổi được kiểm tra trong
tập thay đổi cấp cao nhất. Điều này là để các nhà phát triển luôn có được một bộ mã tương thích nhất quán
và thư viện khi họ cập nhật.

Vì vậy, việc cập nhật các kho lưu trữ phụ là một quá trình thủ công. Chỉ cần kiểm tra subrepo mục tiêu tại
sửa đổi mong muốn, kiểm tra trong kho lưu trữ cấp cao nhất, sau đó cam kết trong kho lưu trữ chính để
ghi lại sự kết hợp mới.

xóa a Kho lưu trữ phụ
Để xóa kho lưu trữ con khỏi kho lưu trữ chính, hãy xóa tham chiếu của nó khỏi .hgsub,
sau đó loại bỏ các tập tin của nó.

Tương tác với lanh lợi Lệnh
thêm vào add không lặp lại trong các kho phụ trừ khi -S/--subrepos được chỉ định. Tuy nhiên, nếu
bạn chỉ định đường dẫn đầy đủ của tệp trong kho lưu trữ con, nó sẽ được thêm vào ngay cả khi không có
-S/--repos được chỉ định. Các kho lưu trữ con Subversion hiện đang ở trạng thái im lặng
mặc kệ.

thêm bớt
addremove không lặp lại thành các kho lưu trữ con trừ khi -S/--subrepos được chỉ định.
Tuy nhiên, nếu bạn chỉ định đường dẫn đầy đủ của một thư mục trong một kho lưu trữ con, addremove sẽ
được thực hiện trên đó ngay cả khi không chỉ định -S/--subrepos. Git và lật đổ
kho phụ sẽ in cảnh báo và tiếp tục.

lưu trữ
archive không lặp lại trong các kho lưu trữ phụ trừ khi -S/--subrepos được chỉ định.

làm sao cat hiện chỉ xử lý các kết quả khớp tệp chính xác trong các kho lưu trữ phụ. Lật đổ
kho phụ hiện đang bị bỏ qua.

cam kết cam kết tạo ra một ảnh chụp nhanh nhất quán về trạng thái của toàn bộ dự án và
kho phụ. Nếu bất kỳ kho lưu trữ phụ nào đã được sửa đổi, Mercurial sẽ hủy bỏ.
Thay vào đó, Mercurial có thể được thực hiện để cam kết tất cả các kho lưu trữ con đã sửa đổi bằng cách chỉ định
-S/--subrepos hoặc đặt "ui.commitsubrepos=True" trong tệp cấu hình (xem hg
giúp đỡ cấu hình). Sau khi không còn kho con được sửa đổi nào nữa, nó sẽ ghi lại
trạng thái của chúng và cuối cùng cam kết nó trong kho lưu trữ chính. --addremove
tùy chọn cũng tôn vinh tùy chọn -S/--subrepos. Tuy nhiên, Git và Subversion
kho phụ sẽ in cảnh báo và hủy bỏ.

khác diff không lặp lại trong các kho phụ trừ khi -S/--subrepos được chỉ định. Những thay đổi được
được hiển thị như bình thường, trên các phần tử kho lưu trữ phụ. Kho lưu trữ con Subversion là
hiện đang âm thầm bị bỏ qua.

các tập tin các tệp không lặp lại thành các kho lưu trữ con trừ khi -S/--subrepos được chỉ định. Tuy nhiên,
nếu bạn chỉ định đường dẫn đầy đủ của tệp hoặc thư mục trong một kho lưu trữ con, nó sẽ là
được hiển thị ngay cả khi không chỉ định -S/--subrepos. Git và lật đổ
kho lưu trữ con hiện đang bị bỏ qua một cách âm thầm.

quên quên hiện chỉ xử lý các kết quả khớp tệp chính xác trong các kho lưu trữ phụ. Git và lật đổ
kho lưu trữ con hiện đang bị bỏ qua một cách âm thầm.

đến
việc gửi đến không lặp lại trong các kho lưu trữ phụ trừ khi -S/--subrepos được chỉ định. Git và
Các kho lưu trữ con Subversion hiện đang bị bỏ qua một cách âm thầm.

đi
gửi đi không lặp lại trong các kho phụ trừ khi -S/--subrepos được chỉ định. Git và
Các kho lưu trữ con Subversion hiện đang bị bỏ qua một cách âm thầm.

kéo pull không được đệ quy vì không rõ phải kéo cái gì trước khi chạy hg cập nhật
. Liệt kê và truy xuất tất cả các thay đổi của kho con được tham chiếu bởi cha mẹ
các bộ thay đổi được kéo từ kho lưu trữ đắt nhất, không thể có trong Subversion
trường hợp.

đẩy Mercurial sẽ tự động đẩy tất cả các kho con trước khi kho gốc
kho lưu trữ đang được đẩy. Điều này đảm bảo các thay đổi kho lưu trữ con mới có sẵn
khi được tham chiếu bởi các kho lưu trữ cấp cao nhất. Đẩy là một lựa chọn không thể thực hiện được đối với Subversion
kho lưu trữ phụ.

tình trạng trạng thái không lặp lại vào kho lưu trữ phụ trừ khi -S/--subrepos được chỉ định.
Các thay đổi của kho lưu trữ phụ được hiển thị dưới dạng thay đổi Mercurial thường xuyên trên
các phần tử kho lưu trữ phụ. Các kho lưu trữ con Subversion hiện đang bị bỏ qua một cách âm thầm.

tẩy loại bỏ không lặp lại vào kho lưu trữ phụ trừ khi -S/--subrepos được chỉ định.
Tuy nhiên, nếu bạn chỉ định đường dẫn tệp hoặc thư mục trong kho lưu trữ con, nó sẽ bị xóa
thậm chí không có -S/--subrepos. Các kho lưu trữ con Git và Subversion hiện đang có
im lặng bỏ qua.

cập nhật cập nhật khôi phục các kho lưu trữ phụ ở trạng thái mà chúng đã được cam kết ban đầu trong mục tiêu
thay đổi. Nếu tập thay đổi đã ghi không có sẵn trong kho lưu trữ phụ hiện tại,
Mercurial sẽ kéo nó vào trước khi cập nhật. Điều này có nghĩa là việc cập nhật có thể
yêu cầu truy cập mạng khi sử dụng kho lưu trữ phụ.

Ánh xạ Kho phụ nguồn
Vị trí nguồn của kho lưu trữ phụ có thể thay đổi trong suốt vòng đời dự án, làm mất hiệu lực các tham chiếu
được lưu trữ trong lịch sử kho lưu trữ gốc. Để khắc phục điều này, quy tắc viết lại có thể được xác định trong
kho lưu trữ gốc hgrc tập tin hoặc trong cấu hình Mercurial. Xem [đường dẫn phụ] phần trong
hgrc(5) để biết thêm chi tiết.

BẢN MẪU SỬ DỤNG


Mercurial cho phép bạn tùy chỉnh đầu ra của lệnh thông qua các mẫu. Bạn có thể
chuyển vào một mẫu hoặc chọn kiểu mẫu hiện có từ dòng lệnh, thông qua
--tùy chọn mẫu.

Bạn có thể tùy chỉnh đầu ra cho bất kỳ lệnh "giống nhật ký" nào: nhật ký, gửi đi, đến, mẹo,
cha mẹ, người đứng đầu.

Một số kiểu tích hợp được đóng gói bằng Mercurial. Chúng có thể được liệt kê với hg đăng nhập
--bản mẫu . Ví dụ sử dụng:

$ hg log -r1.0::1.1 --log thay đổi mẫu

Mẫu là một đoạn văn bản, có đánh dấu để gọi mở rộng biến:

$ hg log -r1 --template "{node}\n"
b56ce7b07c52de7d5fd79fb89701ea538af65746

Các chuỗi trong dấu ngoặc nhọn được gọi là từ khóa. Sự sẵn có của các từ khóa phụ thuộc vào
bối cảnh chính xác của templater. Những từ khóa này thường có sẵn để tạo khuôn mẫu cho một
lệnh giống như nhật ký:

đánh dấu hoạt động
Sợi dây. Dấu trang đang hoạt động, nếu nó được liên kết với bộ thay đổi

tác giả Sợi dây. Tác giả chưa sửa đổi của bộ thay đổi.

chia đôi Sợi dây. Trạng thái chia đôi được thay đổi.

bookmark
Danh sách các chuỗi. Bất kỳ dấu trang nào được liên kết với bộ thay đổi. Cũng đặt 'hoạt động',
tên của dấu trang đang hoạt động.

địa điể̀m chọn lựa Sợi dây. Tên của nhánh mà tập hợp thay đổi đã được cam kết.

thay đổisincelesttag
Số nguyên. Tất cả tổ tiên không có trong thẻ mới nhất.

trẻ em
Danh sách các chuỗi. Những đứa trẻ của bộ thay đổi.

ngày Thông tin ngày. Ngày mà tập hợp thay đổi được cam kết.

giảm dần Sợi dây. Văn bản của mô tả thay đổi.

khác biệt
Sợi dây. Thống kê các thay đổi với định dạng sau: "tập tin đã sửa đổi:
+các dòng đã thêm/-xóa"

tính năng bổ sung Danh sách các ký tự có các mục nhập khóa, giá trị của trường 'phần bổ sung' của bộ thay đổi này.

file_adds
Danh sách các chuỗi. Các tập tin được thêm bởi bộ thay đổi này.

tập tin_bản sao
Danh sách các chuỗi. Các tệp được sao chép trong bộ thay đổi này cùng với nguồn của chúng.

tập tin_copies_switch
Danh sách các chuỗi. Giống như "file_copies" nhưng chỉ hiển thị nếu khóa --copied được bật
thiết lập.

file_dels
Danh sách các chuỗi. Các tập tin bị xóa bởi bộ thay đổi này.

tập tin_mods
Danh sách các chuỗi. Các tập tin được sửa đổi bởi bộ thay đổi này.

các tập tin Danh sách các chuỗi. Tất cả các tệp được sửa đổi, thêm hoặc xóa bởi bộ thay đổi này.

nút biểu đồ
Sợi dây. Ký tự đại diện cho nút thay đổi trong biểu đồ sửa đổi ASCII

thẻ mới nhất
Danh sách các chuỗi. Các thẻ toàn cầu trên tổ tiên được gắn thẻ toàn cầu gần đây nhất của
bộ thay đổi này.

mới nhấttagkhoảng cách
Số nguyên. Đường dẫn dài nhất đến thẻ mới nhất.

không gian tên
Dict của danh sách. Tên được đính kèm với bộ thay đổi này trên mỗi không gian tên.

nút Sợi dây. Hàm băm nhận dạng tập hợp thay đổi, dưới dạng chuỗi gồm 40 chữ số thập lục phân.

nút p1 Sợi dây. Giá trị băm nhận dạng của cha mẹ đầu tiên của tập thay đổi, dưới dạng 40 chữ số
chuỗi thập lục phân. Nếu tập thay đổi không có cha thì tất cả các chữ số đều bằng 0.

p1rev Số nguyên. Số sửa đổi cục bộ của kho lưu trữ của cha mẹ đầu tiên của bộ thay đổi hoặc
-1 nếu bộ thay đổi không có cha mẹ.

nút p2 Sợi dây. Giá trị băm nhận dạng của cha mẹ thứ hai của tập thay đổi, dưới dạng 40 chữ số
chuỗi thập lục phân. Nếu tập thay đổi không có cha thứ hai thì tất cả các chữ số đều bằng 0.

p2rev Số nguyên. Số sửa đổi cục bộ của kho lưu trữ của cha mẹ thứ hai của bộ thay đổi hoặc
-1 nếu tập thay đổi không có cha thứ hai.

cha mẹ
Danh sách các chuỗi. Cha mẹ của bộ thay đổi ở định dạng "rev:node". Nếu
bộ thay đổi chỉ có một cha mẹ "tự nhiên" (bản sửa đổi tiền nhiệm) không có gì
được hiển thị.

giai đoạn Sợi dây. Tên giai đoạn thay đổi.

phaidx
Số nguyên. Chỉ số pha thay đổi.

vòng quay Số nguyên. Số sửa đổi bộ thay đổi cục bộ của kho lưu trữ.

bản tóm tắt phụ
Danh sách các chuỗi. Các kho con được cập nhật trong bộ thay đổi.

thẻ Danh sách các chuỗi. Bất kỳ thẻ nào được liên kết với bộ thay đổi.

Từ khóa "ngày" không tạo ra kết quả mà con người có thể đọc được. Nếu bạn muốn sử dụng một ngày trong
đầu ra của bạn, bạn có thể sử dụng bộ lọc để xử lý nó. Bộ lọc là các hàm trả về một
chuỗi dựa trên biến đầu vào. Hãy chắc chắn sử dụng bộ lọc xâu chuỗi trước tiên khi bạn
áp dụng bộ lọc đầu vào chuỗi cho biến đầu vào giống như danh sách. Bạn cũng có thể sử dụng một chuỗi
bộ lọc để có được đầu ra mong muốn:

$ hg tip --template "{date|isodate}\n"
2008-08-21 18:22 +0000

Danh sách các bộ lọc:

ngắt quãng
Bất kỳ văn bản nào. Thêm XHTML " " gắn thẻ trước cuối mỗi dòng ngoại trừ dòng cuối cùng.

tuổi Ngày. Trả về chênh lệch ngày/giờ mà con người có thể đọc được giữa ngày/giờ đã cho và
ngày/giờ hiện tại.

tên cơ sở
Bất kỳ văn bản nào. Coi văn bản như một đường dẫn và trả về thành phần cuối cùng của đường dẫn
sau khi phân tách bằng dấu phân cách đường dẫn (bỏ qua dấu phân cách ở cuối). Ví dụ,
"foo/bar/baz" trở thành "baz" và "foo/bar//" trở thành "bar".

tính Danh sách hoặc văn bản. Trả về độ dài dưới dạng số nguyên.

miền Bất kỳ văn bản nào. Tìm chuỗi đầu tiên trông giống địa chỉ email và trích xuất
chỉ là thành phần miền. Ví dụ: người sử dang <người dùng@example.com> trở thành example.com.

e-mail Bất kỳ văn bản nào. Trích xuất chuỗi đầu tiên trông giống như địa chỉ email. Ví dụ: người sử dang
<người dùng@example.com> trở thành người dùng@example.com.

người dùng email
Bất kỳ văn bản nào. Trả về phần người dùng của địa chỉ email.

thoát Bất kỳ văn bản nào. Thay thế các ký tự XML/XHTML đặc biệt "&", "<" và ">" bằng XML
các thực thể và lọc ra các ký tự NUL.

lấp đầy68 Bất kỳ văn bản nào. Ngắt dòng văn bản để vừa với 68 cột.

lấp đầy76 Bất kỳ văn bản nào. Ngắt dòng văn bản để vừa với 76 cột.

dòng đầu tiên
Bất kỳ văn bản nào. Trả về dòng văn bản đầu tiên.

hex Bất kỳ văn bản nào. Chuyển đổi mã định danh nút Mercurial nhị phân thành số thập lục phân dài
sự đại diện.

hgdate Ngày. Trả về ngày dưới dạng một cặp số: "1157407993 25200" (dấu thời gian Unix,
bù múi giờ).

cô lập
Ngày. Trả về ngày ở định dạng ISO 8601: "2009-08-18 13:00 +0200".

isodatesec
Ngày. Trả về ngày ở định dạng ISO 8601, bao gồm cả giây: "2009-08-18 13:00:13
+0200". Xem thêm bộ lọc rfc3339date.

thấp hơn Bất kỳ văn bản nào. Chuyển đổi văn bản thành chữ thường.

hư vô
Bất kỳ văn bản nào. Trả về '(không)' nếu chuỗi trống.

làm rối tung
Bất kỳ văn bản nào. Trả về văn bản đầu vào được hiển thị dưới dạng một chuỗi các thực thể XML.

người Bất kỳ văn bản nào. Trả về tên trước địa chỉ email, diễn giải nó theo RFC
5322.

thoát ra
Bất kỳ văn bản nào. Thoát tất cả các ký tự "đặc biệt", ngoại trừ @. Dấu gạch chéo về phía trước được thoát
hai lần để ngăn chặn các máy chủ web thoát khỏi chúng sớm. Ví dụ: "@foo
bar/baz" trở thành "@foo%20bar%252Fbaz".

rfc3339ngày
Ngày. Trả về một ngày sử dụng định dạng ngày trên Internet được chỉ định trong RFC 3339:
"2009-08-18T13:00:13+02:00".

rfc822ngày
Ngày. Trả về một ngày sử dụng cùng định dạng được sử dụng trong tiêu đề email: "Thứ Ba, ngày 18 tháng 2009 năm XNUMX
13:00:13 +0200".

ngắn Băm thay đổi. Trả về dạng ngắn của hàm băm thay đổi, tức là hệ thập lục phân 12
chuỗi chữ số.

cắt đôi
Bất kỳ văn bản nào. xử lý văn bản dưới dạng trạng thái chia đôi và trả về một ký tự đơn
đại diện cho trạng thái (G: tốt, B: xấu, S: bị bỏ qua, U: chưa được kiểm tra, I: bị bỏ qua).
Trả về một khoảng trắng nếu văn bản không phải là trạng thái chia đôi hợp lệ.

ngày rút gọn
Ngày. Trả về một ngày như "2006-09-18".

đường phân chia
Bất kỳ văn bản nào. Chia văn bản thành một danh sách các dòng.

xâu chuỗi
Bất kỳ loại nào. Biến giá trị thành văn bản bằng cách chuyển đổi giá trị thành văn bản và
nối chúng lại.

thoát y
Hãy coi văn bản như đường dẫn và loại bỏ cấp độ thư mục nếu có thể. Ví dụ: "foo"
và "foo/bar" trở thành "foo".

tabinline
Bất kỳ văn bản nào. Trả về văn bản, với mọi dòng không trống ngoại trừ dòng bắt đầu đầu tiên
bằng ký tự tab.

phía trên Bất kỳ văn bản nào. Chuyển đổi văn bản thành chữ hoa.

thoát khỏi url
Bất kỳ văn bản nào. Thoát khỏi tất cả các ký tự "đặc biệt". Ví dụ: "thanh foo" trở thành
"foo%20bar".

người sử dụng Bất kỳ văn bản nào. Trả về một bản trình bày ngắn gọn về tên người dùng hoặc địa chỉ email.

Lưu ý rằng bộ lọc không gì khác hơn là một lệnh gọi hàm, tức là expr|bộ lọc là tương đương
đến bộ lọc(expr).

Ngoài các bộ lọc, còn có một số chức năng tích hợp cơ bản:

ngày(ngày[, fmt])
Định dạng một ngày. Nhìn thấy hg giúp đỡ ngày để định dạng chuỗi. Mặc định là ngày Unix
định dạng, bao gồm cả múi giờ: "Thứ Hai ngày 04 tháng 15 13:13:2006 0700 XNUMX".

khác biệt([includepattern [, loại trừ mẫu]])
Hiển thị khác biệt, tùy ý chỉ định các tệp để bao gồm hoặc loại trừ.

điền(văn bản[, chiều rộng[, định danh ban đầu[, treo cổ]]])
Điền vào nhiều đoạn văn với thụt lề tùy chọn. Xem bộ lọc "điền".

nhận được (dict, Chìa khóa)
Nhận thuộc tính/khóa từ một đối tượng. Một số từ khóa là loại phức tạp. Chức năng này
cho phép bạn lấy giá trị của một thuộc tính trên các loại này.

nếu(expr, sau đó[, khác])
Thực thi có điều kiện dựa trên kết quả của một biểu thức.

ifcontains(tìm kiếm, Điều, sau đó[, khác])
Thực thi có điều kiện dựa trên việc mục "tìm kiếm" có trong "vật" hay không.

ifeq(expr1, kinh nghiệm2, sau đó[, khác])
Thực thi có điều kiện dựa trên việc 2 mục có tương đương hay không.

thụt lề(văn bản, ký tự thụt lề[, dòng đầu tiên])
Thụt lề tất cả các dòng không trống bằng các ký tự được cho trong chuỗi thụt lề. MỘT
tham số thứ ba tùy chọn sẽ ghi đè thụt lề cho dòng đầu tiên chỉ khi
hiện tại.

tham gia (danh sách, tháng 9)
Nối các mục trong danh sách bằng dấu phân cách.

nhãn(nhãn, kinh nghiệm)
Áp dụng nhãn cho nội dung được tạo. Nội dung có gắn nhãn có thể dẫn đến
xử lý hậu kỳ bổ sung, chẳng hạn như tô màu tự động.

thẻ mới nhất([mẫu])
Các thẻ toàn cầu khớp với mẫu đã cho trên thẻ được gắn thẻ toàn cầu gần đây nhất
tổ tiên của bộ thay đổi này.

localdate(ngày[, tz])
Chuyển đổi một ngày thành múi giờ được chỉ định. Mặc định là ngày địa phương.

pad(văn bản, chiều rộng[, fillchar=' '[, đúng=Sai]])
Chèn văn bản bằng ký tự điền.

revset(truy vấn[, định dạng...])
Thực hiện truy vấn tập sửa đổi. Nhìn thấy hg giúp đỡ điều chỉnh lại.

rstdoc(văn bản, Phong cách)
Định dạng văn bản được cấu trúc lại.

ngắn nhất (nút, độ dài tối thiểu=4)
Có được sự biểu diễn ngắn nhất của một nút.

bắt đầu với (mẫu, chữ)
Trả về giá trị từ đối số "văn bản" nếu nó bắt đầu bằng nội dung từ
lập luận về "mẫu".

dải(văn bản[, ký tự])
Tách các ký tự khỏi một chuỗi. Theo mặc định, loại bỏ tất cả phần đầu và cuối
khoảng trắng.

phụ(mẫu, thay thế, sự biểu lộ)
Thực hiện thay thế văn bản bằng cách sử dụng biểu thức thông thường.

từ (số, chữ[, dấu phân cách])
Trả về từ thứ n từ một chuỗi.

Ngoài ra, đối với bất kỳ biểu thức nào trả về một danh sách, đều có toán tử danh sách:

expr % "{template}"

Như đã thấy trong ví dụ trên, {bản mẫu} được hiểu là một mẫu. Để ngăn chặn nó khỏi
đang được giải thích, bạn có thể sử dụng ký tự thoát \{ hoặc tiền tố chuỗi thô, r'...'.

Một số mẫu dòng lệnh mẫu:

· Định dạng danh sách, ví dụ: tập tin:

$ hg log -r 0 --template "files:\n{files % ' {file}\n'}"

· Nối danh sách các file có dấu ", ":

$ hg log -r 0 --template "files: {join(files, ', ')}\n"

· Sửa đổi từng dòng mô tả cam kết:

$ hg log --template "{splitlines(desc) % '**** {line}\n'}"

· Định dạng ngày:

$ hg log -r 0 --template "{date(date, '%Y')}\n"

· Hiển thị ngày theo giờ UTC:

$ hg log -r 0 --template "{localdate(date, 'UTC')|date}\n"

· Xuất mô tả được đặt thành chiều rộng lấp đầy là 30:

$ hg log -r 0 --template "{fill(desc, 30)}"

· Sử dụng điều kiện để kiểm tra nhánh mặc định:

$ hg log -r 0 --template "{ifeq(nhánh, 'mặc định', 'trên nhánh chính',
'trên nhánh {nhánh}')}\n"

· Thêm một dòng mới nếu không trống:

$ hg tip --template "{if(tác giả, '{tác giả}\n')}"

· Dán nhãn đầu ra để sử dụng với phần mở rộng màu:

$ hg log -r 0 --template "{label('changeset.{phase}', node|short)}\n"

· Đảo ngược bộ lọc dòng đầu tiên, tức là mọi thứ trừ dòng đầu tiên:

$ hg log -r 0 --template "{sub(r'^.*\n?\n?', '', desc)}\n"

· Hiển thị nội dung của trường 'phụ', mỗi nội dung trên một dòng:

$ hg log -r 0 --template "{join(extras, '\n')}\n"

· Đánh dấu bookmark đang hoạt động bằng '*':

$ hg log --template "{bookmarks % '{bookmark}{ifeq(bookmark, active, '*')} '}\n"

· Tìm thẻ ứng cử viên phát hành trước đó, khoảng cách và những thay đổi kể từ thẻ:

$ hg log -r . --template "{latesttag('re:^.*-rc$') % '{tag}, {changes}, {distance}'}\n"

· Đánh dấu bản gốc làm việc bằng '@':

$ hg log --template "{ifcontains(rev, revset('.'), '@')}\n"

· Hiển thị chi tiết các sửa đổi của phụ huynh:

$ hg log --template "{revset('parents(%d)', rev) % '{desc|firstline}\n'}"

· Chỉ hiển thị các mô tả cam kết bắt đầu bằng "mẫu":

$ hg log --template "{startswith('template', firstline(desc))}\n"

· In từ đầu tiên mỗi dòng của thông điệp cam kết:

$ hg log --template "{word(0, desc)}\n"

URL CON ĐƯỜNG


URL hợp lệ có dạng:

cục bộ/hệ thống tập tin/đường dẫn[#revision]
tập tin://local/filesystem/path[#revision]
http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
ssh://[user@]host[:port]/[path][#revision]

Các đường dẫn trong hệ thống tệp cục bộ có thể trỏ đến kho lưu trữ Mercurial hoặc gói
tập tin (như được tạo bởi hg bó lại or hg đến --bó). Xem thêm hg giúp đỡ đường dẫn.

Mã định danh tùy chọn sau # cho biết một nhánh, thẻ hoặc bộ thay đổi cụ thể sẽ sử dụng
từ kho lưu trữ từ xa. Xem thêm hg giúp đỡ Sửa đổi.

Một số tính năng, chẳng hạn như đẩy tới URL http:// và https:// chỉ có thể thực hiện được nếu
tính năng này được kích hoạt rõ ràng trên máy chủ Mercurial từ xa.

Lưu ý rằng tính bảo mật của URL HTTPS phụ thuộc vào cấu hình thích hợp của web.cacerts.

Một số lưu ý khi sử dụng SSH với Mercurial:

· SSH yêu cầu tài khoản shell có thể truy cập được trên máy đích và bản sao hg trong
đường dẫn từ xa hoặc được chỉ định bằng remotecmd.

· theo mặc định, đường dẫn có liên quan đến thư mục chính của người dùng từ xa. Sử dụng dấu gạch chéo thêm tại
sự bắt đầu của một đường dẫn để chỉ định một đường dẫn tuyệt đối:

ssh://example.com//tmp/repository

· Mercurial không sử dụng tính năng nén riêng thông qua SSH; điều đúng đắn cần làm là cấu hình
nó trong của bạn ~ / .ssh / config, ví dụ:

Máy chủ *.mylocalnetwork.example.com
Nén không
Tổ chức *
Nén có

Hoặc chỉ định "ssh -C" làm lệnh ssh trong tệp cấu hình của bạn hoặc bằng
tùy chọn dòng lệnh --ssh.

Tất cả các URL này có thể được lưu trữ trong tệp cấu hình của bạn với các bí danh đường dẫn bên dưới
phần [đường dẫn] như vậy:

[đường dẫn]
bí danh1 = URL1
bí danh2 = URL2
hữu ích. Cảm ơn !

Sau đó, bạn có thể sử dụng bí danh cho bất kỳ lệnh nào sử dụng URL (ví dụ: hg kéo alias1
sẽ được coi là hg kéo URL1).

Hai bí danh đường dẫn rất đặc biệt vì chúng được sử dụng làm mặc định khi bạn không cung cấp
URL tới một lệnh:

mặc định:
Khi bạn tạo một kho lưu trữ bằng hg clone, lệnh clone sẽ lưu vị trí của
kho lưu trữ nguồn làm đường dẫn 'mặc định' của kho lưu trữ mới. Điều này sau đó được sử dụng
khi bạn bỏ qua đường dẫn từ các lệnh giống như đẩy và kéo (bao gồm cả lệnh đến và
hướng ngoại).

đẩy mặc định:
Lệnh đẩy sẽ tìm đường dẫn có tên 'default-push' và ưu tiên đường dẫn đó hơn
'mặc định' nếu cả hai đều được xác định.

MỞ RỘNG


Phần này chứa trợ giúp cho các tiện ích mở rộng được phân phối cùng với Mercurial.
Trợ giúp cho các tiện ích mở rộng khác có sẵn trong hệ thống trợ giúp.

acl
móc để kiểm soát quyền truy cập kho lưu trữ

Móc này cho phép hoặc từ chối quyền truy cập ghi vào các nhánh và đường dẫn nhất định của một
kho lưu trữ khi nhận các bộ thay đổi đến thông qua pretxnchangegroup và pretxncommit.

Việc ủy ​​quyền được so khớp dựa trên tên người dùng cục bộ trên hệ thống nơi hook
chạy chứ không phải là người chuyển giao của tập thay đổi ban đầu (vì cái sau chỉ đơn thuần là
nhiều thông tin).

Móc acl được sử dụng tốt nhất cùng với lớp vỏ hạn chế như hgsh, ngăn ngừa
xác thực người dùng làm bất cứ điều gì khác ngoài việc đẩy hoặc kéo. Cái móc không phải
an toàn để sử dụng nếu người dùng có quyền truy cập shell tương tác, vì khi đó họ có thể vô hiệu hóa hook. Cũng không
Có an toàn không nếu người dùng từ xa chia sẻ tài khoản, vì khi đó không có cách nào để phân biệt
Chúng.

Thứ tự thực hiện kiểm tra quyền truy cập là:

1. Danh sách từ chối chi nhánh (phần acl.deny.branches)

2. Danh sách cho phép các nhánh (phần acl.allow.branches)

3. Từ chối danh sách đường dẫn (phần acl.deny)

4. Danh sách cho phép đường dẫn (phần acl.allow)

Phần cho phép và từ chối lấy cặp khóa-giá trị.

Dựa trên chi nhánh Truy Cập Kiểm soát
Sử dụng acl.deny.branchesacl.allow.branches các phần để có quyền truy cập dựa trên chi nhánh
điều khiển. Chìa khóa trong các phần này có thể là:

· tên chi nhánh, hoặc

· một dấu hoa thị, để khớp với bất kỳ nhánh nào;

Các giá trị tương ứng có thể là:

· danh sách được phân tách bằng dấu phẩy chứa người dùng và nhóm, hoặc

· một dấu hoa thị, để khớp với bất kỳ ai;

Bạn có thể thêm "!" tiền tố cho tên người dùng hoặc nhóm để đảo ngược ý nghĩa của sự trùng khớp.

Dựa trên đường dẫn Truy Cập Kiểm soát
Sử dụng acl.denyacl.allow các phần để có kiểm soát truy cập dựa trên đường dẫn. Chìa khóa trong này
các phần chấp nhận mẫu cây con (với cú pháp toàn cầu theo mặc định). tương ứng
các giá trị tuân theo cú pháp tương tự như các phần khác ở trên.

Du lịch Nhóm
Tên nhóm phải được bắt đầu bằng một @ biểu tượng. Chỉ định tên nhóm có tác dụng tương tự
như chỉ định tất cả người dùng trong nhóm đó.

Bạn có thể xác định thành viên nhóm trong acl.groups phần. Nếu tên nhóm không được xác định
ở đó và Mercurial đang chạy trên hệ thống giống Unix, danh sách người dùng sẽ được lấy
từ hệ điều hành. Nếu không, một ngoại lệ sẽ được nêu ra.

Ví dụ Cấu hình
[móc]

# Sử dụng cái này nếu bạn muốn kiểm tra các hạn chế truy cập tại thời điểm cam kết
pretxncommit.acl = python:hgext.acl.hook

# Sử dụng cái này nếu bạn muốn kiểm tra các hạn chế truy cập để kéo, đẩy,
# gói và phục vụ.
pretxnchangegroup.acl = python:hgext.acl.hook

[acl]
# Chỉ cho phép hoặc từ chối quyền truy cập vào các thay đổi sắp tới nếu nguồn của chúng là
# được liệt kê ở đây, nếu không thì để chúng trôi qua. Nguồn là "phục vụ" cho tất cả
# truy cập từ xa (http hoặc ssh), "đẩy", "kéo" hoặc "gói" khi
# lệnh liên quan được chạy cục bộ.
# Mặc định: phục vụ
nguồn = phục vụ

[acl.deny.branches]

# Mọi người đều bị từ chối vào nhánh đông lạnh:
nhánh đông lạnh = *

# Một người dùng xấu bị từ chối trên tất cả các nhánh:
* = người dùng xấu

[acl.allow.branches]

# Một số người dùng được phép ở nhánh-a:
nhánh-a = người dùng-1, người dùng-2, người dùng-3

# Chỉ cho phép một người dùng ở nhánh-b:
nhánh-b = người dùng-1

# Siêu người dùng được phép ở bất kỳ chi nhánh nào:
* = siêu người dùng

# Mọi người đều được phép tham gia các bài kiểm tra chi nhánh:
nhánh cho các bài kiểm tra = *

[acl.deny]
# Danh sách này được kiểm tra đầu tiên. Nếu tìm thấy kết quả trùng khớp thì acl.allow không
# đã kiểm tra. Tất cả người dùng đều được cấp quyền truy cập nếu không có acl.deny.
# Định dạng cho cả hai danh sách: glob model = user, ..., @group, ...

# Để khớp với tất cả mọi người, hãy sử dụng dấu hoa thị cho người dùng:
# của tôi/toàn cầu/mẫu = *

# user6 sẽ không có quyền ghi vào bất kỳ tệp nào:
** = người dùng6

# Nhóm "hg-denied" sẽ không có quyền ghi vào bất kỳ tập tin nào:
** = @hg-từ chối

# Không ai có thể thay đổi "DONT-TOUCH-THIS.txt", mặc dù
# mọi người đều có thể thay đổi tất cả các tệp khác. Xem bên dưới.
src/main/resource/DONT-TOUCH-THIS.txt = *

[acl.allow]
# nếu không có acl.allow, theo mặc định tất cả người dùng đều được phép
# trống acl.allow = không cho phép người dùng

# Người dùng "doc_writer" có quyền ghi vào bất kỳ tệp nào trong "docs"
# thư mục:
tài liệu/** = doc_writer

# Người dùng "jack" và nhóm "nhà thiết kế" có quyền truy cập ghi vào bất kỳ tệp nào
# trong thư mục "hình ảnh":
hình ảnh/** = jack, @designers

# Mọi người (ngoại trừ "user6" và "@hg-denied" - xem acl.deny ở trên)
# sẽ có quyền ghi vào bất kỳ tệp nào trong thư mục "tài nguyên"
# (trừ 1 file. Xem acl.deny):
src/main/tài nguyên/** = *

.hgtags = phát hành_engineer

Các ví dụ sử dụng các ! tiếp đầu ngữ
Giả sử có một nhánh mà chỉ một người dùng (hoặc nhóm) nhất định mới có thể đẩy tới và
bạn không muốn hạn chế quyền truy cập vào bất kỳ nhánh nào khác có thể được tạo.

Các "!" tiền tố cho phép bạn ngăn chặn bất kỳ ai ngoại trừ một người dùng hoặc nhóm nhất định đẩy
các tập hợp thay đổi trong một nhánh hoặc đường dẫn nhất định.

Trong các ví dụ bên dưới, chúng tôi sẽ: 1) Từ chối quyền truy cập vào nhánh "đổ chuông" cho bất kỳ ai ngoại trừ người dùng
"gollum" 2) Từ chối quyền truy cập vào nhánh "hồ" đối với bất kỳ ai ngoại trừ các thành viên của nhóm "hobbit" 3)
Từ chối quyền truy cập vào tệp đối với bất kỳ ai ngoại trừ người dùng "gollum"

[acl.allow.branches]
# Trống

[acl.deny.branches]

# 1) chỉ 'gollum' mới có thể cam kết với nhánh 'ring';
# 'gollum' và bất kỳ ai khác vẫn có thể cam kết với bất kỳ chi nhánh nào khác.
đổ chuông = !gollum

# 2) chỉ thành viên của nhóm 'hobbit' mới có thể cam kết vào nhánh 'hồ';
# thành viên 'hobbit' và bất kỳ ai khác vẫn có thể cam kết tham gia bất kỳ chi nhánh nào khác.
hồ = !@hobbit

# Bạn cũng có thể từ chối quyền truy cập dựa trên đường dẫn tệp:

[acl.allow]
# Trống

[acl.deny]
# 3) chỉ 'gollum' mới có thể thay đổi tệp bên dưới;
# 'gollum' và bất kỳ ai khác vẫn có thể thay đổi bất kỳ tệp nào khác.
/misty/mountains/cave/ring = !gollum

hộp đen
ghi nhật ký các sự kiện trong kho lưu trữ vào hộp đen để gỡ lỗi

Ghi thông tin sự kiện vào .hg/blackbox.log để giúp gỡ lỗi và chẩn đoán sự cố. Các
các sự kiện được ghi lại có thể được định cấu hình thông qua khóa cấu hình blackbox.track. Ví dụ:

[hộp đen]
theo dõi = *

[hộp đen]
track = lệnh, commandfinish, commandException, exthook, pythonhook

[hộp đen]
theo dõi = đến

[hộp đen]
# giới hạn kích thước của tệp nhật ký
kích thước tối đa = 1.5 MB
# xoay tối đa N tệp nhật ký khi tệp hiện tại quá lớn
tập tin tối đa = 3

Lệnh
hộp đen
xem các sự kiện kho lưu trữ gần đây:

hộp đen hg [TÙY CHỌN]...

xem các sự kiện kho lưu trữ gần đây

Tùy chọn:

-l,--giới hạn
số lượng sự kiện hiển thị (mặc định: 10)

bugzilla
móc để tích hợp với trình theo dõi lỗi Bugzilla

Tiện ích mở rộng hook này thêm nhận xét về các lỗi trong Bugzilla khi các tập hợp thay đổi đề cập đến lỗi
bởi ID Bugzilla được nhìn thấy. Nhận xét được định dạng bằng cơ chế mẫu Mercurial.

Các tài liệu tham khảo lỗi có thể tùy ý bao gồm bản cập nhật cho Bugzilla về số giờ đã sử dụng
đang làm việc trên lỗi. Lỗi cũng có thể được đánh dấu là đã sửa.

Ba chế độ truy cập cơ bản vào Bugzilla được cung cấp:

1. Truy cập thông qua giao diện Bugzilla XMLRPC. Yêu cầu Bugzilla 3.4 trở lên.

2. Kiểm tra dữ liệu qua giao diện Bugzilla XMLRPC và gửi thay đổi lỗi qua email tới
Giao diện email Bugzilla. Yêu cầu Bugzilla 3.4 trở lên.

3. Viết trực tiếp vào cơ sở dữ liệu Bugzilla. Chỉ các cài đặt Bugzilla sử dụng MySQL mới được
được hỗ trợ. Yêu cầu Python MySQLdb.

Việc ghi trực tiếp vào cơ sở dữ liệu dễ bị thay đổi lược đồ và dựa vào
Tập lệnh đóng góp của Bugzilla để gửi email thông báo thay đổi lỗi. Kịch bản này chạy như
người dùng đang chạy Mercurial, phải được chạy trên máy chủ có cài đặt Bugzilla và
yêu cầu quyền đọc chi tiết cấu hình Bugzilla và người dùng MySQL cần thiết
và mật khẩu để có toàn quyền truy cập vào cơ sở dữ liệu Bugzilla. Vì những lý do này
chế độ truy cập hiện được coi là không được dùng nữa và sẽ không được cập nhật cho Bugzilla mới
các phiên bản sắp tới. Chỉ hỗ trợ thêm nhận xét trong chế độ truy cập này.

Truy cập qua XMLRPC cần có tên người dùng và mật khẩu Bugzilla được chỉ định trong
cấu hình. Bình luận được thêm vào dưới tên người dùng đó. Vì cấu hình phải
tất cả người dùng Mercurial đều có thể đọc được, chúng tôi khuyên rằng các quyền của người dùng đó phải được đảm bảo
bị hạn chế trong Bugzilla ở mức tối thiểu cần thiết để thêm nhận xét. Đánh dấu lỗi đã được sửa
yêu cầu Bugzilla 4.0 trở lên.

Truy cập qua XMLRPC/email sử dụng XMLRPC để truy vấn Bugzilla nhưng gửi email đến Bugzilla
giao diện email để gửi bình luận về lỗi. Địa chỉ From: trong email được đặt thành
địa chỉ email của người dùng Mercurial, vì vậy nhận xét dường như đến từ Mercurial
người dùng. Trong trường hợp email người dùng Mercurial không được Bugzilla công nhận là email
Người dùng Bugzilla, email được liên kết với tên người dùng Bugzilla được sử dụng để đăng nhập vào Bugzilla
thay vào đó được sử dụng làm nguồn của nhận xét. Đánh dấu các lỗi đã sửa hoạt động trên tất cả các thiết bị được hỗ trợ
Các phiên bản Bugzilla

Các mục cấu hình chung cho tất cả các chế độ truy cập:

bugzilla.version
Loại truy cập để sử dụng. Các giá trị được công nhận là:

xmlrpc

Giao diện XMLRPC của Bugzilla.

xmlrpc+email

Bugzilla XMLRPC và giao diện email.

3.0

Truy cập MySQL, Bugzilla 3.0 trở lên.

2.18

Truy cập MySQL, Bugzilla 2.18 trở lên nhưng không bao gồm 3.0.

2.16

Truy cập MySQL, Bugzilla 2.16 trở lên nhưng không bao gồm 2.18.

bugzilla.regexp
Biểu thức chính quy để khớp với ID lỗi nhằm cập nhật trong thông báo cam kết của bộ thay đổi. Nó
phải chứa một nhóm có tên "()" chứa ID lỗi được phân tách bằng
ký tự không có chữ số. Nó cũng có thể chứa một nhóm được đặt tên với một
số dấu phẩy động cho biết số giờ đã xử lý lỗi. Nếu không có nhóm được đặt tên
hiện tại, nhóm "()" đầu tiên được giả định chứa ID lỗi và thời gian làm việc là
không được cập nhật. Biểu thức mặc định khớp Bug 1234, Bug không có. 1234, Bug con số
1234, Lỗi 1234,5678, Bug 1234 5678 và các biến thể của chúng, theo sau là một
số giờ bắt đầu bằng h or giờ, ví dụ giờ 1.5. Kết hợp không phân biệt chữ hoa chữ thường.

bugzilla.fixregexp
Biểu thức chính quy để khớp với ID lỗi nhằm đánh dấu đã sửa trong thông báo cam kết của bộ thay đổi.
Nhóm này phải chứa nhóm có tên "()" ` chứa các lỗi ID ly thân by
không có chữ số ký tự. It có thể Ngoài ra chứa a tên nhóm `` với một
số dấu phẩy động cho biết số giờ đã xử lý lỗi. Nếu không có nhóm được đặt tên
hiện tại, nhóm "()" đầu tiên được giả định chứa ID lỗi và thời gian làm việc là
không được cập nhật. Biểu thức mặc định khớp Sửa chữa 1234, Sửa chữa lỗi 1234, Sửa chữa lỗi
1234,5678, Sửa chữa 1234 5678 và các biến thể của chúng, theo sau là số giờ
tiền tố bởi h or giờ, ví dụ giờ 1.5. Kết hợp không phân biệt chữ hoa chữ thường.

bugzilla.fixstatus
Trạng thái đặt lỗi khi đánh dấu đã sửa. Mặc định ĐÃ GIẢI QUYẾT.

bugzilla.fixđộ phân giải
Độ phân giải để đặt lỗi khi đánh dấu đã sửa. Mặc định FIXED.

bugzilla.style
Tệp kiểu để sử dụng khi định dạng nhận xét.

bugzilla.template
Mẫu để sử dụng khi định dạng nhận xét. Ghi đè kiểu nếu được chỉ định. Ngoài ra
đối với các từ khóa Mercurial thông thường, tiện ích mở rộng chỉ định:

{sâu bọ}

ID lỗi Bugzilla.

{nguồn gốc}

Tên đường dẫn đầy đủ của kho lưu trữ Mercurial.

{webroot}

Tên đường dẫn bị loại bỏ của kho lưu trữ Mercurial.

{hgweb}

URL cơ sở để duyệt các kho lưu trữ Mercurial.

Mặc định changeset {nút|ngắn} in repo {nguồn gốc} đề cập đến lỗi
{bug}.\ndetails:\n\t{desc|tabindent}

bugzilla.strip
Số ký tự phân cách đường dẫn cần tách khỏi mặt trước của Mercurial
đường dẫn kho lưu trữ ({nguồn gốc} trong các mẫu) để sản xuất {webroot}. Ví dụ:
kho lưu trữ với {nguồn gốc} /var/local/my-project với dải 2 cho một giá trị cho
{webroot} of dự án của tôi. Mặc định 0.

web.baseurl
URL cơ sở để duyệt các kho lưu trữ Mercurial. Được tham chiếu từ các mẫu như {hgweb}.

Các mục cấu hình chung cho các chế độ truy cập XMLRPC+email và MySQL:

bugzilla.usermap
Đường dẫn của tệp chứa email của người gửi Mercurial tới ánh xạ email của người dùng Bugzilla.
Nếu được chỉ định, tệp sẽ chứa một ánh xạ trên mỗi dòng:

người cam kết = Người dùng Bugzilla

Xem thêm [bản đồ người dùng] phần.

Sản phẩm [bản đồ người dùng] phần được sử dụng để chỉ định ánh xạ email của người gửi Mercurial tới Bugzilla
Email người dùng. Xem thêm bugzilla.usermap. Chứa các mục có dạng người đi làm = bugzilla
người sử dụng.

Cấu hình chế độ truy cập XMLRPC:

bugzilla.bzurl
URL cơ sở để cài đặt Bugzilla. Mặc định http://localhost/bugzilla.

bugzilla.user
Tên người dùng sử dụng để đăng nhập vào Bugzilla thông qua XMLRPC. Mặc định lỗi.

bugzilla.password
Mật khẩu để đăng nhập Bugzilla.

Chế độ truy cập email XMLRPC+sử dụng các mục cấu hình chế độ truy cập XMLRPC, đồng thời:

bugzilla.bzemail
Địa chỉ email Bugzilla.

Ngoài ra, cài đặt email Mercurial phải được định cấu hình. Xem tài liệu ở
hgrc(5), phần [e-mail][smtp].

Cấu hình chế độ truy cập MySQL:

bugzilla.host
Tên máy chủ của máy chủ MySQL chứa cơ sở dữ liệu Bugzilla. Mặc định localhost.

bugzilla.db
Tên cơ sở dữ liệu Bugzilla trong MySQL. Mặc định lỗi.

bugzilla.user
Tên người dùng để sử dụng để truy cập máy chủ MySQL. Mặc định lỗi.

bugzilla.password
Mật khẩu để sử dụng để truy cập máy chủ MySQL.

bugzilla.timeout
Thời gian chờ kết nối cơ sở dữ liệu (giây). Mặc định 5.

bugzilla.bzuser
Tên người dùng Bugzilla dự phòng để ghi lại nhận xét, nếu người cam kết thay đổi không thể
được tìm thấy là người dùng Bugzilla.

bugzilla.bzdir
Thư mục cài đặt Bugzilla. Được sử dụng theo mặc định thông báo. Mặc định /var/www/html/bugzilla.

bugzilla.notify
Lệnh chạy để yêu cầu Bugzilla gửi email thông báo thay đổi lỗi.
Thay thế từ bản đồ bằng 3 phím, bzdir, id (id lỗi) và người sử dụng (người đưa ra bugzilla
e-mail). Mặc định tùy thuộc vào phiên bản; từ 2.18 nó là "cd %(bzdir)s && Perl -T
contrib/sendbuggmail.pl %(id)s %(user)s".

Kích hoạt tiện ích mở rộng:

[phần mở rộng]
bugzilla =

[móc]
# chạy bugzilla hook mỗi lần thay đổi được kéo hoặc đẩy vào đây
đang đến.bugzilla = python:hgext.bugzilla.hook

Cấu hình ví dụ:

Cấu hình ví dụ XMLRPC. Điều này sử dụng Bugzilla tại http://my-project.org/bugzilla,
đăng nhập với tư cách người dùng bugmail@my-project.org với mật khẩu cắm. Nó được sử dụng với một
bộ sưu tập các kho lưu trữ Mercurial trong /var/local/hg/repos/, với giao diện web tại
http://my-project.org/hg.

[bugzilla]
bzurl=http://my-project.org/bugzilla
người dùng =bugmail@my-project.org
mật khẩu=plugh
phiên bản=xmlrpc
template=Bộ thay đổi {node|short} trong {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
dải=5

[web]
cơ sở=http://my-project.org/hg

Cấu hình ví dụ email XMLRPC+. Điều này sử dụng Bugzilla tại
http://my-project.org/bugzilla, đăng nhập với tư cách người dùng bugmail@my-project.org với mật khẩu
cắm. Nó được sử dụng với một bộ sưu tập các kho lưu trữ Mercurial trong /var/local/hg/repos/,
với giao diện web tại http://my-project.org/hg. Nhận xét lỗi được gửi tới Bugzilla
Địa chỉ email bugzilla@my-project.org.

[bugzilla]
bzurl=http://my-project.org/bugzilla
người dùng =bugmail@my-project.org
mật khẩu=plugh
phiên bản=xmlrpc+email
bzemail=bugzilla@my-project.org
template=Bộ thay đổi {node|short} trong {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
dải=5

[web]
cơ sở=http://my-project.org/hg

[bản đồ người dùng]
user@emaildomain.com=user.name@bugzilladomain.com

Cấu hình ví dụ MySQL. Cái này có bản cài đặt Bugzilla 3.2 cục bộ trong
/opt/bugzilla-3.2. Cơ sở dữ liệu MySQL đang bật localhost, tên cơ sở dữ liệu Bugzilla là lỗi
và MySQL được truy cập bằng tên người dùng MySQL lỗi mật khẩu XYZZY. Nó được sử dụng với một
bộ sưu tập các kho lưu trữ Mercurial trong /var/local/hg/repos/, với giao diện web tại
http://my-project.org/hg.

[bugzilla]
host = localhost
mật khẩu=XYZZY
phiên bản = 3.0
bzuser=không xác định@domain.com
bzdir=/opt/bugzilla-3.2
template=Bộ thay đổi {node|short} trong {root|basename}.
{hgweb}/{webroot}/rev/{node|short}\n
{desc}\n
dải=5

[web]
cơ sở=http://my-project.org/hg

[bản đồ người dùng]
user@emaildomain.com=user.name@bugzilladomain.com

Tất cả những điều trên thêm một nhận xét vào bản ghi lỗi Bugzilla có dạng:

Bộ thay đổi 3b16791d6642 trong tên kho lưu trữ.
http://my-project.org/hg/repository-name/rev/3b16791d6642

Nhận xét cam kết thay đổi. Lỗi 1234.

pháp quan
xóa nội dung tập tin tại một bản sửa đổi nhất định

Lệnh kiểm duyệt hướng dẫn Mercurial xóa tất cả nội dung của tệp tại một bản sửa đổi nhất định
không có cập nhật các changeset băm. Điều này cho phép lịch sử hiện tại vẫn có hiệu lực trong khi
ngăn chặn các bản sao/kéo trong tương lai nhận dữ liệu đã bị xóa.

Việc sử dụng thông thường của người kiểm duyệt là do các yêu cầu về bảo mật hoặc pháp lý, bao gồm:

* Mật khẩu, khóa riêng, tài liệu mật mã
* Dữ liệu/mã/thư viện được cấp phép đã hết hạn giấy phép
* Thông tin nhận dạng cá nhân hoặc dữ liệu riêng tư khác

Các nút bị kiểm duyệt có thể làm gián đoạn hoạt động điển hình của Mercurial bất cứ khi nào dữ liệu bị cắt bỏ cần
được hiện thực hóa. Một số lệnh như hg làm sao/hg trở lại, đơn giản là thất bại khi được yêu cầu
tạo ra dữ liệu bị kiểm duyệt. Những người khác, như hg xác minhhg cập nhật, phải có khả năng chịu đựng
dữ liệu bị kiểm duyệt để tiếp tục hoạt động một cách có ý nghĩa. Những lệnh như vậy chỉ chấp nhận được
các bản sửa đổi tệp bị kiểm duyệt nếu chúng được tùy chọn cấu hình "censor.policy=ignore" cho phép.

Lệnh
pháp quan
hg kiểm duyệt -r REV [-t TEXT] [FILE]

Tùy chọn:

-NS,--rev
tập tin kiểm duyệt từ bản sửa đổi được chỉ định

-NS,--bia mộ
dữ liệu bia mộ thay thế

chgserver
phần mở rộng máy chủ lệnh cho cHg (THỬ NGHIỆM)

'NS' kênh (đọc viết)
truyền bá yêu cầu ui.system() tới máy khách

'đính kèm' lệnh
đính kèm stdio của khách hàng được chuyển bởi sendmsg()

'chdir' lệnh
thay đổi thư mục hiện tại

'getpager' lệnh
kiểm tra xem máy nhắn tin có được bật hay không và máy nhắn tin nào sẽ được thực thi

'setenv' lệnh
thay thế hoàn toàn os.environ

'ĐĂNG KÍ' tín hiệu
tải lại tập tin cấu hình

trẻ em
lệnh hiển thị các tập hợp thay đổi con (KHÔNG DÙNG)

Tiện ích mở rộng này không được dùng nữa. Bạn nên sử dụng hg đăng nhập -r "trẻ em (REV)" thay thế.

Lệnh
trẻ em
hiển thị phần con của bản sửa đổi đã cho hoặc thư mục làm việc:

hg trẻ em [-r REV] [FILE]

In các phiên bản con của thư mục làm việc. Nếu một bản sửa đổi được đưa ra thông qua
-r/--rev, phần con của bản sửa đổi đó sẽ được in. Nếu một đối số tập tin được đưa ra,
bản sửa đổi trong đó tập tin được thay đổi lần cuối (sau bản sửa đổi thư mục làm việc hoặc
đối số --rev nếu được đưa ra) được in.

Vui lòng sử dụng hg đăng nhập thay thế:

hg trẻ em => hg log -r 'children()'
hg trẻ em -r REV => hg log -r 'children(REV)'

Xem hg giúp đỡ đăng nhậphg giúp đỡ revsets.children.

Tùy chọn:

-NS,--rev
cho trẻ xem bản sửa đổi được chỉ định

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

khuấy
lệnh hiển thị số liệu thống kê về lịch sử kho lưu trữ

Lệnh
khuấy
biểu đồ thay đổi đối với kho lưu trữ:

hg khuấy [-d NGÀY] [-r REV] [--aliases FILE] [FILE]

Lệnh này sẽ hiển thị biểu đồ biểu thị số dòng được thay đổi hoặc
sửa đổi, được nhóm theo mẫu nhất định. Mẫu mặc định sẽ nhóm
thay đổi của tác giả. Tùy chọn --dateformat có thể được sử dụng để nhóm các kết quả theo ngày
thay thế.

Số liệu thống kê dựa trên số lượng dòng được thay đổi hoặc số lượng
các bản sửa đổi phù hợp nếu tùy chọn --changesets được chỉ định.

Ví dụ:

# hiển thị số dòng đã thay đổi cho mỗi người chuyển giao
hg khuấy -t "{tác giả|email}"

# hiển thị biểu đồ hoạt động hàng ngày
hg khuấy -f "%H" -s -c

# hiển thị hoạt động của nhà phát triển theo tháng
hg khuấy -f "%Y-%m" -s -c

# hiển thị số dòng thay đổi hàng năm
hg khuấy -f "%Y" -s

Có thể ánh xạ các địa chỉ email thay thế thành địa chỉ chính bằng cách cung cấp tệp
sử dụng định dạng sau:

=

Một tệp như vậy có thể được chỉ định bằng tùy chọn --aliases, nếu không thì tệp .hgchurn sẽ được
tìm kiếm trong thư mục gốc làm việc. Bí danh sẽ được tách ra từ "=" ngoài cùng bên phải.

Tùy chọn:

-NS,--rev
tốc độ đếm cho bản sửa đổi hoặc bản sửa đổi được chỉ định

-NS,--ngày
tỷ lệ đếm các bản sửa đổi phù hợp với thông số ngày

-NS,--oldtemplate
mẫu để nhóm các thay đổi (KHÔNG DÙNG)

-NS,--bản mẫu
mẫu để nhóm các thay đổi (mặc định: {author|email})

-NS,--Định dạng ngày tháng
định dạng tương thích với strftime để nhóm theo ngày

-NS, --bộ thay đổi
tốc độ đếm theo số lần thay đổi

-S, --loại
sắp xếp theo khóa (mặc định: sắp xếp theo số lượng)

--diffstat
hiển thị riêng các dòng được thêm/xóa

--bí danh
tập tin có bí danh email

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

gói nhân bản
quảng cáo các gói được tạo trước để tạo bản sao

"clonebundles" là tiện ích mở rộng phía máy chủ được sử dụng để quảng cáo sự tồn tại của
các tệp gói được tạo trước, được lưu trữ bên ngoài cho các máy khách đang nhân bản để nhân bản
có thể nhanh hơn, đáng tin cậy hơn và yêu cầu ít tài nguyên hơn trên máy chủ.

Nhân bản có thể là hoạt động chuyên sâu về CPU và I/O trên máy chủ. Theo truyền thống, máy chủ ở
đáp ứng yêu cầu sao chép của khách hàng, tự động tạo ra một gói chứa
toàn bộ nội dung kho lưu trữ và gửi nó cho khách hàng. Không có bộ nhớ đệm trên máy chủ
và máy chủ sẽ phải tạo dư thừa gói gửi đi tương tự để đáp ứng
mỗi yêu cầu nhân bản. Đối với các máy chủ có kho lưu trữ lớn hoặc có khối lượng bản sao cao,
tải từ các bản sao có thể khiến việc mở rộng máy chủ trở nên khó khăn và tốn kém.

Tiện ích mở rộng này cung cấp cho người vận hành máy chủ khả năng giảm tải có thể tốn kém
sao chép tải vào một dịch vụ bên ngoài. Đây là cách nó hoạt động.

1. Nhà điều hành máy chủ thiết lập cơ chế cung cấp các tập tin bó trên máy chủ
dịch vụ lưu trữ nơi khách hàng Mercurial có thể tìm nạp chúng.

2. Tệp kê khai liệt kê các URL gói có sẵn và một số siêu dữ liệu tùy chọn được thêm vào
kho lưu trữ Mercurial trên máy chủ.

3. Máy khách khởi tạo một bản sao đối với máy chủ nhận biết gói bản sao.

4. Máy khách thấy máy chủ đang quảng cáo các gói nhân bản và tìm nạp bảng kê khai
liệt kê các gói có sẵn.

5. Máy khách lọc và sắp xếp các gói có sẵn dựa trên những gì nó hỗ trợ và
ưu tiên.

6. Máy khách tải xuống và áp dụng gói có sẵn từ URL do máy chủ chỉ định.

7. Máy khách kết nối lại với máy chủ ban đầu và thực hiện tương đương với hg kéo đến
truy xuất tất cả dữ liệu kho lưu trữ không có trong gói. (Kho lưu trữ có thể đã được cập nhật
giữa thời điểm gói được tạo và thời điểm máy khách bắt đầu sao chép.)

Thay vì máy chủ tạo ra các gói kho lưu trữ đầy đủ cho mỗi yêu cầu sao chép, nó
tạo các gói đầy đủ một lần và sau đó chúng được sử dụng lại để khởi động các bản sao mới. Các
máy chủ vẫn có thể truyền dữ liệu vào thời điểm sao chép. Tuy nhiên, đây chỉ là số liệu đã được
được thêm/thay đổi kể từ khi gói được tạo. Đối với các kho lưu trữ lớn, đã được thiết lập, điều này có thể
giảm tải máy chủ cho bản sao xuống dưới 1% so với bản gốc.

Để hoạt động, tiện ích mở rộng này yêu cầu những người vận hành máy chủ sau:

· Tạo các tập tin chứa nội dung kho lưu trữ (thường định kỳ, chẳng hạn như một lần mỗi
ngày).

· Máy chủ tệp mà máy khách có quyền truy cập mạng và Python biết cách giao tiếp
thông qua cơ sở xử lý URL thông thường (thường là máy chủ HTTP).

· Một quy trình để giữ cho các gói được đồng bộ hóa với các tệp gói có sẵn.

Nói đúng ra, không cần phải sử dụng máy chủ lưu trữ tệp tĩnh: người vận hành máy chủ
có thể sử dụng dịch vụ động để truy xuất dữ liệu gói. Tuy nhiên, lưu trữ tập tin tĩnh
các dịch vụ đơn giản, có thể mở rộng và đủ đáp ứng hầu hết các nhu cầu.

Các tập tin bó có thể được tạo bằng hg bó lại yêu cầu. Tiêu biểu hg bó lại --tất cả các is
được sử dụng để tạo ra một gói của toàn bộ kho lưu trữ.

hg debugcreatestreamclonebundle có thể được sử dụng để sản xuất một sản phẩm đặc biệt trực tuyến nhân bản bó lại.
Đây là các tệp bó có khả năng sản xuất và tiêu thụ cực kỳ hiệu quả (đọc: nhanh).
Tuy nhiên, chúng lớn hơn các định dạng gói truyền thống và yêu cầu khách hàng hỗ trợ
tập hợp chính xác các định dạng lưu trữ dữ liệu của kho lưu trữ được sử dụng bởi kho lưu trữ đã tạo ra chúng.
Thông thường, máy chủ mới hơn có thể cung cấp dữ liệu tương thích với các máy khách cũ hơn. Tuy nhiên,
trực tuyến nhân bản không có sự đảm bảo này. máy chủ khai thác nhu cầu đến be nhận thức việc này
mới hơn phiên bản of lanh lợi có thể sản xuất trực tuyến nhân bản không tương thích với
lanh lợi phiên bản.

Người điều hành máy chủ có trách nhiệm tạo ra một .hg/clonebundles.manifest tệp chứa
danh sách các tập tin bó có sẵn phù hợp để gieo bản sao. Nếu tập tin này không
tồn tại, kho lưu trữ sẽ không quảng cáo sự tồn tại của các gói bản sao khi máy khách
kết nối.

Tệp kê khai chứa danh sách các mục nhập được phân tách bằng dòng mới ( ).

Mỗi dòng trong tệp này xác định một gói có sẵn. Các dòng có định dạng:

[ = [ = ]]

Tức là, một URL theo sau là một danh sách tùy chọn, được phân tách bằng dấu cách gồm các cặp khóa=giá trị mô tả
thuộc tính bổ sung của gói này. Cả khóa và giá trị đều được mã hóa URI.

Các khóa viết hoa được dành riêng cho Mercurial sử dụng và được xác định bên dưới. Tất cả
các phím không viết hoa có thể được sử dụng khi cài đặt trang web. Một ví dụ sử dụng cho các thuộc tính tùy chỉnh
là sử dụng Trung tâm dữ liệu thuộc tính để xác định trung tâm dữ liệu mà tệp được lưu trữ.
Sau đó, khách hàng có thể chọn máy chủ ở trung tâm dữ liệu gần họ nhất.

Các khóa dành riêng sau đây hiện được xác định:

GÓI SPEC
Chuỗi "đặc tả gói" mô tả loại của gói.

Đây là các giá trị chuỗi được chấp nhận bởi đối số "--type" của hg bó lại.

Các giá trị được phân tích cú pháp ở chế độ nghiêm ngặt, có nghĩa là chúng phải thuộc loại
" - " biểu mẫu. Xem mercurial.exchange.parsebundlespec() để biết thêm
chi tiết.

hg gói gỡ lỗi --spec có thể được sử dụng để in chuỗi đặc tả gói cho một
tập tin bó. Đầu ra của lệnh này có thể được sử dụng nguyên văn cho giá trị của
GÓI SPEC (nó đã thoát rồi).

Khách hàng sẽ tự động lọc ra các thông số kỹ thuật chưa xác định hoặc
không được hỗ trợ nên họ sẽ không cố tải xuống thứ gì đó có thể không áp dụng.

Giá trị thực tế không ảnh hưởng đến hành vi của khách hàng ngoài việc lọc: khách hàng sẽ
vẫn đánh hơi loại gói từ tiêu đề của tệp đã tải xuống.

Sử dụng of điều này chính is cao đề nghị, vì nó cho phép khách hàng dễ dàng bỏ qua
các gói không được hỗ trợ. Nếu khóa này không được xác định, khách hàng cũ có thể thử áp dụng
một gói mà nó không có khả năng đọc.

YÊU CẦUNI
Có cần chỉ định tên máy chủ (SNI) để kết nối với URL hay không. SNI cho phép
máy chủ sử dụng nhiều chứng chỉ trên cùng một IP. Nó hơi phổ biến trong CDN
và các nhà cung cấp dịch vụ lưu trữ khác. Các phiên bản Python cũ hơn không hỗ trợ SNI. Xác định
thuộc tính này cho phép các máy khách có phiên bản Python cũ hơn lọc mục này
mà không gặp phải lỗi SSL mờ khi kết nối.

Nếu điều này được xác định, điều quan trọng là phải quảng cáo URL dự phòng hoặc ứng dụng khách không phải SNI
chạy các bản phát hành Python cũ có thể không sao chép được bằng gói nhân bản
cơ sở.

Giá trị phải là "đúng".

Bản kê khai có thể chứa nhiều mục. Giả sử siêu dữ liệu được xác định, máy khách sẽ lọc
các mục từ bảng kê khai mà chúng không hỗ trợ. Các mục còn lại là tùy chọn
sắp xếp theo sở thích của khách hàng (thử nghiệm.clonebundleprefers tùy chọn cấu hình). Khách hàng
sau đó cố gắng tìm nạp gói tại URL đầu tiên trong danh sách còn lại.

lỗi khi nào đang tải xuống a bó lại sẽ không các toàn thể nhân bản hoạt động: khách hàng do không
tự động rơi trở lại đến a truyền thống nhân bản. Lý do cho điều này là nếu một máy chủ
sử dụng các gói nhân bản, có thể nó làm như vậy vì tính năng này cần thiết để trợ giúp nó
tỉ lệ. Nói cách khác, có một giả định rằng tải bản sao sẽ được giảm tải cho người khác
service và máy chủ Mercurial không chịu trách nhiệm phục vụ tải bản sao này. Nếu như
rằng các dịch vụ khác gặp sự cố và hàng loạt khách hàng bắt đầu quay trở lại ban đầu
Máy chủ Mercurial, tải bản sao được thêm vào có thể làm quá tải máy chủ do tải không mong muốn
và đưa nó ngoại tuyến một cách hiệu quả. Không có khách hàng tự động quay trở lại nhân bản
từ máy chủ ban đầu sẽ giảm thiểu tình huống này.

Bởi vì không có dự phòng máy chủ Mercurial tự động khi gói lưu trữ bị lỗi
dịch vụ, điều quan trọng là các nhà khai thác máy chủ phải xem dịch vụ lưu trữ gói như một
mở rộng máy chủ Mercurial về tính khả dụng và thỏa thuận cấp độ dịch vụ:
nếu dịch vụ lưu trữ gói ngừng hoạt động thì khả năng sao chép của khách hàng cũng bị ảnh hưởng. Ghi chú:
khách hàng sẽ thấy một thông báo thông báo cho họ cách bỏ qua tiện ích gói nhân bản khi
sự cố xảy ra. Vì vậy người vận hành máy chủ nên chuẩn bị cho một số người làm theo những điều này
hướng dẫn khi xảy ra lỗi, do đó tăng thêm tải cho Mercurial ban đầu
máy chủ khi dịch vụ lưu trữ gói bị lỗi.

màu sắc
tô màu đầu ra từ một số lệnh

Phần mở rộng màu tô màu đầu ra từ một số lệnh Mercurial. Ví dụ,
lệnh diff hiển thị các phần bổ sung màu xanh lục và phần xóa màu đỏ, trong khi lệnh trạng thái hiển thị
tập tin sửa đổi trong màu đỏ tươi. Nhiều lệnh khác có màu tương tự. Nó có thể
tùy chỉnh các màu sắc này.

Effects
Các hiệu ứng khác ngoài màu sắc, như văn bản in đậm và gạch chân, cũng có sẵn. Qua
mặc định, cơ sở dữ liệu terminfo được sử dụng để tìm mã đầu cuối dùng để thay đổi màu sắc và
tác dụng. Nếu không có thông tin thuật ngữ thì các hiệu ứng sẽ được hiển thị bằng ECMA-48 SGR
chức năng điều khiển (còn gọi là mã thoát ANSI).

Các hiệu ứng có sẵn trong chế độ terminfo là 'nháy mắt', 'đậm', 'mờ', 'nghịch đảo', 'ẩn',
'nghiêng', 'nổi bật' và 'gạch chân'; ở chế độ ECMA-48, các tùy chọn là 'đậm', 'nghịch đảo',
'nghiêng' và 'gạch chân'. Mỗi cái được hiển thị như thế nào tùy thuộc vào trình mô phỏng thiết bị đầu cuối. Một số
có thể không có sẵn cho một loại thiết bị đầu cuối nhất định và sẽ bị bỏ qua trong âm thầm.

Nhãn
Văn bản nhận được hiệu ứng màu sắc tùy thuộc vào nhãn mà nó có. Nhiều Mercurial mặc định
lệnh phát ra văn bản được dán nhãn. Bạn cũng có thể xác định nhãn của riêng mình trong các mẫu bằng cách sử dụng
chức năng nhãn, xem hg giúp đỡ mẫu. Một phần văn bản có thể có nhiều hơn một
nhãn. Trong trường hợp đó, các hiệu ứng được gán cho nhãn cuối cùng sẽ ghi đè lên bất kỳ hiệu ứng nào khác. Cái này
bao gồm hiệu ứng "không" đặc biệt, vô hiệu hóa các hiệu ứng khác.

Nhãn thường vô hình. Để xem các nhãn này và vị trí của chúng trong
văn bản, hãy sử dụng tùy chọn --color=debug toàn cầu. Văn bản liên kết tương tự có thể được liên kết với
nhiều nhãn, ví dụ

[log.changeset changeset.secret|changeset: 22611:6f0a53c8f587]

Sau đây là các hiệu ứng mặc định cho một số nhãn mặc định. Hiệu ứng mặc định có thể
ghi đè từ tập tin cấu hình của bạn:

[màu sắc]
status.modified = gạch chân đậm màu xanh red_background
status.add = xanh đậm
status.removed = màu đỏ đậm blue_background
status.deleted = gạch chân đậm màu lục lam
status.unknown = gạch chân đậm màu đỏ tươi
status.ignored = màu đen đậm

# 'none' tắt tất cả hiệu ứng
trạng thái.clean = không có
trạng thái.được sao chép = không có

qseries.applied = gạch chân đậm màu xanh
qseries.unapplied = đậm màu đen
qseries.missing = màu đỏ đậm

diff.diffline = in đậm
diff.extends = màu lục lam in đậm
diff.file_a = màu đỏ đậm
diff.file_b = xanh đậm
khác biệt.hunk = màu đỏ tươi
khác.đã xóa = đỏ
khác.chèn = xanh
khác.thay đổi = trắng
khác biệt.tab =
diff.trailingwhitespace = đậm red_background

# Trống nên kế thừa phong cách của nhãn xung quanh
thay đổi.public =
thay đổi.draft =
thay đổi.secret =

giải quyết.unresolved = đậm màu đỏ
giải quyết.resolve = màu xanh đậm

bookmarks.active = màu xanh lá cây

nhánh.active = không
cành.đóng = đen đậm
nhánh.current = màu xanh lá cây
nhánh.inactive = không

tags.normal = màu xanh lá cây
tags.local = đậm màu đen

rebase.rebasing = màu xanh
rebase.remaining = màu đỏ đậm

shelve.age = màu lục lam
shelve.newest = xanh đậm
shelve.name = màu xanh đậm

histedit.remaining = màu đỏ đậm

Tuỳ chỉnh màu sắc
Vì chỉ có 8 màu tiêu chuẩn nên mô-đun này cho phép bạn xác định tên màu
đối với các khe màu khác có thể có sẵn cho loại thiết bị đầu cuối của bạn, giả sử terminfo
cách thức. Ví dụ:

màu.brightblue = 12
màu.hồng = 207
màu.orange = 202

để đặt 'brightblue' thành khe màu 12 (hữu ích cho các thiết bị đầu cuối 16 màu có màu sáng hơn
các màu được xác định ở tám phần trên) và 'hồng' và 'cam' thành các màu trong xterm's 256 màu
khối màu mặc định. Những màu được xác định này sau đó có thể được sử dụng như bất kỳ màu nào được xác định trước
tám, bao gồm cả việc thêm '_background' để đặt nền thành màu đó.

Chế độ
Theo mặc định, phần mở rộng màu sẽ sử dụng chế độ ANSI (hoặc chế độ win32 trên Windows) nếu nó
phát hiện một thiết bị đầu cuối. Để ghi đè chế độ tự động (ví dụ: để bật chế độ terminfo), hãy đặt
tùy chọn cấu hình sau:

[màu sắc]
chế độ = terminfo

Bất kỳ giá trị nào ngoài 'ansi', 'win32', 'terminfo' hoặc 'auto' sẽ tắt màu.

Lưu ý rằng trên một số hệ thống, chế độ terminfo có thể gây ra sự cố khi sử dụng màu với
phần mở rộng máy nhắn tin và ít -R. less với tùy chọn -R sẽ chỉ hiển thị màu ECMA-48
mã và chế độ terminfo đôi khi có thể phát ra các mã mà ít người hiểu được. Bạn có thể
giải quyết vấn đề này bằng cách sử dụng chế độ ansi (hoặc chế độ tự động) hoặc bằng cách sử dụng less -r (điều này sẽ
đi qua tất cả các mã kiểm soát đầu cuối, không chỉ mã kiểm soát màu).

Trên một số hệ thống (chẳng hạn như MSYS trong Windows), thiết bị đầu cuối có thể hỗ trợ chế độ màu khác
hơn máy nhắn tin (được kích hoạt thông qua tiện ích mở rộng "máy nhắn tin"). Có thể xác định riêng
các chế độ tùy thuộc vào việc máy nhắn tin có hoạt động hay không:

[màu sắc]
chế độ = tự động
máy nhắn tin = ansi

If chế độ máy nhắn tin không được xác định, chế độ sẽ được sử dụng.

Lệnh
chuyển đổi
nhập các bản sửa đổi từ kho VCS nước ngoài vào Mercurial

Lệnh
chuyển đổi
chuyển đổi kho lưu trữ SCM nước ngoài thành kho lưu trữ Mercurial.:

hg chuyển đổi [TÙY CHỌN]... NGUỒN [DEST [REVMAP]]

Các định dạng nguồn được chấp nhận [mã định danh]:

· Thủy ngân [hg]

· CVS [cvs]

· Darcs [darcs]

· git [git]

· Lật đổ [svn]

· Đơn điệu [mtn]

· GNU Arch [gnuarch]

· Chợ [bzr]

· Buộc [p4]

Các định dạng đích được chấp nhận [mã định danh]:

· Thủy ngân [hg]

· Subversion [svn] (lịch sử trên các nhánh không được bảo tồn)

Nếu không có bản sửa đổi nào được đưa ra, tất cả các bản sửa đổi sẽ được chuyển đổi. Nếu không, chuyển đổi sẽ chỉ
nhập tới bản sửa đổi được đặt tên (được cung cấp ở định dạng mà nguồn hiểu được).

Nếu không có tên thư mục đích nào được chỉ định, nó sẽ mặc định là tên cơ sở của nguồn
với -hg được thêm vào. Nếu kho lưu trữ đích không tồn tại, nó sẽ được tạo.

Theo mặc định, tất cả các nguồn ngoại trừ Mercurial sẽ sử dụng --branchsort. Sử dụng thủy ngân
--sourcesort để giữ nguyên thứ tự số sửa đổi ban đầu. Chế độ sắp xếp có những điều sau đây
Các hiệu ứng:

--branchsort
chuyển đổi từ bản sửa đổi cha mẹ sang con cái khi có thể, điều đó có nghĩa là các nhánh
thường được chuyển đổi lần lượt. Nó tạo ra các kho lưu trữ nhỏ gọn hơn.

--datesort
sắp xếp các sửa đổi theo ngày. Các kho lưu trữ được chuyển đổi có các nhật ký thay đổi đẹp mắt nhưng
thường là một bậc có độ lớn lớn hơn những bậc tương tự được tạo bởi --branchsort.

--nguồn sắp xếp
cố gắng duy trì thứ tự sửa đổi nguồn, chỉ được hỗ trợ bởi các nguồn Mercurial.

--closesort
cố gắng di chuyển các bản sửa đổi đã đóng càng gần các nhánh mẹ càng tốt, chỉ
được hỗ trợ bởi các nguồn Mercurial.

If REVMAP không được cung cấp, nó sẽ được đặt ở vị trí mặc định (/.hg/shamap by
mặc định). Các REVMAP là một tệp văn bản đơn giản ánh xạ từng ID cam kết nguồn tới
ID đích cho bản sửa đổi đó, như vậy:



Nếu tập tin không tồn tại, nó sẽ tự động được tạo. Nó được cập nhật trên mỗi cam kết được sao chép,
so hg chuyển đổi có thể bị gián đoạn và có thể được chạy nhiều lần để sao chép các cam kết mới.

Sơ đồ tác giả là một tệp văn bản đơn giản ánh xạ từng tác giả cam kết nguồn tới một đích
cam kết tác giả. Nó rất hữu ích cho các SCM nguồn sử dụng thông tin đăng nhập unix để xác định tác giả (ví dụ:
CVS). Một dòng cho mỗi tác giả và định dạng dòng là:

tác giả nguồn = tác giả đích

Dòng trống và dòng bắt đầu bằng a # bị bỏ qua.

Filemap là một file cho phép lọc và ánh xạ lại các file và thư mục. Mỗi
dòng có thể chứa một trong các lệnh sau:

bao gồm đường dẫn/đến/file-hoặc-dir

loại trừ đường dẫn/đến/file-hoặc-dir

đổi tên đường dẫn/đến/nguồn đường dẫn/đến/đích

Dòng bình luận bắt đầu bằng #. Một đường dẫn được chỉ định sẽ khớp nếu nó bằng tên họ hàng đầy đủ
của một tập tin hoặc một trong các thư mục mẹ của nó. Các bao gồm or loại trừ chỉ thị với
áp dụng đường dẫn phù hợp dài nhất nên thứ tự dòng không quan trọng.

Sản phẩm bao gồm lệnh này khiến một tập tin hoặc tất cả các tập tin trong một thư mục được đưa vào
kho lưu trữ đích. Mặc định nếu không có bao gồm các tuyên bố bao gồm
mọi thứ. Nếu có cái nào bao gồm tuyên bố, không có gì khác được bao gồm. Các loại trừ
lệnh làm cho các tập tin hoặc thư mục bị bỏ qua. Các đổi tên chỉ thị đổi tên một tập tin
hoặc thư mục nếu nó được chuyển đổi. Để đổi tên từ thư mục con vào thư mục gốc của
kho lưu trữ, sử dụng . làm đường dẫn để đổi tên thành.

--đầy sẽ đảm bảo các tập thay đổi được chuyển đổi chứa chính xác các tệp phù hợp với
đúng nội dung. Nó sẽ thực hiện chuyển đổi đầy đủ tất cả các tệp, không chỉ những tệp có
đã thay đổi. Các tập tin đã chính xác sẽ không bị thay đổi. Điều này có thể được sử dụng để áp dụng
filemap thay đổi khi chuyển đổi tăng dần. Điều này hiện chỉ được hỗ trợ cho
Mercurial và lật đổ.

Bản đồ mối nối là một tệp cho phép chèn lịch sử tổng hợp, cho phép bạn chỉ định
cha mẹ của một sửa đổi. Điều này rất hữu ích nếu bạn muốn ví dụ như đưa ra một sự hợp nhất Subversion hai
cha mẹ, hoặc ghép hai chuỗi lịch sử rời rạc lại với nhau. Mỗi mục chứa một khóa,
theo sau là khoảng trắng, theo sau là một hoặc hai giá trị được phân tách bằng dấu phẩy:

khóa cha1, cha mẹ2

Chìa khóa là ID sửa đổi trong hệ thống kiểm soát sửa đổi nguồn mà cha mẹ của nó phải là
đã sửa đổi (có cùng định dạng với khóa trong .hg/shamap). Các giá trị là ID sửa đổi (ở một trong hai
hệ thống kiểm soát sửa đổi nguồn hoặc đích) nên được sử dụng làm cha mẹ mới
cho nút đó. Ví dụ: nếu bạn đã hợp nhất "release-1.0" vào "thân cây", thì bạn nên
chỉ định bản sửa đổi trên "thân cây" là bản gốc đầu tiên và bản sửa đổi trên "bản phát hành-1.0"
nhánh thứ hai.

Sơ đồ nhánh là một tập tin cho phép bạn đổi tên một nhánh khi nó được đưa vào
từ bất kỳ kho lưu trữ bên ngoài nào. Khi được sử dụng cùng với bản đồ mối nối, nó cho phép
để có một sự kết hợp mạnh mẽ giúp khắc phục ngay cả những kho lưu trữ bị quản lý kém nhất và
biến chúng thành kho lưu trữ Mercurial có cấu trúc độc đáo. Sơ đồ nhánh chứa các dòng
hình thức:

gốc_branch_name new_branch_name

trong đó "origin_branch_name" là tên của nhánh trong kho lưu trữ nguồn và
"new_branch_name" là tên của nhánh là kho lưu trữ đích. Không có khoảng trắng
được phép trong tên chi nhánh. Điều này có thể được sử dụng để (ví dụ) di chuyển mã trong một
kho lưu trữ từ "mặc định" đến một nhánh được đặt tên.

lanh lợi nguồn
Nguồn Mercurial nhận ra các tùy chọn cấu hình sau mà bạn có thể đặt trên
dòng lệnh với --config:

Convert.hg.ignoreerrors
bỏ qua các lỗi toàn vẹn khi đọc. Sử dụng nó để sửa các kho lưu trữ Mercurial với
các revlog bị thiếu, bằng cách chuyển đổi từ và sang Mercurial. Mặc định là Sai.

chuyển đổi.hg.saverev
lưu trữ ID sửa đổi ban đầu trong bộ thay đổi (buộc ID mục tiêu thay đổi). Phải mất một
đối số boolean và mặc định là Sai.

chuyển đổi.hg.startrev
chỉ định bản sửa đổi Mercurial ban đầu. Mặc định là 0.

chuyển đổi.hg.revs
revset chỉ định các phiên bản nguồn cần chuyển đổi.

CVS nguồn
Nguồn CVS sẽ sử dụng hộp cát (tức là bản sao đã được kiểm xuất) từ CVS để cho biết thời điểm bắt đầu
điểm của những gì sẽ được chuyển đổi. Không cần truy cập trực tiếp vào các tập tin kho lưu trữ,
tất nhiên trừ khi kho lưu trữ là :địa phương:. Việc chuyển đổi sử dụng thư mục cấp cao nhất trong
hộp cát để tìm kho lưu trữ CVS, sau đó sử dụng các lệnh rlog CVS để tìm tệp
chuyển thành. Điều này có nghĩa là trừ khi có sơ đồ tệp, tất cả các tệp trong thư mục bắt đầu
sẽ được chuyển đổi và mọi việc sắp xếp lại thư mục trong hộp cát CVS đều bị bỏ qua.

Các tùy chọn sau đây có thể được sử dụng với --config:

chuyển đổi.cvsps.cache
Đặt thành Sai để tắt tính năng lưu nhật ký từ xa vào bộ đệm ẩn nhằm mục đích kiểm tra và gỡ lỗi.
Mặc định là Đúng.

chuyển đổi.cvsps.fuzz
Chỉ định thời gian tối đa (tính bằng giây) được phép giữa các lần xác nhận với
người dùng và thông điệp tường trình giống hệt nhau trong một bộ thay đổi duy nhất. Khi các tập tin rất lớn được
được đăng nhập như một phần của tập hợp thay đổi thì mặc định có thể không đủ dài. Các
mặc định là 60.

chuyển đổi.cvsps.mergeto
Chỉ định một biểu thức chính quy phù hợp với thông điệp nhật ký cam kết. Nếu một trận đấu
xảy ra thì quá trình chuyển đổi sẽ chèn một bản sửa đổi giả hợp nhất nhánh
mà thông điệp tường trình này xuất hiện ở nhánh được chỉ định trong biểu thức chính quy. Mặc định là
{{mergetobranch ([-\w]+)}}

chuyển đổi.cvsps.mergefrom
Chỉ định một biểu thức chính quy phù hợp với thông điệp nhật ký cam kết. Nếu một trận đấu
xảy ra thì quá trình chuyển đổi sẽ thêm bản sửa đổi gần đây nhất vào nhánh
được chỉ định trong biểu thức chính quy là cha mẹ thứ hai của tập thay đổi. Mặc định là
{{mergefrombranch ([-\w]+)}}

chuyển đổi.localtimezone
sử dụng giờ địa phương (được xác định bởi biến môi trường TZ) cho tập hợp thay đổi
ngày/giờ. Giá trị mặc định là Sai (sử dụng UTC).

hooks.cvslog
Chỉ định hàm Python sẽ được gọi khi kết thúc quá trình thu thập nhật ký CVS. Các
được chuyển một danh sách với các mục nhật ký và có thể sửa đổi các mục
tại chỗ hoặc thêm hoặc xóa chúng.

hooks.cvschangesets
Chỉ định hàm Python sẽ được gọi sau khi các tập hợp thay đổi được tính toán từ
Nhật ký CVS. Hàm này được chuyển qua một danh sách với các mục nhập thay đổi và có thể sửa đổi
các bộ thay đổi tại chỗ hoặc thêm hoặc xóa chúng.

Một lệnh Mercurial "debugcvsps" bổ sung cho phép mã hợp nhất bộ thay đổi dựng sẵn thành
được chạy mà không thực hiện chuyển đổi. Các thông số và đầu ra của nó tương tự như cvsps
2.1. Vui lòng xem trợ giúp lệnh để biết thêm chi tiết.

Sự lật đổ nguồn
Nguồn Subversion phát hiện bố cục thân/nhánh/thẻ cổ điển. Theo mặc định, sản phẩm được cung cấp
svn://repo/path/ URL nguồn được chuyển đổi thành một nhánh duy nhất. Nếu như svn://repo/path/trunk
tồn tại, nó sẽ thay thế nhánh mặc định. Nếu như svn://repo/path/branches tồn tại, nó
các thư mục con được liệt kê dưới dạng các nhánh có thể. Nếu như svn://repo/path/tags tồn tại, nó là
tìm kiếm các thẻ tham chiếu các nhánh được chuyển đổi. Mặc định thân cây, chi nhánhthẻ giá trị
có thể được ghi đè bằng các tùy chọn sau. Đặt chúng thành các đường dẫn liên quan đến URL nguồn hoặc
để trống chúng để tắt tính năng tự động phát hiện.

Các tùy chọn sau có thể được đặt bằng --config:

Convert.svn.branches
chỉ định thư mục chứa các nhánh. Mặc định là chi nhánh.

chuyển đổi.svn.tags
chỉ định thư mục chứa thẻ. Mặc định là thẻ.

Convert.svn.trunk
chỉ định tên của nhánh thân. Mặc định là thân cây.

chuyển đổi.localtimezone
sử dụng giờ địa phương (được xác định bởi biến môi trường TZ) cho tập hợp thay đổi
ngày/giờ. Giá trị mặc định là Sai (sử dụng UTC).

Lịch sử nguồn có thể được truy xuất bắt đầu từ một phiên bản cụ thể, thay vì
được chuyển đổi toàn diện. Chỉ hỗ trợ chuyển đổi nhánh đơn.

Convert.svn.startrev
chỉ định số sửa đổi Subversion bắt đầu. Mặc định là 0.

đi nguồn
Trình nhập Git chuyển đổi các cam kết từ tất cả các nhánh có thể truy cập (ref trong ref/heads) và
điều khiển từ xa (tham chiếu trong refs/điều khiển từ xa) sang Mercurial. Các nhánh được chuyển đổi thành dấu trang với
cùng tên, với 'người giới thiệu/người đứng đầu' hàng đầu bị loại bỏ. Các mô-đun con Git được chuyển đổi thành Git
subrepos trong Mercurial.

Các tùy chọn sau có thể được đặt bằng --config:

chuyển đổi.git.similarity
chỉ định cách các tệp tương tự được sửa đổi trong một cam kết phải được nhập dưới dạng đổi tên hoặc
bản sao, theo tỷ lệ phần trăm giữa 0 (bị vô hiệu hóa) và 100 (các tập tin phải giống hệt nhau). Vì
thí dụ, 90 có nghĩa là một cặp xóa/thêm sẽ được nhập dưới dạng đổi tên nếu có nhiều hơn
90% tập tin không thay đổi. Mặc định là 50.

chuyển đổi.git.findcopiesharder
trong khi phát hiện các bản sao, hãy xem tất cả các tệp trong bản sao làm việc thay vì chỉ
những cái đã thay đổi. Điều này rất tốn kém đối với các dự án lớn và chỉ hiệu quả khi
chuyển đổi.git.similarity lớn hơn 0. Mặc định là Sai.

chuyển đổi.git.remoteprefix
giới thiệu từ xa được chuyển đổi dưới dạng dấu trang với chuyển đổi.git.remoteprefix như một tiền tố
Theo sau là một /. Mặc định là 'từ xa'.

chuyển đổi.git.skipsubmodules
không chuyển đổi các tệp .gitmodules cấp gốc hoặc các tệp có chế độ 160000 cho biết
một mô-đun con. Mặc định là Sai.

lực lượng nguồn
Trình nhập Perforce (P4) có thể được cung cấp đường dẫn kho p4 hoặc thông số kỹ thuật của máy khách như
nguồn. Nó sẽ chuyển đổi tất cả các tệp trong nguồn thành kho lưu trữ Mercurial phẳng, bỏ qua
nhãn, chi nhánh và tích hợp. Lưu ý rằng khi một đường dẫn kho được cung cấp cho bạn thì thường
nên chỉ định một thư mục đích, vì nếu không thì mục tiêu có thể được đặt tên ...-hg.

Các tùy chọn sau có thể được đặt bằng --config:

chuyển đổi.p4.encoding
chỉ định mã hóa sẽ sử dụng khi giải mã đầu ra tiêu chuẩn của lệnh Perforce
công cụ dòng. Mặc định là mã hóa hệ thống mặc định.

chuyển đổi.p4.startrev
chỉ định bản sửa đổi Perforce ban đầu (số danh sách thay đổi Perforce).

lanh lợi Nơi đến
Đích Mercurial sẽ nhận ra các kho lưu trữ con Mercurial ở đích
thư mục và tự động cập nhật tệp .hgsubstate nếu đích
kho con chứa / /.hg/shamap tập tin. Chuyển đổi một kho lưu trữ với
kho lưu trữ con yêu cầu chuyển đổi một kho lưu trữ tại một thời điểm, từ dưới lên.

Một ví dụ cho thấy cách chuyển đổi kho lưu trữ với các kho lưu trữ phụ:

# để chuyển đổi biết loại khi nó thấy đích không trống
$hg init đã chuyển đổi

$ hg chuyển đổi orig/sub1 đã chuyển đổi/sub1
$ hg chuyển đổi orig/sub2 đã chuyển đổi/sub2
$ hg chuyển đổi nguồn gốc đã chuyển đổi

Các tùy chọn sau được hỗ trợ:

Convert.hg.clonebranch
gửi các nhánh nguồn trong các bản sao riêng biệt. Mặc định này sai.

chuyển đổi.hg.tagsbranch
tên nhánh để sửa đổi thẻ, mặc định là mặc định.

chuyển đổi.hg.usebranchnames
giữ nguyên tên chi nhánh. Mặc định là đúng.

chuyển đổi.hg.sourcename
ghi lại chuỗi đã cho dưới dạng giá trị bổ sung 'convert_source' trên mỗi cam kết được thực hiện trong
kho lưu trữ đích. Mặc định là Không có.

Tất cả Các điểm đến
Tất cả các loại đích đến đều chấp nhận các tùy chọn sau:

chuyển đổi.skiptags
không chuyển đổi thẻ từ repo nguồn sang repo đích. Mặc định là
Sai.

Tùy chọn:

--tác giả
tên tệp ánh xạ tên người dùng (KHÔNG DÙNG NỮA) (thay vào đó hãy sử dụng --authormap)

-S,- loại nguồn
loại kho lưu trữ nguồn

-NS,--dest-loại
loại kho lưu trữ đích

-NS,--rev
nhập lên bản sửa đổi nguồn REV

-MỘT,--tác giả sơ đồ
ánh xạ lại tên người dùng bằng tập tin này

--sơ đồ tập tin
ánh xạ lại tên tệp bằng cách sử dụng nội dung của tệp

--đầy áp dụng các thay đổi về sơ đồ tệp bằng cách chuyển đổi lại tất cả các tệp

--slicemap
ghép lịch sử tổng hợp vào vị trí

--sơ đồ nhánh
thay đổi tên chi nhánh trong khi chuyển đổi

--branchsort
cố gắng sắp xếp các thay đổi theo nhánh

--datesort
cố gắng sắp xếp các thay đổi theo ngày

--nguồn sắp xếp
duy trì thứ tự thay đổi nguồn

--closesort
cố gắng sắp xếp lại các bản sửa đổi đã đóng

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

eol
tự động quản lý dòng mới trong tập tin kho lưu trữ

Tiện ích mở rộng này cho phép bạn quản lý loại kết thúc dòng (CRLF hoặc LF) được sử dụng trong
kho lưu trữ và trong thư mục làm việc cục bộ. Bằng cách đó bạn có thể nhận được kết thúc dòng CRLF
trên Windows và LF trên Unix/Mac, do đó cho phép mọi người sử dụng phần cuối dòng gốc của hệ điều hành của họ.

Tiện ích mở rộng đọc cấu hình của nó từ phiên bản .hgeol tập tin cấu hình được tìm thấy trong
thư mục gốc của thư mục làm việc. Các .hgeol tập tin sử dụng cú pháp giống như tất cả các tập tin khác
Tập tin cấu hình Mercurial. Nó sử dụng hai phần, [mẫu][kho].

Sản phẩm [mẫu] phần chỉ định cách chuyển đổi các kết thúc dòng giữa phần làm việc
thư mục và kho lưu trữ. Định dạng được chỉ định bởi một mẫu tệp. Trận đấu đầu tiên
được sử dụng, vì vậy hãy đặt các mẫu cụ thể hơn trước. Các kết thúc dòng có sẵn là LF, CRLF
BIN.

Các tập tin có định dạng được khai báo là CRLF or LF luôn được kiểm tra và lưu trữ trong
kho lưu trữ ở định dạng đó và các tệp được khai báo là nhị phân (BIN) được giữ nguyên không thay đổi.
Ngoài ra, tự nhiên là bí danh để kiểm tra ở dòng kết thúc mặc định của nền tảng:
LF trên Unix (bao gồm Mac OS X) và CRLF trên Windows. Lưu ý rằng BIN (không làm gì để xếp hàng
phần cuối) là hành vi mặc định của Mercurial; nó chỉ cần thiết nếu bạn cần ghi đè một
sau đó, mô hình tổng quát hơn.

Tùy chọn [kho] phần chỉ định kết thúc dòng để sử dụng cho các tệp được lưu trữ trong
kho lưu trữ. Nó có một cài đặt duy nhất, tự nhiên, xác định điểm cuối của dòng lưu trữ
đối với các tập tin được khai báo là tự nhiên trong [mẫu] phần. Nó có thể được đặt thành LF or CRLF. Các
mặc định là LF. Ví dụ: điều này có nghĩa là trên Windows, các tệp được định cấu hình là tự nhiên (CRLF
theo mặc định) sẽ được chuyển đổi thành LF khi được lưu trữ trong kho lưu trữ. Các tập tin được khai báo là LF,
CRLF, hoặc là BIN trong [mẫu] phần luôn được lưu trữ nguyên trạng trong kho lưu trữ.

Phiên bản ví dụ .hgeol tập tin:

[mẫu]
**.py = bản địa
**.vcproj = CRLF
**.txt = bản địa
Tệp tạo = LF
**.jpg = BIN

[kho]
bản địa = LF

Lưu ý Các quy tắc đầu tiên sẽ được áp dụng khi các tập tin được chạm vào trong thư mục làm việc, ví dụ như bởi
cập nhật thành null và quay lại tip để chạm vào tất cả các tệp.

Tiện ích mở rộng sử dụng tùy chọn [eol] phần đọc từ cả Mercurial bình thường
tập tin cấu hình và .hgeol tập tin, với cái sau sẽ ghi đè lên cái trước. Bạn có thể
sử dụng phần đó để kiểm soát hành vi tổng thể. Có ba cài đặt:

· eol.native (vỡ nợ os.linesep) có thể được đặt thành LF or CRLF để ghi đè mặc định
bản dịch của tự nhiên để thanh toán. Điều này có thể được sử dụng với hg lưu trữ trên Unix, chẳng hạn như
tạo một kho lưu trữ trong đó các tệp có kết thúc dòng cho Windows.

· eol.only-nhất quán (mặc định Đúng) có thể được đặt thành Sai để thực hiện chuyển đổi tiện ích mở rộng
các tệp có EOL không nhất quán. Không nhất quán có nghĩa là có cả hai CRLFLF trình bày
Trong tập tin. Những tập tin như vậy thường không được chạm vào với giả định rằng chúng có
EOL hỗn hợp có mục đích.

· eol.fix-trailing-newline (mặc định là Sai) có thể được đặt thành Đúng để đảm bảo rằng đã chuyển đổi
các tệp kết thúc bằng ký tự EOL (hoặc \n or \ R \ n theo các mẫu đã cấu hình).

Phần mở rộng cung cấp mã thông minh:giải mã thông minh: các bộ lọc như không dùng nữa
phần mở rộng win32text có. Điều này có nghĩa là bạn có thể tắt win32text và bật eol và
bộ lọc của bạn sẽ vẫn hoạt động. Bạn chỉ cần những bộ lọc này cho đến khi bạn chuẩn bị xong một
.hgeol tập tin.

Sản phẩm win32text.forbid* các hook được cung cấp bởi tiện ích mở rộng win32text đã được hợp nhất thành một
móc đơn có tên eol.checkheadshook. Móc sẽ tra cứu kết thúc dòng dự kiến ​​từ
các .hgeol tập tin, có nghĩa là bạn phải di chuyển đến một .hgeol tập tin đầu tiên trước khi sử dụng
móc. eol.checkheadshook chỉ kiểm tra đầu, các bản sửa đổi trung gian không hợp lệ sẽ được đẩy lên.
Để cấm chúng hoàn toàn, hãy sử dụng eol.checkallhook cái móc. Những móc này được sử dụng tốt nhất như
pretxnchangegroup móc câu.

Xem hg giúp đỡ mô hình để biết thêm thông tin về các mẫu hình cầu được sử dụng.

phần mở rộng
lệnh cho phép các chương trình bên ngoài so sánh các bản sửa đổi

Tiện ích mở rộng Mercurial extdiff cho phép bạn sử dụng các chương trình bên ngoài để so sánh các bản sửa đổi,
hoặc sửa đổi với thư mục làm việc. Các chương trình tìm khác biệt bên ngoài được gọi với một
bộ tùy chọn có thể định cấu hình và hai đối số không phải tùy chọn: đường dẫn đến thư mục chứa
ảnh chụp nhanh của các tập tin để so sánh.

Tiện ích mở rộng extdiff cũng cho phép bạn định cấu hình các lệnh tìm khác biệt mới, do đó bạn không cần
đánh máy hg phần mở rộng -p kdiff3 luôn luôn.

[extdiff]
# thêm lệnh mới chạy GNU khác(1) ở chế độ 'khác biệt ngữ cảnh'
cdiff = gdiff -Nprc5
## hoặc cách cũ:
#cmd.cdiff = gdiff
#opts.cdiff = -Nprc5

# thêm lệnh mới gọi là meld, chạy meld (không cần đặt tên hai lần). Nếu như
# không có tệp thực thi meld, công cụ meld trong [công cụ hợp nhất]
# sẽ được sử dụng, nếu có
kết hợp =

# thêm lệnh mới gọi là vimdiff, chạy gvimdiff với plugin DirDiff
# (nhìn thấy http://www.vim.org/scripts/script.php?script_id=102) Không
# Người dùng tiếng Anh, hãy nhớ đặt "let g:DirDiffDynamicDiffText = 1" vào
# .vimrc của bạn
vimdiff = gvim -f "+tiếp theo"
"+thực thi 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1)) "

Đối số công cụ có thể bao gồm các biến được mở rộng khi chạy:

$parent1, $plabel1 - tên tệp, nhãn mô tả của cha mẹ đầu tiên
$child, $clabel - tên tệp, nhãn mô tả của bản sửa đổi con
$parent2, $plabel2 - tên tệp, nhãn mô tả của cha mẹ thứ hai
$root - gốc kho lưu trữ
$parent là bí danh của $parent1.

Tiện ích mở rộng extdiff sẽ tìm trong phần [diff-tools] và [merge-tools] của bạn để tìm sự khác biệt.
đối số công cụ, khi không có đối số nào được chỉ định trong [extdiff].

[extdiff]
kdiff3 =

[công cụ tìm khác biệt]
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child

Bạn có thể sử dụng -I/-X và danh sách tên tệp hoặc thư mục như bình thường hg khác chỉ huy. Các
tiện ích mở rộng extdiff chỉ tạo ảnh chụp nhanh của các tệp cần thiết, vì vậy việc chạy phần mềm tìm khác biệt bên ngoài
chương trình thực sự sẽ khá nhanh (ít nhất là nhanh hơn việc phải so sánh toàn bộ
cây).

Lệnh
phần mở rộng
sử dụng chương trình bên ngoài để tìm kho lưu trữ khác (hoặc các tệp đã chọn):

hg extdiff [OPT]... [FILE]...

Hiển thị sự khác biệt giữa các bản sửa đổi cho các tệp được chỉ định bằng chương trình bên ngoài. Các
chương trình mặc định được sử dụng là khác, với các tùy chọn mặc định "-Npru".

Để chọn một chương trình khác, hãy sử dụng tùy chọn -p/--program. Chương trình sẽ được thông qua
tên của hai thư mục để so sánh. Để chuyển các tùy chọn bổ sung cho chương trình, hãy sử dụng
-o/--tùy chọn. Chúng sẽ được chuyển trước tên của các thư mục để so sánh.

Khi hai đối số sửa đổi được đưa ra, thì những thay đổi sẽ được hiển thị giữa các sửa đổi đó. Nếu như
chỉ có một bản sửa đổi được chỉ định sau đó bản sửa đổi đó được so sánh với thư mục làm việc,
và khi không có bản sửa đổi nào được chỉ định, các tệp thư mục làm việc sẽ được so sánh với
cha mẹ.

Tùy chọn:

-P,--chương trình
chương trình so sánh để chạy

-ồ,--Lựa chọn
chuyển tùy chọn cho chương trình so sánh

-NS,--rev
sửa đổi

-NS,--thay đổi
thay đổi được thực hiện bởi sửa đổi

--vá
so sánh các bản vá cho hai phiên bản

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

nhân tố
xác thực http với Factotum

Phần mở rộng này cho phép nhân tố(4) cơ sở trên Kế hoạch 9 từ nền tảng Bell Labs đến
cung cấp thông tin xác thực để truy cập HTTP. Các mục cấu hình được chỉ định trong
phần xác thực cũng như thông tin xác thực được cung cấp trong URL kho lưu trữ là
được hỗ trợ đầy đủ. Nếu không có tiền tố nào được chỉ định thì giá trị "*" sẽ được giả định.

Theo mặc định, các khóa được chỉ định là:

proto=pass dịch vụ=hg tiền tố= người dùng= !mật khẩu=

Nếu tiện ích mở rộng Factotum không thể đọc được khóa được yêu cầu, một khóa sẽ được yêu cầu
một cách tương tác.

Phần cấu hình có sẵn để tùy chỉnh hành vi thời gian chạy. Theo mặc định, những
mục là:

[thực tế]
thực thi = /bin/auth/factotum
điểm gắn kết = /mnt/factotum
dịch vụ = hg

Mục thực thi xác định đường dẫn đầy đủ đến tệp nhị phân Factotum. Mục nhập điểm gắn kết
xác định đường dẫn đến dịch vụ tệp Factotum. Cuối cùng, mục dịch vụ kiểm soát
tên dịch vụ được sử dụng khi đọc khóa.

lấy
kéo, cập nhật và hợp nhất trong một lệnh (KHÔNG DÙNG)

Lệnh
lấy
kéo các thay đổi từ kho lưu trữ từ xa, hợp nhất các thay đổi mới nếu cần.:

hg tìm nạp [NGUỒN]

Điều này tìm thấy tất cả các thay đổi từ kho lưu trữ tại đường dẫn hoặc URL đã chỉ định và thêm chúng vào
kho lưu trữ cục bộ.

Nếu các thay đổi được kéo thêm một đầu nhánh mới, đầu nhánh đó sẽ tự động được hợp nhất và
kết quả của việc hợp nhất được cam kết. Nếu không, thư mục làm việc sẽ được cập nhật để bao gồm
những thay đổi mới.

Khi cần hợp nhất, thư mục làm việc trước tiên sẽ được cập nhật lên thư mục mới được kéo
những thay đổi. Các thay đổi cục bộ sau đó được hợp nhất vào các thay đổi đã kéo. Để chuyển đổi thứ tự hợp nhất,
sử dụng --switch-parent.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
một bản sửa đổi cụ thể mà bạn muốn lấy

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

--force-biên tập viên
chỉnh sửa thông báo cam kết (KHÔNG DÙNG)

--switch-parent
đổi cha mẹ khi sáp nhập

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

gpg
lệnh ký và xác minh các thay đổi

Lệnh
dấu hiệu
xác minh tất cả các chữ ký có thể có cho một bản sửa đổi cụ thể:

hg sigcheck REV

xác minh tất cả các chữ ký có thể có cho một bản sửa đổi cụ thể

đăng ký
thêm chữ ký cho bản sửa đổi hiện tại hoặc đã cho:

dấu hiệu hg [TÙY CHỌN]... [REV]...

Nếu không có bản sửa đổi nào được đưa ra, thư mục mẹ của thư mục làm việc sẽ được sử dụng hoặc mẹo nếu không có
bản sửa đổi đã được kiểm tra.

Sản phẩm gpg.cmd cài đặt cấu hình có thể được sử dụng để chỉ định lệnh sẽ chạy. Khóa mặc định có thể là
được chỉ định với gpg.key.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Tùy chọn:

-l, --địa phương
tạo chữ ký địa phương

-NS, --lực lượng
ký ngay cả khi sigfile được sửa đổi

- không cam kết
không cam kết sigfile sau khi ký

-k,--Chìa khóa
id chính để đăng nhập

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

dấu hiệu
liệt kê các thay đổi đã ký:

dấu hiệu hg

liệt kê các thay đổi đã ký

nhật ký đồ họa
lệnh xem biểu đồ sửa đổi từ shell (KHÔNG DÙNG)

Chức năng của tiện ích mở rộng này đã được đưa vào Mercurial lõi kể từ phiên bản 2.3.
Vui lòng sử dụng hg đăng nhập -G hữu ích. Cảm ơn ! thay thế.

Tiện ích mở rộng này thêm tùy chọn --graph vào các lệnh đến, lệnh gửi đi và lệnh ghi nhật ký. Khi điều này
các tùy chọn được đưa ra, biểu diễn ASCII của biểu đồ sửa đổi cũng được hiển thị.

Lệnh
táo gai
hiển thị lịch sử sửa đổi cùng với biểu đồ sửa đổi ASCII:

hg glog [TÙY CHỌN]... [TẬP TIN]

In lịch sử sửa đổi cùng với biểu đồ sửa đổi được vẽ bằng các ký tự ASCII.

Các nút được in dưới dạng ký tự @ là cha của thư mục làm việc.

Đây là bí danh của hg đăng nhập -G.

Tùy chọn:

-NS, --theo dõi
theo dõi lịch sử thay đổi hoặc lịch sử tệp trên các bản sao và đổi tên

--theo dõi trước
chỉ theo dõi cha mẹ đầu tiên của các tập hợp thay đổi hợp nhất (KHÔNG DÙNG NỮA)

-NS,--ngày
hiển thị các bản sửa đổi phù hợp với thông số ngày

-NS, --bản sao
hiển thị các tập tin được sao chép

-k,--từ khóa
thực hiện tìm kiếm không phân biệt chữ hoa chữ thường cho một văn bản nhất định

-NS,--rev
hiển thị bản sửa đổi hoặc bản sửa đổi được chỉ định

--LOẠI BỎ
bao gồm các bản sửa đổi nơi các tập tin đã bị xóa

-NS, --chỉ hợp nhất
chỉ hiển thị các phần hợp nhất (KHÔNG DÙNG)

-bạn,--người sử dụng
sửa đổi được cam kết bởi người dùng

--chỉ nhánh
chỉ hiển thị các tập hợp thay đổi trong nhánh được đặt tên (KHÔNG DÙNG)

-NS,--chi nhánh
hiển thị các thay đổi trong nhánh được đặt tên

-P,--cắt tỉa
không hiển thị bản sửa đổi hoặc bất kỳ tổ tiên nào của nó

-P, --vá
hiển thị bản vá

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-l,--giới hạn
giới hạn số lượng thay đổi được hiển thị

-NS, - không hợp nhất
không hiển thị sự hợp nhất

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

-NS, - đồ thị
hiển thị DAG sửa đổi

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

hgcia
hooks để tích hợp với dịch vụ thông báo CIA.vc

Điều này có nghĩa là được chạy như một nhóm thay đổi hoặc hook đến. Để định cấu hình nó, hãy đặt
các tùy chọn sau trong hgrc của bạn:

[cia]
# tên người dùng CIA đã đăng ký của bạn
người dùng = foo
# tên dự án ở CIA
dự án = foo
# mô-đun (tiểu dự án) (tùy chọn)
#mô-đun = foo
# Thêm một diffstat vào thông điệp tường trình (tùy chọn)
#diffstat = Sai
# Mẫu để sử dụng cho thông điệp tường trình (tùy chọn)
#template = {desc}\n{baseurl}{webroot}/rev/{node}-- {diffstat}
# Kiểu sử dụng (tùy chọn)
#style = foo
# URL của dịch vụ thông báo CIA (tùy chọn)
# Bạn có thể sử dụng mailto: URL để gửi qua email, vd
# mailto:cia@cia.vc
# Đảm bảo đặt email.from nếu bạn thực hiện việc này.
#url = http://cia.vc/
# in tin nhắn thay vì gửi nó (tùy chọn)
#kiểm tra = Sai
# số dấu gạch chéo để loại bỏ đường dẫn url
#dải = 0

[móc]
# một trong số này:
Changegroup.cia = python:hgcia.hook
#incoming.cia = python:hgcia.hook

[web]
# Nếu bạn muốn siêu liên kết (tùy chọn)
cơ sở = http://server/path/to/repo

hgk
duyệt kho lưu trữ theo cách đồ họa

Tiện ích mở rộng hgk cho phép duyệt lịch sử của kho lưu trữ theo cách đồ họa. Nó
yêu cầu phiên bản Tcl/Tk 8.4 trở lên. (Tcl/Tk không được phân phối với Mercurial.)

hgk bao gồm hai phần: tập lệnh Tcl hiển thị và truy vấn
thông tin và phần mở rộng của Mercurial có tên là hgk.py, cung cấp các hook cho hgk để
lấy thông tin. hgk có thể được tìm thấy trong thư mục đóng góp và phần mở rộng sẽ được chuyển đi
trong kho hgext và cần được kích hoạt.

Sản phẩm hg lượt xem lệnh sẽ khởi chạy tập lệnh hgk Tcl. Để lệnh này hoạt động, hgk phải
trong đường dẫn tìm kiếm của bạn. Ngoài ra, bạn có thể chỉ định đường dẫn đến hgk trong cấu hình của mình
tập tin:

[hgk]
đường dẫn =/location/of/hgk

hgk có thể sử dụng phần mở rộng extdiff để hiển thị các bản sửa đổi. Giả sử bạn đã có
lệnh extdiff vdiff đã được cấu hình sẵn, chỉ cần thêm:

[hgk]
vdiff=vdiff

Menu ngữ cảnh sửa đổi giờ đây sẽ hiển thị các mục bổ sung để kích hoạt vdiff trên các thiết bị được di chuột và
các sửa đổi đã chọn.

Lệnh
lượt xem
bắt đầu trình xem lịch sử tương tác:

hg view [-l LIMIT] [REVRANGE]

bắt đầu trình xem lịch sử tương tác

Tùy chọn:

-l,--giới hạn
giới hạn số lượng thay đổi được hiển thị

làm nổi bật
tô sáng cú pháp cho hgweb (yêu cầu Pygments)

Nó phụ thuộc vào thư viện tô sáng cú pháp Pygments: http://pygments.org/

Có các tùy chọn cấu hình sau:

[web]
pygments_style = (default: colorful)
tập tin nổi bật = (mặc định: kích thước('<5M'))
highlightonlymatchfilename = (mặc định là Sai)

tên tập tin highlightonlymatch sẽ chỉ đánh dấu các tệp nếu loại của chúng có thể được xác định bởi
tên tập tin của họ. Khi tính năng này không được bật (mặc định), Pygments sẽ cố gắng hết sức để
xác định loại tệp từ nội dung và bất kỳ kết quả trùng khớp nào (thậm chí phù hợp với độ tin cậy thấp
điểm) sẽ được sử dụng.

lịch sử
chỉnh sửa lịch sử tương tác

Khi cài đặt tiện ích mở rộng này, Mercurial nhận được một lệnh mới: histedit. Cách sử dụng là như
sau, giả sử lịch sử sau:

@ 3[tip] 7c2fd3b9020c 2009-04-27 18:04 -0500 trong thời gian42
| Thêm đồng bằng
|
o 2 030b686bedc4 2009-04-27 18:04 -0500 trong42
| Thêm gama
|
o 1 c561b4e977df 2009-04-27 18:04 -0500 trong thời gian42
| Thêm bản thử nghiệm
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 trong thời gian42
Thêm chữ cái

Nếu bạn chạy hg lịch sử c561b4e977df, bạn sẽ thấy tệp sau được mở trong
biên tập viên:

chọn c561b4e977df Thêm phiên bản beta
chọn 030b686bedc4 Thêm gamma
chọn 7c2fd3b9020c Thêm delta

# Chỉnh sửa lịch sử giữa c561b4e977df và 7c2fd3b9020c
#
# Cam kết được liệt kê từ ít nhất đến gần đây nhất
#
# Lệnh:
#p, pick = sử dụng cam kết
# e, edit = sử dụng commit nhưng dừng lại để sửa đổi
# f, Fold = sử dụng cam kết, nhưng kết hợp nó với cam kết ở trên
# r, roll = thích gấp, nhưng loại bỏ mô tả của cam kết này
# d, drop = xóa cam kết khỏi lịch sử
# m, Mess = chỉnh sửa thông điệp cam kết mà không thay đổi nội dung cam kết
#

Trong tệp này, các dòng bắt đầu bằng # bị bỏ qua. Bạn phải chỉ định một quy tắc cho mỗi
sửa đổi trong lịch sử của bạn. Ví dụ: nếu bạn muốn thêm gamma trước phiên bản beta và sau đó
muốn thêm delta vào cùng bản sửa đổi với phiên bản beta, bạn sẽ sắp xếp lại tệp để xem
như thế này:

chọn 030b686bedc4 Thêm gamma
chọn c561b4e977df Thêm phiên bản beta
gấp 7c2fd3b9020c Thêm delta

# Chỉnh sửa lịch sử giữa c561b4e977df và 7c2fd3b9020c
#
# Cam kết được liệt kê từ ít nhất đến gần đây nhất
#
# Lệnh:
#p, pick = sử dụng cam kết
# e, edit = sử dụng commit nhưng dừng lại để sửa đổi
# f, Fold = sử dụng cam kết, nhưng kết hợp nó với cam kết ở trên
# r, roll = thích gấp, nhưng loại bỏ mô tả của cam kết này
# d, drop = xóa cam kết khỏi lịch sử
# m, Mess = chỉnh sửa thông điệp cam kết mà không thay đổi nội dung cam kết
#

Tại thời điểm đó bạn đóng trình soạn thảo và lịch sử bắt đầu làm việc. Khi bạn chỉ định một gập lại
hoạt động, lịch sử sẽ mở một trình soạn thảo khi nó gộp các bản sửa đổi đó lại với nhau, cung cấp
bạn có cơ hội để xóa thông báo cam kết:

Thêm bản thử nghiệm
***
Thêm đồng bằng

Chỉnh sửa thông báo cam kết theo ý thích của bạn, sau đó đóng trình chỉnh sửa. Với ví dụ này, chúng ta hãy
giả sử rằng thông báo cam kết đã được thay đổi thành Thêm beta vùng đồng bằng. Sau khi histedit chạy
và có cơ hội xóa mọi bản sửa đổi cũ hoặc tạm thời cần thiết, lịch sử có vẻ
như thế này:

@ 2[tip] 989b4d060121 2009-04-27 18:04 -0500 trong thời gian42
| Thêm beta và delta.
|
o 1 081603921c3f 2009-04-27 18:04 -0500 trong42
| Thêm gama
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 trong thời gian42
Thêm chữ cái

Lưu ý rằng lịch sử làm không xóa mọi sửa đổi (ngay cả những sửa đổi tạm thời của chính nó) cho đến sau
nó đã hoàn thành tất cả các thao tác chỉnh sửa, vì vậy nó có thể sẽ thực hiện một số thao tác dải
hoạt động khi nó được thực hiện. Đối với ví dụ trên, nó phải chạy dải hai lần. Dải có thể được
chậm tùy thuộc vào nhiều yếu tố, vì vậy bạn có thể cần phải kiên nhẫn một chút. Bạn có thể
chọn giữ lại các bản sửa đổi gốc bằng cách chuyển --giữ cho cờ.

Sản phẩm chỉnh sửa thao tác sẽ đưa bạn trở lại dấu nhắc lệnh, cho phép bạn chỉnh sửa tệp
một cách tự do, hoặc thậm chí sử dụng hg ghi để cam kết một số thay đổi như một cam kết riêng biệt. Khi bạn
được thực hiện, mọi thay đổi chưa được cam kết còn lại cũng sẽ được cam kết. Khi hoàn tất, hãy chạy hg
lịch sử --tiếp tục để kết thúc bước này. Bạn sẽ được nhắc nhập một thông báo cam kết mới, nhưng
thông báo cam kết mặc định sẽ là thông báo gốc cho chỉnh sửa ed sửa đổi.

Sản phẩm tin nhắn hoạt động sẽ cho bạn cơ hội sửa lại thông báo cam kết mà không thay đổi
Nội dung. Đó là một lối tắt để làm chỉnh sửa ngay sau đó là hg lịch sử
--tiếp tục`.

If lịch sử gặp xung đột khi di chuyển bản sửa đổi (trong khi xử lý chọn or gập lại),
nó sẽ dừng lại theo cách tương tự như chỉnh sửa với sự khác biệt là nó sẽ không nhắc bạn
thông báo cam kết khi hoàn tất. Nếu tại thời điểm này bạn quyết định rằng bạn không thích mức độ làm việc
sẽ là sắp xếp lại lịch sử hoặc bạn đã mắc lỗi, bạn có thể sử dụng hg lịch sử --Huỷ bỏ
từ bỏ những thay đổi mới mà bạn đã thực hiện và quay lại trạng thái trước khi bạn cố gắng thực hiện
chỉnh sửa lịch sử của bạn.

Nếu chúng ta sao chép kho lưu trữ ví dụ histedit-ed ở trên và thêm bốn thay đổi nữa, chẳng hạn như
chúng tôi có lịch sử sau đây:

@ 6[mẹo] 038383181893 2009-04-27 18:04 -0500 stefan
| Thêm theta
|
o 5 140988835471 2009-04-27 18:04 -0500 stefan
| Thêm eta
|
o 4 122930637314 2009-04-27 18:04 -0500 stefan
| Thêm zeta
|
o 3 836302820282 2009-04-27 18:04 -0500 stefan
| Thêm epsilon
|
o 2 989b4d060121 2009-04-27 18:04 -0500 trong42
| Thêm beta và delta.
|
o 1 081603921c3f 2009-04-27 18:04 -0500 trong42
| Thêm gama
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 trong thời gian42
Thêm chữ cái

Nếu bạn chạy hg lịch sử --hướng ngoại trên bản sao thì nó cũng giống như chạy hg lịch sử
836302820282. Nếu bạn cần có kế hoạch đẩy tới một kho lưu trữ mà Mercurial không phát hiện được
có liên quan đến repo nguồn, bạn có thể thêm một --lực lượng tùy chọn.

Config
Theo mặc định, các dòng quy tắc Histedit được cắt ngắn còn 80 ký tự. Bạn có thể tùy chỉnh điều này
hành vi bằng cách đặt độ dài khác trong tệp cấu hình của bạn:

[lịch sử]
linelen = 120 # cắt ngắn các dòng quy tắc ở 120 ký tự

hg lịch sử cố gắng tự động chọn bản sửa đổi cơ sở thích hợp để sử dụng. ĐẾN
thay đổi bản sửa đổi cơ sở nào được sử dụng, hãy xác định một bản sửa đổi trong tệp cấu hình của bạn:

[lịch sử]
defaultrev = only(.) & Draft()

Theo mặc định, mỗi bản sửa đổi đã chỉnh sửa cần phải có trong lệnh histedit. Để loại bỏ
bản sửa đổi bạn cần sử dụng rơi vãi hoạt động. Bạn có thể định cấu hình thả ẩn cho
thiếu cam kết bằng cách thêm:

[lịch sử]
bỏ lỡ = Đúng

Lệnh
lịch sử
chỉnh sửa tương tác lịch sử thay đổi:

hg histedit [OPTIONS] ([ANCESTOR] | --outending [URL])

Lệnh này cho phép bạn chỉnh sửa một chuỗi tuyến tính các tập thay đổi (tối đa và bao gồm cả tập hợp đang hoạt động).
thư mục cần sạch). Bạn có thể:

· chọn để [lại] đặt hàng một bộ thay đổi

· rơi vãi bỏ qua tập hợp thay đổi

· hỗn độn để viết lại thông báo cam kết thay đổi

· gập lại để kết hợp nó với bộ thay đổi trước đó

· cuộn giống như gấp, nhưng loại bỏ mô tả của cam kết này

· chỉnh sửa để chỉnh sửa bộ thay đổi này

Có một số cách để chọn bộ thay đổi gốc:

· Chỉ định trực tiếp ANCESTOR

· Sử dụng --outending -- đây sẽ là tập thay đổi tuyến tính đầu tiên không có trong đích.
(Xem hg giúp đỡ config.default-push)

· Mặt khác, giá trị từ tùy chọn cấu hình "histedit.defaultrev" được sử dụng làm giá trị đặt lại cho
chọn bản sửa đổi cơ sở khi ANCESTOR không được chỉ định. Bản sửa đổi đầu tiên được trả về bởi
revset được sử dụng. Theo mặc định, thao tác này sẽ chọn lịch sử có thể chỉnh sửa duy nhất cho
tổ tiên của thư mục làm việc.

Nếu bạn sử dụng --outending, lệnh này sẽ hủy bỏ nếu có các bản sửa đổi gửi đi không rõ ràng.
Ví dụ: nếu có nhiều nhánh chứa các bản sửa đổi gửi đi.

Sử dụng "min(outending() và ::.)" hoặc thông số revset tương tự thay vì --outending to
chỉ định sửa đổi mục tiêu chỉnh sửa chính xác trong tình huống mơ hồ như vậy. Nhìn thấy hg giúp đỡ sửa đổi cho
chi tiết về việc lựa chọn sửa đổi.

Ví dụ:

· Một số thay đổi đã được thực hiện. Bản sửa đổi 3 không còn cần thiết nữa.

Bắt đầu chỉnh sửa lịch sử từ phiên bản 3:

hg lịch sử -r 3

Một trình soạn thảo mở ra, chứa danh sách các bản sửa đổi, với các hành động cụ thể được chỉ định:

chọn 5339bf82f0ca 3 Zworgle the foobar
chọn 8ef592ce7cc4 4 Làm mê mẩn zerlog
chọn 0a9639fcda9d 5 Morgify sự kết hợp

Thông tin bổ sung về các hành động có thể thực hiện sẽ xuất hiện bên dưới danh sách
các bản sửa đổi.

Để xóa bản sửa đổi 3 khỏi lịch sử, hành động của nó (ở đầu bản sửa đổi có liên quan)
dòng) được đổi thành 'thả':

thả 5339bf82f0ca 3 Zworgle the foobar
chọn 8ef592ce7cc4 4 Làm mê mẩn zerlog
chọn 0a9639fcda9d 5 Morgify sự kết hợp

· Một số thay đổi đã được thực hiện. Bản sửa đổi 2 và 4 cần được hoán đổi.

Bắt đầu chỉnh sửa lịch sử từ phiên bản 2:

hg lịch sử -r 2

Một trình soạn thảo mở ra, chứa danh sách các bản sửa đổi, với các hành động cụ thể được chỉ định:

chọn 252a1af424ad 2 Blorb a morgwazzle
chọn 5339bf82f0ca 3 Zworgle the foobar
chọn 8ef592ce7cc4 4 Làm mê mẩn zerlog

Để hoán đổi bản sửa đổi 2 và 4, các dòng của nó được hoán đổi trong trình chỉnh sửa:

chọn 8ef592ce7cc4 4 Làm mê mẩn zerlog
chọn 5339bf82f0ca 3 Zworgle the foobar
chọn 252a1af424ad 2 Blorb a morgwazzle

Trả về 0 nếu thành công, 1 nếu cần có sự can thiệp của người dùng (không chỉ dành cho việc "chỉnh sửa" có chủ ý
lệnh mà còn để giải quyết các xung đột không mong muốn).

Tùy chọn:

- câu lệnh
đọc các chỉnh sửa lịch sử từ tệp được chỉ định

-NS, --tiếp tục
tiếp tục chỉnh sửa đang được tiến hành

--edit-kế hoạch
chỉnh sửa danh sách hành động còn lại

-k, --giữ cho
không loại bỏ các nút cũ sau khi chỉnh sửa hoàn tất

--Huỷ bỏ
hủy bỏ một chỉnh sửa đang diễn ra

-ồ, --hướng ngoại
không tìm thấy các thay đổi ở đích

-NS, --lực lượng
buộc gửi đi ngay cả đối với các kho không liên quan

-NS,--rev
bản sửa đổi đầu tiên được chỉnh sửa

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

từ khóa
mở rộng từ khóa trong tệp được theo dõi

Tiện ích mở rộng này mở rộng $Keywords$ giống RCS/CVS hoặc tự tùy chỉnh trong các tệp văn bản được theo dõi
được lựa chọn bởi cấu hình của bạn.

Từ khóa chỉ được mở rộng trong kho lưu trữ cục bộ và không được lưu trữ trong lịch sử thay đổi. Các
cơ chế có thể được coi là sự tiện lợi cho người dùng hiện tại hoặc cho việc lưu trữ
phân phối.

Từ khóa mở rộng đến dữ liệu tập hợp thay đổi liên quan đến thay đổi mới nhất liên quan đến
thư mục làm việc cha của mỗi tập tin.

Cấu hình được thực hiện ở phần [keyword], [keywordset] và [keywordmaps] của hgrc
các tập tin.

Ví dụ:

[từ khóa]
# mở rộng từ khóa trong mọi tệp python ngoại trừ những từ khóa khớp với "x*"
**.py =
x* = bỏ qua

[bộ từ khóa]
# thích svn- hơn sơ đồ từ khóa mặc định giống cvs
svn = Đúng

Lưu ý Mẫu tên tệp của bạn càng cụ thể thì bạn càng ít bị mất tốc độ trong các tệp lớn.
kho lưu trữ.

Để chạy bản đồ mẫu và mở rộng bản đồ [keywordmaps] và kiểm soát hg kwdemo.
Xem hg giúp đỡ mẫu để biết danh sách các mẫu và bộ lọc có sẵn.

Ba bộ lọc mẫu ngày bổ sung được cung cấp:

hẹn hò

"2006/09/18 15:13:13"

svnutcdate

"2006-09-18 15:13:13Z"

svnisodate

"2006-09-18 08:13:13 -700 (Thứ Hai, ngày 18 tháng 2006 năm XNUMX)"

Ánh xạ mẫu mặc định (xem với hg kwdemo -d) có thể được thay thế bằng tùy chỉnh
từ khóa và mẫu. Một lần nữa, chạy hg kwdemo để kiểm soát kết quả cấu hình của bạn
thay đổi.

Trước khi thay đổi/vô hiệu hóa các từ khóa đang hoạt động, bạn phải chạy hg kwshrink để tránh lưu trữ
từ khóa mở rộng trong lịch sử thay đổi.

Để buộc mở rộng sau khi kích hoạt hoặc thay đổi cấu hình, hãy chạy hg kwexpand.

Các phần mở rộng trải dài trên nhiều dòng và các phần mở rộng tăng dần, như $Log$ của CVS, là
không được hỗ trợ. Bản đồ mẫu từ khóa "Log = {desc}" mở rộng đến dòng đầu tiên của
mô tả tập hợp thay đổi.

Lệnh
kwdemo
in cấu hình [sơ đồ từ khóa] và ví dụ mở rộng:

hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...

Hiển thị bản đồ mẫu từ khóa hiện tại, tùy chỉnh hoặc mặc định và phần mở rộng của chúng.

Mở rộng cấu hình hiện tại bằng cách chỉ định bản đồ làm đối số và sử dụng -f/--rcfile để
nguồn một tập tin hgrc bên ngoài.

Sử dụng -d/--default để tắt cấu hình hiện tại.

Xem hg giúp đỡ mẫu để biết thông tin về các mẫu và bộ lọc.

Tùy chọn:

-NS, --vỡ nợ
hiển thị bản đồ mẫu từ khóa mặc định

-NS,--rcfile
đọc bản đồ từ rcfile

kwexpand
mở rộng từ khóa trong thư mục làm việc:

hg kwexpand [TÙY CHỌN]... [TẬP TIN]...

Chạy sau khi (lại) kích hoạt mở rộng từ khóa.

kwexpand từ chối chạy nếu các tệp đã cho có chứa các thay đổi cục bộ.

Tùy chọn:

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

tập tin kw
hiển thị các tệp được định cấu hình để mở rộng từ khóa:

hg kwfiles [TÙY CHỌN]... [TẬP TIN]...

Liệt kê các tệp trong thư mục làm việc khớp với cấu hình [từ khóa]
hoa văn.

Hữu ích để ngăn chặn việc mở rộng từ khóa một cách vô ý và tăng tốc độ thực thi bằng cách bao gồm
chỉ các tệp thực sự là ứng cử viên cho việc mở rộng.

Xem hg giúp đỡ từ khóa về cách xây dựng các mẫu để bao gồm và loại trừ
các tập tin.

Với -A/--all và -v/--verbose, các mã được sử dụng để hiển thị trạng thái của tệp là:

K = ứng cử viên mở rộng từ khóa
k = ứng cử viên mở rộng từ khóa (không được theo dõi)
Tôi = bỏ qua
i = bị bỏ qua (không được theo dõi)

Tùy chọn:

-MỘT, --tất cả các
hiển thị cờ trạng thái từ khóa của tất cả các tệp

-tôi, --phớt lờ
hiển thị các tập tin bị loại trừ khỏi việc mở rộng

-bạn, --không xác định
chỉ hiển thị các tập tin không xác định (không được theo dõi)

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

kwshrink
hoàn nguyên các từ khóa mở rộng trong thư mục làm việc:

hg kwshrink [TÙY CHỌN]... [TẬP TIN]...

Phải được chạy trước khi thay đổi/vô hiệu hóa các từ khóa đang hoạt động.

kwshrink từ chối chạy nếu các tệp đã cho có chứa các thay đổi cục bộ.

Tùy chọn:

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

tập tin lớn
theo dõi các tập tin nhị phân lớn

Các tệp nhị phân lớn có xu hướng không nén được, không phân biệt được nhiều và hoàn toàn không
có thể hợp nhất. Các tệp như vậy không được xử lý hiệu quả bằng định dạng lưu trữ của Mercurial (revlog),
dựa trên các vùng đồng bằng nhị phân được nén; lưu trữ các tệp nhị phân lớn như thường lệ
Các tệp Mercurial lãng phí băng thông và dung lượng ổ đĩa, đồng thời tăng mức sử dụng bộ nhớ của Mercurial.
Tiện ích mở rộng tệp lớn giải quyết những vấn đề này bằng cách thêm máy khách-máy chủ tập trung
lớp trên cùng của Mercurial: các tệp lớn nằm trong một trung tâm hàng ra ngoài mạng
ở đâu đó và bạn chỉ tìm nạp các bản sửa đổi mà bạn cần khi bạn cần chúng.

tệp lớn hoạt động bằng cách duy trì một "tệp dự phòng" ở dạng .hglf/ cho mỗi tệp lớn. Các
Standins có kích thước nhỏ (41 byte: hàm băm SHA-1 cộng với dòng mới) và được Mercurial theo dõi.
Các bản sửa đổi tệp lớn được xác định bằng hàm băm SHA-1 của nội dung của chúng, được viết
đến chỗ đứng. các tệp lớn sử dụng ID bản sửa đổi đó để lấy/đưa các bản sửa đổi tệp lớn từ/đến
cửa hàng trung tâm. Điều này giúp tiết kiệm cả dung lượng ổ đĩa và băng thông vì bạn không cần phải
truy xuất tất cả các bản sửa đổi lịch sử của các tệp lớn khi bạn sao chép hoặc kéo.

Để bắt đầu một kho lưu trữ mới hoặc thêm các tệp nhị phân lớn mới, chỉ cần thêm --large vào hg thêm vào
chỉ huy. Ví dụ:

$ dd if=/dev/urandom of=randomdata count=2000
$ hg thêm --dữ liệu ngẫu nhiên lớn
$ hg commit -m 'thêm dữ liệu ngẫu nhiên dưới dạng tệp lớn'

Khi bạn đẩy một bộ thay đổi để thêm/sửa đổi các tệp lớn vào kho lưu trữ từ xa, nó
các bản sửa đổi tệp lớn sẽ được tải lên cùng với nó. Lưu ý rằng Mercurial từ xa phải
cũng kích hoạt phần mở rộng tệp lớn để tính năng này hoạt động.

Khi bạn lấy một tập hợp thay đổi ảnh hưởng đến các tệp lớn từ kho lưu trữ từ xa, các tệp lớn
đối với bộ thay đổi theo mặc định sẽ không được kéo xuống. Tuy nhiên, khi bạn cập nhật lên một phiên bản như vậy
bản sửa đổi, mọi tệp lớn cần cho bản sửa đổi đó sẽ được tải xuống và lưu vào bộ nhớ đệm (nếu chúng có
chưa bao giờ được tải xuống trước đây). Do đó, một cách để kéo các tệp lớn khi kéo là sử dụng
--update, nó sẽ cập nhật bản sao làm việc của bạn lên bản sửa đổi được kéo mới nhất (và do đó
tải xuống bất kỳ tệp lớn mới nào).

Nếu bạn muốn kéo các tệp lớn mà bạn chưa cần cập nhật, thì bạn có thể sử dụng pull với
các --lfrev tùy chọn hoặc hg kéo chỉ huy.

Nếu bạn biết mình đang lấy từ một vị trí không phải mặc định và muốn tải xuống tất cả
các tệp lớn tương ứng với các bộ thay đổi mới cùng một lúc, thì bạn có thể kéo bằng
--lfrev "đã kéo()".

Nếu bạn chỉ muốn đảm bảo rằng bạn sẽ có các tệp lớn cần thiết để hợp nhất hoặc rebase
với những đầu mới mà bạn đang kéo, thì bạn có thể kéo bằng --lfrev "đầu(kéo())" cờ
để tải xuống trước bất kỳ tệp lớn nào mới trong phần đầu bạn đang kéo.

Hãy nhớ rằng bây giờ có thể cần phải truy cập mạng để cập nhật các bộ thay đổi mà bạn có
trước đó chưa được cập nhật. Bản chất của phần mở rộng tệp lớn có nghĩa là việc cập nhật được thực hiện
không còn được đảm bảo là hoạt động chỉ ở địa phương.

Nếu bạn đã có các tệp lớn được Mercurial theo dõi mà không có phần mở rộng tệp lớn, bạn
sẽ cần phải chuyển đổi kho lưu trữ của bạn để hưởng lợi từ các tệp lớn. Xong rồi
với hg chuyển đổi chỉ huy:

$ hg lfconvert --size 10 oldrepo newrepo

Trong các kho lưu trữ đã có sẵn các tệp lớn, mọi tệp mới trên 10MB sẽ
tự động được thêm vào dưới dạng tệp lớn. Để thay đổi ngưỡng này, hãy đặt lớnfiles.minsize in
tệp cấu hình Mercurial của bạn ở kích thước tối thiểu tính bằng megabyte để theo dõi dưới dạng tệp lớn hoặc
sử dụng tùy chọn --lfsize cho lệnh thêm (cũng tính bằng megabyte):

[tệp lớn]
kích thước tối thiểu = 2

$ hg thêm --lfsize 2

Sản phẩm tệp lớn.patterns tùy chọn config cho phép bạn chỉ định danh sách các mẫu tên tệp
(xem hg giúp đỡ mô hình) phải luôn được theo dõi dưới dạng tệp lớn:

[tệp lớn]
mẫu =
* .jpg
re:.*\.(png|bmp)$
thư viện.zip
nội dung/âm thanh/*

Các tệp phù hợp với một trong các mẫu này sẽ được thêm dưới dạng tệp lớn bất kể chúng
kích cỡ.

Sản phẩm lớnfiles.minsizetệp lớn.patterns tùy chọn cấu hình sẽ bị bỏ qua đối với bất kỳ
kho lưu trữ chưa chứa tệp lớn. Để thêm tệp lớn đầu tiên vào một
kho lưu trữ, bạn phải làm như vậy một cách rõ ràng với cờ --large được chuyển tới hg thêm vào chỉ huy.

Lệnh
chuyển đổi
chuyển đổi kho lưu trữ bình thường thành kho lưu trữ tệp lớn:

hg lfconvert NGUỒN Đích [FILE ...]

Chuyển đổi kho lưu trữ SOURCE sang kho lưu trữ DEST mới, giống hệt với SOURCE ngoại trừ điều đó
một số tệp nhất định sẽ được chuyển đổi thành tệp lớn: cụ thể là bất kỳ tệp nào khớp với bất kỳ tệp nào
MẪU or có kích thước vượt quá ngưỡng kích thước tối thiểu sẽ được chuyển đổi thành tệp lớn. Các
kích thước được sử dụng để xác định xem có theo dõi một tệp dưới dạng tệp lớn hay không là kích thước của
phiên bản đầu tiên của tập tin. Kích thước tối thiểu có thể được chỉ định bằng --size hoặc bằng
cấu hình như tệp lớn.size.

Sau khi chạy lệnh này, bạn sẽ cần đảm bảo rằng các tệp lớn được bật ở mọi nơi
bạn có ý định đẩy kho lưu trữ mới.

Sử dụng --to-normal để chuyển đổi các tệp lớn trở lại tệp bình thường; sau đó, DEST
kho lưu trữ có thể được sử dụng mà không cần các tệp lớn.

Tùy chọn:

-S,--kích thước
kích thước tối thiểu (MB) để các tệp được chuyển đổi thành tệp lớn

--để bình thường
chuyển đổi từ kho lưu trữ tệp lớn sang kho lưu trữ bình thường

kéo
kéo các tệp lớn cho các bản sửa đổi được chỉ định từ nguồn được chỉ định:

hg lfpull -r REV... [-e CMD] [--remotecmd CMD] [NGUỒN]

Kéo các tệp lớn được tham chiếu từ các bộ thay đổi cục bộ nhưng bị thiếu cục bộ, kéo
từ kho lưu trữ từ xa đến bộ đệm cục bộ.

Nếu SOURCE bị bỏ qua, đường dẫn 'mặc định' sẽ được sử dụng. Nhìn thấy hg giúp đỡ url để biết thêm
thông tin.

Vài ví dụ:

· Kéo các tập tin lớn cho tất cả các trưởng chi nhánh:

hg lfpull -r "head() và chưa đóng()"

· kéo các tập tin lớn trên nhánh mặc định:

hg lfpull -r "nhánh (mặc định)"

Tùy chọn:

-NS,--rev
kéo các tệp lớn cho các bản sửa đổi này

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

mq
quản lý một đống bản vá

Tiện ích mở rộng này cho phép bạn làm việc với nhiều bản vá trong kho lưu trữ Mercurial. Nó quản lý
hai chồng bản vá - tất cả các bản vá đã biết và các bản vá được áp dụng (tập hợp con của các bản vá đã biết).

Các bản vá đã biết được thể hiện dưới dạng tệp bản vá trong thư mục .hg/patches. Các bản vá được áp dụng
đều là tập tin vá và bộ thay đổi.

Công việc chung (sử dụng hg giúp đỡ lệnh để biết thêm chi tiết):

tạo bản vá mới qnew
nhập qimport bản vá hiện có

loạt bản vá in qseries
in các bản vá được áp dụng qapplied

thêm bản vá đã biết vào ngăn xếp qpush được áp dụng
xóa bản vá khỏi ngăn xếp qpop được áp dụng
làm mới nội dung của bản vá được áp dụng hàng đầu qrefresh

Theo mặc định, mq sẽ tự động sử dụng các bản vá git khi được yêu cầu để tránh mất chế độ tệp
thay đổi, sao chép bản ghi, tệp nhị phân hoặc tạo hoặc xóa tệp trống. Hành vi này
có thể được cấu hình với:

[mq]
git = tự động/giữ/có/không

Nếu được đặt thành 'giữ', mq sẽ tuân theo cấu hình phần [diff] trong khi vẫn duy trì
bản vá git trên qrefresh. Nếu được đặt thành 'có' hoặc 'không', mq sẽ ghi đè phần [diff]
và luôn tạo git hoặc các bản vá thông thường, có thể mất dữ liệu trong trường hợp thứ hai.

Có thể mong muốn các tập thay đổi mq được giữ trong giai đoạn bí mật (xem hg giúp đỡ giai đoạn),
có thể được kích hoạt với cài đặt sau:

[mq]
bí mật = Đúng

Theo mặc định, bạn sẽ quản lý hàng đợi bản vá có tên là "bản vá". Bạn có thể tạo khác,
hàng đợi vá độc lập với hg hàng đợi chỉ huy.

Nếu thư mục làm việc chứa các tệp không được cam kết, qpush, qpop và qgoto sẽ hủy bỏ
ngay lập tức. Nếu -f/--force được sử dụng, các thay đổi sẽ bị loại bỏ. Cài đặt:

[mq]
giữ thay đổi = Đúng

làm cho chúng hoạt động như thể --keep-changes đã được thông qua và các thay đổi cục bộ không xung đột sẽ
được dung thứ và bảo tồn. Nếu các tùy chọn không tương thích như -f/--force hoặc --exact là
được thông qua, cài đặt này sẽ bị bỏ qua.

Tiện ích mở rộng này được sử dụng để cung cấp lệnh dải. Lệnh này hiện có trong dải
gia hạn.

Lệnh
đã áp dụng
in các bản vá đã được áp dụng:

hg được áp dụng [-1] [-s] [PATCH]

Trả về 0 khi thành công.

Tùy chọn:

-1, --Cuối cùng
chỉ hiển thị bản vá được áp dụng trước đó

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

qclone
sao chép kho lưu trữ chính và bản vá cùng một lúc:

hg qclone [TÙY CHỌN]... NGUỒN [DEST]

Nếu nguồn là cục bộ, đích sẽ không được áp dụng bản vá. Nếu nguồn ở xa, điều này
lệnh không thể kiểm tra xem các bản vá có được áp dụng trong nguồn hay không, do đó không thể đảm bảo rằng các bản vá đó
không được áp dụng tại điểm đến. Nếu bạn sao chép kho lưu trữ từ xa, hãy chắc chắn rằng nó có
không có bản vá nào được áp dụng.

Kho lưu trữ bản vá nguồn được tìm kiếm trong /.hg/patches theo mặc định. Sử dụng -p ĐẾN
thay đổi.

Thư mục bản vá phải là một kho lưu trữ Mercurial lồng nhau, như được tạo bởi hg trong đó
--mq.

Trả về 0 khi thành công.

Tùy chọn:

--sự lôi kéo sử dụng giao thức kéo để sao chép siêu dữ liệu

-Anh, --không có cập nhật
không cập nhật các thư mục làm việc mới

- không nén
sử dụng truyền không nén (nhanh qua mạng LAN)

-P,--bản vá lỗi
vị trí của kho lưu trữ bản vá nguồn

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

qcommit
cam kết thay đổi trong kho lưu trữ hàng đợi (KHÔNG DÙNG):

hg qcommit [TÙY CHỌN]... [TẬP TIN]...

Lệnh này không được dùng nữa; sử dụng hg cam kết --mq thay thế.

Tùy chọn:

-MỘT, --thêm bớt
đánh dấu các tập tin mới/thiếu là đã thêm/xóa trước khi cam kết

--đóng nhánh
đánh dấu đầu chi nhánh là đã đóng cửa

--sửa đổi
sửa đổi cha mẹ của thư mục làm việc

-S, --bí mật
sử dụng giai đoạn bí mật để cam kết

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-tôi, - tương tác
sử dụng chế độ tương tác

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-NS, --subrepos
tái diễn vào kho con

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: qci

qxóa
xóa các bản vá khỏi hàng đợi:

hg qdelete [-k] [PATCH]...

Không được áp dụng các bản vá và cần có ít nhất một bản vá. Bản vá chính xác
các mã định danh phải được cung cấp. Với -k/--keep, các tệp bản vá được giữ nguyên trong bản vá
thư mục.

Để ngừng quản lý một bản vá và chuyển nó vào lịch sử vĩnh viễn, hãy sử dụng hg qkết thúc chỉ huy.

Tùy chọn:

-k, --giữ cho
giữ tập tin vá

-NS,--rev
ngừng quản lý bản sửa đổi (KHÔNG DÙNG)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: qremove qrm

qdiff
khác biệt của bản vá hiện tại và các sửa đổi tiếp theo:

hg qdiff [TÙY CHỌN]... [TẬP TIN]...

Hiển thị một khác biệt bao gồm bản vá hiện tại cũng như mọi thay đổi đã được thực hiện
trong thư mục làm việc kể từ lần làm mới cuối cùng (do đó hiển thị bản vá hiện tại sẽ như thế nào
trở thành sau qrefresh).

Sử dụng hg khác nếu bạn chỉ muốn xem những thay đổi được thực hiện kể từ lần làm mới cuối cùng hoặc hg xuất khẩu
qtip nếu bạn muốn xem những thay đổi được thực hiện bởi bản vá hiện tại mà không bao gồm những thay đổi được thực hiện
kể từ qrefresh.

Trả về 0 khi thành công.

Tùy chọn:

-một, --bản văn
coi tất cả các tệp là văn bản

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

--gật đầu
bỏ qua ngày từ các tiêu đề khác

- tiền tố
bỏ tiền tố a/ và b/ khỏi tên tệp

-P, --show-chức năng
hiển thị chức năng của mỗi thay đổi

--đảo ngược
tạo ra một khác biệt hoàn tác các thay đổi

-w, --bỏ qua tất cả không gian
bỏ qua khoảng trắng khi so sánh các dòng

-NS, --ignore-không gian-thay đổi
bỏ qua những thay đổi về lượng khoảng trắng

-NS, --bỏ qua-dòng trống
bỏ qua các thay đổi có các dòng đều trống

-Anh,--thống nhât
số dòng ngữ cảnh để hiển thị

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

--nguồn gốc
tạo ra sự khác biệt so với thư mục con

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

qkết thúc
di chuyển các bản vá đã áp dụng vào lịch sử kho lưu trữ:

hg qfinish [-a] [REV]...

Hoàn tất các sửa đổi được chỉ định (tương ứng với các bản vá được áp dụng) bằng cách di chuyển chúng ra khỏi
kiểm soát mq vào lịch sử kho lưu trữ thông thường.

Chấp nhận phạm vi sửa đổi hoặc tùy chọn -a/--applied. Nếu --applied được chỉ định, tất cả
các bản sửa đổi mq được áp dụng sẽ bị xóa khỏi kiểm soát mq. Nếu không, các sửa đổi nhất định phải được
ở dưới cùng của chồng các bản vá được áp dụng.

Điều này có thể đặc biệt hữu ích nếu những thay đổi của bạn đã được áp dụng cho kho lưu trữ ngược dòng,
hoặc nếu bạn sắp đẩy các thay đổi của mình lên thượng nguồn.

Trả về 0 khi thành công.

Tùy chọn:

-một, --áp dụng
hoàn thành tất cả các thay đổi được áp dụng

qfold
gấp các bản vá được đặt tên vào bản vá hiện tại:

hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...

Các bản vá chưa được áp dụng. Mỗi bản vá sẽ được áp dụng lần lượt cho phiên bản hiện tại
vá theo thứ tự nhất định. Nếu tất cả các bản vá được áp dụng thành công, bản vá hiện tại sẽ được
được làm mới bằng bản vá tích lũy mới và các bản vá gấp sẽ bị xóa. Với
-k/--giữ, các tập tin vá lỗi đã gấp sẽ không bị xóa sau đó.

Tiêu đề cho mỗi bản vá gấp sẽ được nối với tiêu đề bản vá hiện tại,
cách nhau bởi một dòng * * *.

Trả về 0 khi thành công.

Tùy chọn:

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-k, --giữ cho
giữ các tập tin vá gấp

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

qgoto
Đẩy hoặc bật các bản vá cho đến khi bản vá được đặt tên ở đầu ngăn xếp:

hg qgoto [TÙY CHỌN]... VÁ

Trả về 0 khi thành công.

Tùy chọn:

--giữ sự thay đổi
chấp nhận những thay đổi cục bộ không xung đột

-NS, --lực lượng
ghi đè mọi thay đổi cục bộ

--không sao lưu
không lưu bản sao lưu của tập tin

qguard
đặt hoặc in các tấm bảo vệ cho một bản vá:

hg qguard [-l] [-n] [VÁ] [-- [+GUARD]... [-GUARD]...]

Các lính canh kiểm soát liệu một bản vá có thể được đẩy hay không. Một bản vá không có người bảo vệ luôn được đẩy lên. MỘT
bản vá có bộ bảo vệ tích cực ("+foo") chỉ được đẩy nếu hg qselect lệnh có
đã kích hoạt nó. Một bản vá có bộ bảo vệ âm ("-foo") không bao giờ được đẩy nếu hg qselect
lệnh đã kích hoạt nó.

Không có đối số, in các bảo vệ hiện đang hoạt động. Bằng những lập luận, hãy đặt người bảo vệ cho
bản vá có tên.

Lưu ý Việc chỉ định các bộ bảo vệ tiêu cực hiện yêu cầu '--'.

Để đặt bảo vệ trên một bản vá khác:

hg qguard other.patch -- +2.6.17 -ổn định

Trả về 0 khi thành công.

Tùy chọn:

-l, --danh sách
liệt kê tất cả các bản vá và bảo vệ

-N, --không ai
thả tất cả lính canh

tiêu đề q
in tiêu đề của bản vá trên cùng hoặc được chỉ định:

hg qheader [PATCH]

Trả về 0 khi thành công.

nhập khẩu
nhập bản vá hoặc bộ thay đổi hiện có:

hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...

Bản vá được chèn vào chuỗi sau bản vá được áp dụng cuối cùng. Nếu không có bản vá nào có
được áp dụng, qimport sẽ thêm bản vá vào chuỗi.

Bản vá sẽ có cùng tên với tệp nguồn của nó trừ khi bạn đặt cho nó một cái mới với
-n/--tên.

Bạn có thể đăng ký một bản vá hiện có bên trong thư mục bản vá với cờ -e/--hiện có.

Với -f/--force, bản vá hiện có cùng tên sẽ bị ghi đè.

Một bộ thay đổi hiện có có thể được đặt dưới sự kiểm soát mq với -r/--rev (ví dụ qimport --rev .
-n patch sẽ đặt bản sửa đổi hiện tại dưới sự kiểm soát mq). Với -g/--git, các bản vá
được nhập bằng --rev sẽ sử dụng định dạng git diff. Xem chủ đề trợ giúp khác biệt để biết thông tin
về lý do tại sao điều này lại quan trọng để bảo toàn thông tin đổi tên/sao chép và các thay đổi về quyền.
Sử dụng hg qkết thúc để loại bỏ các thay đổi khỏi điều khiển mq.

Để nhập bản vá từ đầu vào tiêu chuẩn, hãy chuyển - dưới dạng tệp bản vá. Khi nhập từ
đầu vào tiêu chuẩn, tên bản vá phải được chỉ định bằng cờ --name.

Để nhập bản vá hiện có trong khi đổi tên nó:

hg qimport -e bản vá hiện có -n tên mới

Trả về 0 nếu nhập thành công.

Tùy chọn:

-e, - tồn tại
nhập tập tin vào thư mục bản vá

-N,--Tên
tên của tập tin vá

-NS, --lực lượng
ghi đè lên các tệp hiện có

-NS,--rev
đặt các bản sửa đổi hiện có dưới sự kiểm soát mq

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-P, --xô
qpush sau khi nhập

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

qinit
khởi tạo một kho lưu trữ hàng đợi mới (KHÔNG DÙNG):

hg qinit [-c]

Kho lưu trữ hàng đợi không được phiên bản theo mặc định. Nếu -c/--create-repo được chỉ định, qinit
sẽ tạo một kho lưu trữ lồng nhau riêng cho các bản vá (qinit -c cũng có thể được chạy sau này để
chuyển đổi kho lưu trữ bản vá không phiên bản thành kho lưu trữ có phiên bản). Bạn có thể sử dụng qcommit để
cam kết thay đổi đối với kho lưu trữ hàng đợi này.

Lệnh này không được dùng nữa. Không có -c, nó được ngụ ý bởi các lệnh liên quan khác. Với -c,
sử dụng hg trong đó --mq thay thế.

Tùy chọn:

-NS, --tạo-repo
tạo kho lưu trữ hàng đợi

qnew
tạo một bản vá mới:

hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...

qnew tạo một bản vá mới bên trên bản vá hiện đang được áp dụng (nếu có). Bản vá sẽ được
được khởi tạo với bất kỳ thay đổi nổi bật nào trong thư mục làm việc. Bạn cũng có thể sử dụng
-I/--bao gồm, -X/--loại trừ và/hoặc danh sách các tệp sau tên bản vá để chỉ thêm
thay đổi các tệp phù hợp với bản vá mới, phần còn lại là những sửa đổi không được cam kết.

-u/--user và -d/--date có thể được sử dụng để đặt ngày và người dùng (đã cho) tương ứng.
-U/--currentuser và -D/--currentdate đặt người dùng thành người dùng hiện tại và ngày thành ngày hiện tại.

-e/--edit, -m/--message hoặc -l/--logfile đặt tiêu đề bản vá cũng như cam kết
tin nhắn. Nếu không được chỉ định, tiêu đề sẽ trống và thông báo cam kết là '[mq]:
VÁ'.

Sử dụng tùy chọn -g/--git để giữ bản vá ở định dạng khác biệt mở rộng git. Đọc sự khác biệt
chủ đề trợ giúp để biết thêm thông tin về lý do tại sao điều này lại quan trọng đối với việc duy trì các thay đổi về quyền
và sao chép/đổi tên thông tin.

Trả về 0 khi tạo thành công bản vá mới.

Tùy chọn:

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS, --lực lượng
nhập các thay đổi không được cam kết (KHÔNG DÙNG)

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-Anh, --người dùng hiện tại
thêm "Từ: " để vá

-bạn,--người sử dụng
thêm "Từ: " để vá

-NS, --ngay hiện tại
thêm "Ngày: " để vá

-NS,--ngày
thêm "Ngày: " để vá

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

Qnext
in tên của bản vá có thể đẩy tiếp theo:

hg qnext [-s]

Trả về 0 khi thành công.

Tùy chọn:

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

qpop
bật bản vá hiện tại ra khỏi ngăn xếp:

hg qpop [-a] [-f] [PATCH | MỤC LỤC]

Không có đối số, bật ra khỏi đầu ngăn xếp bản vá. Nếu được đặt tên bản vá, hãy giữ nguyên
bật ra các bản vá cho đến khi bản vá được đặt tên ở đầu ngăn xếp.

Theo mặc định, hủy bỏ nếu thư mục làm việc chứa những thay đổi không được cam kết. Với
--keep-changes, chỉ hủy bỏ nếu các tệp không được cam kết trùng lặp với các tệp được vá. Với
-f/--bắt buộc, sao lưu và loại bỏ các thay đổi được thực hiện đối với các tệp đó.

Trả về 0 khi thành công.

Tùy chọn:

-một, --tất cả các
bật tất cả các bản vá

-N,--Tên
tên hàng đợi bật lên (KHÔNG DÙNG)

--giữ sự thay đổi
chấp nhận những thay đổi cục bộ không xung đột

-NS, --lực lượng
quên mọi thay đổi cục bộ đối với các tệp được vá

--không sao lưu
không lưu bản sao lưu của tập tin

qprev
in tên của bản vá được áp dụng trước đó:

hg qprev [-s]

Trả về 0 khi thành công.

Tùy chọn:

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

đẩy
đẩy bản vá tiếp theo vào ngăn xếp:

hg qpush [-f] [-l] [-a] [--move] [PATCH | MỤC LỤC]

Theo mặc định, hủy bỏ nếu thư mục làm việc chứa những thay đổi không được cam kết. Với
--keep-changes, chỉ hủy bỏ nếu các tệp không được cam kết trùng lặp với các tệp được vá. Với
-f/--bắt buộc, sao lưu và vá các thay đổi chưa được cam kết.

Trả về 0 khi thành công.

Tùy chọn:

--giữ sự thay đổi
chấp nhận những thay đổi cục bộ không xung đột

-NS, --lực lượng
áp dụng trên các thay đổi cục bộ

-e, --chính xác
áp dụng bản vá mục tiêu cho bản gốc đã ghi của nó

-l, --danh sách
liệt kê tên bản vá trong văn bản cam kết

-một, --tất cả các
áp dụng tất cả các bản vá

-NS, - hợp nhất
hợp nhất từ ​​​​hàng đợi khác (KHÔNG DÙNG)

-N,--Tên
hợp nhất tên hàng đợi (KHÔNG DÙNG)

--di chuyển sắp xếp lại loạt bản vá và chỉ áp dụng bản vá

--không sao lưu
không lưu bản sao lưu của tập tin

hàng đợi
quản lý nhiều hàng đợi bản vá:

hg qqueue [TÙY CHỌN] [Hàng đợi]

Hỗ trợ chuyển đổi giữa các hàng đợi vá khác nhau, cũng như tạo hàng đợi vá mới
và xóa những cái hiện có.

Bỏ qua tên hàng đợi hoặc chỉ định -l/--list sẽ hiển thị cho bạn các hàng đợi đã đăng ký - bởi
mặc định hàng đợi bản vá "bình thường" được đăng ký. Hàng đợi hiện đang hoạt động sẽ là
được đánh dấu bằng "(hoạt động)". Việc chỉ định --active sẽ chỉ in tên của hàng đợi đang hoạt động.

Để tạo hàng đợi mới, hãy sử dụng -c/--create. Hàng đợi được tự động kích hoạt, ngoại trừ trong
trường hợp có các bản vá được áp dụng từ hàng đợi hiện đang hoạt động trong
kho. Khi đó hàng đợi sẽ chỉ được tạo và việc chuyển đổi sẽ không thành công.

Để xóa hàng đợi hiện có, hãy sử dụng --delete. Bạn không thể xóa hàng đợi hiện đang hoạt động.

Trả về 0 khi thành công.

Tùy chọn:

-l, --danh sách
liệt kê tất cả các hàng đợi có sẵn

--tích cực
in tên hàng đợi đang hoạt động

-NS, --tạo ra
tạo hàng đợi mới

--đổi tên
đổi tên hàng đợi đang hoạt động

--xóa bỏ
xóa tham chiếu đến hàng đợi

--gege
xóa hàng đợi và xóa thư mục vá

qrefresh
cập nhật bản vá hiện tại:

hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...

Nếu bất kỳ mẫu tệp nào được cung cấp, bản vá được làm mới sẽ chỉ chứa các sửa đổi
phù hợp với những mẫu đó; những sửa đổi còn lại sẽ vẫn hoạt động
thư mục.

Nếu -s/--short được chỉ định, các tệp hiện có trong bản vá sẽ chỉ được làm mới
thích các tập tin phù hợp và vẫn còn trong bản vá.

Nếu -e/--edit được chỉ định, Mercurial sẽ khởi động trình chỉnh sửa được định cấu hình của bạn để bạn nhập
tin nhắn. Trong trường hợp qrefresh không thành công, bạn sẽ tìm thấy bản sao lưu tin nhắn của mình trong
.hg/last-message.txt.

hg add/remove/copy/rename hoạt động như bình thường, mặc dù bạn có thể muốn sử dụng các bản vá kiểu git
(-g/--git hoặc [diff] git=1) để theo dõi các bản sao và đổi tên. Xem chủ đề trợ giúp khác biệt để biết thêm
thông tin về định dạng git diff.

Trả về 0 khi thành công.

Tùy chọn:

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

-S, --ngắn
chỉ làm mới các tệp đã có trong bản vá và các tệp được chỉ định

-Anh, --người dùng hiện tại
thêm/cập nhật trường tác giả trong bản vá với người dùng hiện tại

-bạn,--người sử dụng
thêm/cập nhật trường tác giả trong bản vá với người dùng nhất định

-NS, --ngay hiện tại
thêm/cập nhật trường ngày trong bản vá với ngày hiện tại

-NS,--ngày
thêm/cập nhật trường ngày trong bản vá với ngày đã cho

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

qrename
đổi tên một bản vá:

hg qrename PATCH1 [PATCH2]

Với một đối số, đổi tên bản vá hiện tại thành PATCH1. Với hai đối số, đổi tên
PATCH1 đến PATCH2.

Trả về 0 khi thành công.

bí danh: qmv

qrestore
khôi phục trạng thái hàng đợi được lưu bởi bản sửa đổi (KHÔNG DÙNG):

hg qrestore [-d] [-u] REV

Lệnh này không được dùng nữa, hãy sử dụng hg nổi loạn thay thế.

Tùy chọn:

-NS, --xóa bỏ
xóa mục lưu

-bạn, - cập nhật
cập nhật thư mục làm việc của hàng đợi

qsave
lưu trạng thái hàng đợi hiện tại (KHÔNG DÙNG):

hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]

Lệnh này không được dùng nữa, hãy sử dụng hg nổi loạn thay thế.

Tùy chọn:

-NS, - nội soi
sao chép thư mục vá

-N,--Tên
sao chép tên thư mục

-e, --trống
xóa tập tin trạng thái hàng đợi

-NS, --lực lượng
buộc sao chép

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

qselect
đặt hoặc in các bản vá được bảo vệ để đẩy:

hg qselect [TÙY CHỌN]... [GUARD]...

Sử dụng hg qguard lệnh để thiết lập hoặc in các phần bảo vệ trên bản vá, sau đó sử dụng qselect để báo cho mq
sử dụng loại bảo vệ nào. Một bản vá sẽ bị đẩy nếu nó không có người bảo vệ hoặc bất kỳ người bảo vệ tích cực nào
khớp với bảo vệ hiện được chọn, nhưng sẽ không bị đẩy nếu có bất kỳ bảo vệ tiêu cực nào khớp
người bảo vệ hiện tại. Ví dụ:

qguard foo.patch -- -stable (bảo vệ tiêu cực)
qguard bar.patch +ổn định (bảo vệ tích cực)
qselect ổn định

Điều này kích hoạt bộ phận bảo vệ "ổn định". mq sẽ bỏ qua foo.patch (vì nó có giá trị âm
match) nhưng đẩy bar.patch (vì nó có kết quả khớp tích cực).

Không có đối số, in ra các vệ sĩ hiện đang hoạt động. Với một đối số, thiết lập hoạt động
bảo vệ.

Sử dụng -n/--none để tắt bộ bảo vệ (không cần đối số nào khác). Khi không có người bảo vệ
đang hoạt động, các bản vá có bảo vệ tích cực sẽ bị bỏ qua và các bản vá có bảo vệ tiêu cực sẽ bị bỏ qua.
đẩy.

qselect có thể thay đổi các biện pháp bảo vệ trên các bản vá được áp dụng. Nó không bật các bản vá được bảo vệ bởi
mặc định. Sử dụng --pop để quay lại bản vá được áp dụng cuối cùng không được bảo vệ. Sử dụng
--reapply (ngụ ý --pop) để quay lại bản vá hiện tại sau đó, nhưng bỏ qua
các bản vá được bảo vệ.

Sử dụng -s/--series để in danh sách tất cả các phần bảo vệ trong tệp chuỗi (không có đối số nào khác
cần thiết). Sử dụng -v để biết thêm thông tin.

Trả về 0 khi thành công.

Tùy chọn:

-N, --không ai
vô hiệu hóa tất cả các vệ sĩ

-S, --loạt
liệt kê tất cả các vệ sĩ trong tập tin chuỗi

--nhạc pop bật lên trước bản vá được áp dụng được bảo vệ đầu tiên

--đăng ký lại
bật lên, sau đó áp dụng lại các bản vá

qseries
in toàn bộ tập tin loạt:

hg qseries [-ms]

Trả về 0 khi thành công.

Tùy chọn:

-NS, --mất tích
in các bản vá không theo chuỗi

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

qtop
in tên của bản vá hiện tại:

hg qtop [-s]

Trả về 0 khi thành công.

Tùy chọn:

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

ứng dụng
in các bản vá chưa được áp dụng:

hg đã được áp dụng [-1] [-s] [PATCH]

Trả về 0 khi thành công.

Tùy chọn:

-1, --đầu tiên
chỉ hiển thị bản vá đầu tiên

-S, --tóm lược
in dòng đầu tiên của tiêu đề bản vá

thông báo
móc để gửi thông báo đẩy email

Tiện ích mở rộng này triển khai các hook để gửi thông báo qua email khi các tập hợp thay đổi được gửi từ
hoặc được kho lưu trữ cục bộ nhận.

Đầu tiên, kích hoạt tiện ích mở rộng như được giải thích trong hg giúp đỡ mở rộng, và đăng ký hook bạn
muốn chạy. đếnnhóm thay đổi hook được chạy khi nhận được các thay đổi, trong khi
đi hook dành cho các bộ thay đổi được gửi đến kho lưu trữ khác:

[móc]
# một email cho mỗi bộ thay đổi đến
đến.notify = python:hgext.notify.hook
# một email cho tất cả các thay đổi sắp tới
Changegroup.notify = python:hgext.notify.hook

# một email cho tất cả các thay đổi gửi đi
đi.notify = python:hgext.notify.hook

Điều này đăng ký các móc. Để bật thông báo, người đăng ký phải được chỉ định
kho lưu trữ. Các [usersub] phần ánh xạ nhiều kho lưu trữ tới một người nhận nhất định. Các
[reposub] phần ánh xạ nhiều người nhận vào một kho lưu trữ duy nhất:

[usersub]
Khóa # là email của người đăng ký, giá trị là danh sách các mẫu repo được phân tách bằng dấu phẩy
người dùng@host = mẫu

[reposub]
Khóa # là mẫu repo, giá trị là danh sách email người đăng ký được phân tách bằng dấu phẩy
mẫu = người dùng @ máy chủ

A Belt Hold là một toàn cầu khớp đường dẫn tuyệt đối đến kho lưu trữ, tùy ý kết hợp với
thiết lập lại biểu thức. Một biểu thức revset, nếu có, sẽ được phân tách khỏi toàn cầu bằng hàm băm.
Ví dụ:

[reposub]
*/widget#branch(release) = qa-team@example.com

Điều này gửi đến qa-team@example.com bất cứ khi nào một bộ thay đổi trên phát hành nhánh kích hoạt một
thông báo trong bất kỳ kho lưu trữ nào kết thúc bằng widget.

Để đặt chúng dưới sự quản lý trực tiếp của người dùng, [usersub][reposub] phần
có thể được đặt ở một nơi riêng biệt hgrc tập tin và được kết hợp bằng cách tham chiếu:

[thông báo]
config = /path/to/subscriptionsfile

Thông báo sẽ không được gửi cho đến khi thông báo.test giá trị được đặt thành Sai; xem bên dưới.

Nội dung thông báo có thể được điều chỉnh bằng các mục cấu hình sau:

thông báo.test
If Thật, in tin nhắn ra thiết bị xuất chuẩn thay vì gửi chúng. Mặc định: Đúng.

thông báo.nguồn
Danh sách các nguồn thay đổi được phân tách bằng dấu cách. Thông báo chỉ được kích hoạt khi
nguồn của bộ thay đổi nằm trong danh sách này. Nguồn có thể là:

phục vụ

các thay đổi nhận được qua http hoặc ssh

kéo

các thay đổi nhận được thông qua hg kéo

tách ra

các thay đổi nhận được thông qua hg tách ra

đẩy

các tập thay đổi được gửi hoặc nhận qua hg đẩy

bó lại

các tập thay đổi được gửi qua hg tách ra

Mặc định: phục vụ.

thông báo.strip
Số dấu gạch chéo ở đầu cần loại bỏ khỏi đường dẫn url. Theo mặc định, thông báo
kho tham chiếu với đường dẫn tuyệt đối của chúng. thông báo.strip cho phép bạn biến chúng
vào các đường dẫn tương đối. Ví dụ, thông báo.strip=3 sẽ thay đổi /dài/đường dẫn/kho lưu trữ
trong kho. Mặc định: 0.

thông báo.domain
Miền email mặc định cho người gửi hoặc người nhận không có miền rõ ràng.

thông báo.style
Tệp kiểu để sử dụng khi định dạng email.

thông báo.template
Mẫu để sử dụng khi định dạng email.

thông báo.incoming
Mẫu để sử dụng khi chạy dưới dạng hook đến, ghi đè thông báo.template.

thông báo.outending
Mẫu để sử dụng khi chạy dưới dạng hook gửi đi, ghi đè thông báo.template.

thông báo.changegroup
Mẫu để sử dụng khi chạy dưới dạng hook nhóm thay đổi, ghi đè thông báo.template.

thông báo.maxdiff
Số dòng khác biệt tối đa cần đưa vào email thông báo. Đặt thành 0 để tắt
khác biệt hoặc -1 để bao gồm tất cả. Mặc định: 300.

thông báo.maxsubject
Số ký tự tối đa trong dòng chủ đề của email. Mặc định: 67.

thông báo.diffstat
Đặt thành True để bao gồm một chỉ số khác biệt trước nội dung khác biệt. Mặc định: Đúng.

thông báo.merge
Nếu Đúng, hãy gửi thông báo để hợp nhất các thay đổi. Mặc định: Đúng.

thông báo.mbox
Nếu được đặt, hãy nối thêm thư vào tệp mbox này thay vì gửi. Mặc định: Không.

thông báo.fromauthor
Nếu được đặt, hãy sử dụng bộ xác nhận của bộ thay đổi đầu tiên trong nhóm thay đổi cho "Từ"
trường của thư thông báo. Nếu không được đặt, hãy đưa người dùng từ repo đẩy.
Mặc định: Sai.

Nếu được đặt, các mục sau đây cũng sẽ được sử dụng để tùy chỉnh thông báo:

email từ
E-mail Từ địa chỉ để sử dụng nếu không tìm thấy địa chỉ nào trong nội dung email được tạo.

web.baseurl
URL kho lưu trữ gốc để kết hợp với đường dẫn kho lưu trữ khi tạo tài liệu tham khảo. Nhìn thấy
Ngoài ra thông báo.strip.

máy nhắn tin
duyệt đầu ra lệnh bằng máy nhắn tin bên ngoài

Để đặt máy nhắn tin nên sử dụng, hãy đặt biến ứng dụng:

[máy nhắn tin]
máy nhắn tin = ít hơn -FRX

Nếu không có máy nhắn tin nào được đặt thì tiện ích mở rộng máy nhắn tin sẽ sử dụng biến môi trường $PAGER. Nếu không
pager.pager, cũng như $PAGER không được đặt, không có máy nhắn tin nào được sử dụng.

Bạn có thể tắt máy nhắn tin cho một số lệnh nhất định bằng cách thêm chúng vào danh sách pager.ignore:

[máy nhắn tin]
bỏ qua = phiên bản, trợ giúp, cập nhật

Bạn cũng có thể chỉ kích hoạt máy nhắn tin cho một số lệnh nhất định bằng cách sử dụng pager.attend. Dưới đây là
danh sách các lệnh mặc định được phân trang:

[máy nhắn tin]
tham dự = chú thích, cat, diff, xuất, glog, log, qdiff

Đặt pager.attend thành một giá trị trống sẽ khiến tất cả các lệnh được phân trang.

Nếu có pager.attend, pager.ignore sẽ bị bỏ qua.

Cuối cùng, bạn có thể bật và tắt tính năng phân trang cho từng lệnh bằng lệnh
tham gia- lựa chọn. Cài đặt này được ưu tiên hơn tham dự và bỏ qua hiện có
tùy chọn và mặc định:

[máy nhắn tin]
tham dự-cat = sai

Để bỏ qua các lệnh chung như hg phiên bản or hg giúp đỡ, bạn phải chỉ định chúng trong
tập tin cấu hình người dùng.

Để kiểm soát xem máy nhắn tin có được sử dụng cho một lệnh riêng lẻ hay không, bạn có thể sử dụng
--máy nhắn tin= :

- sử dụng khi cần thiết: `auto`.
- yêu cầu máy nhắn tin: `yes` hoặc `on`.
- ngăn chặn máy nhắn tin: `no` hoặc `off` (bất kỳ giá trị nào không được nhận dạng
cũng sẽ hoạt động).

bom vá
lệnh gửi các tập hợp thay đổi dưới dạng (một loạt) email vá lỗi

Bộ truyện được bắt đầu bằng phần giới thiệu "[PATCH 0 of N]", mô tả bộ truyện
như một toàn thể

Mỗi email bản vá có dòng Chủ đề là "[PATCH M of N] ...", sử dụng dòng đầu tiên của
mô tả tập hợp thay đổi làm văn bản chủ đề. Tin nhắn chứa hai hoặc ba phần nội dung:

· Mô tả tập thay đổi.

· [Tùy chọn] Kết quả của việc chạy diffstat trên bản vá.

· Bản thân bản vá được tạo bởi hg xuất khẩu.

Mỗi tin nhắn đề cập đến tin nhắn đầu tiên trong chuỗi bằng cách sử dụng phần Trả lời và Tài liệu tham khảo
các tiêu đề, vì vậy chúng sẽ hiển thị dưới dạng một chuỗi trong các trình đọc tin tức và thư theo chuỗi cũng như trong thư
tài liệu lưu trữ.

Để định cấu hình các giá trị mặc định khác, hãy thêm một phần như thế này vào tệp cấu hình của bạn:

[e-mail]
từ = Tên tôi
to = người nhận1, người nhận2, ...
cc = cc1, cc2,...
bcc = bcc1, bcc2,...
reply-to = địa chỉ1, địa chỉ2, ...

Sử dụng [bom vá] làm tên phần cấu hình nếu bạn cần ghi đè toàn cầu [e-mail]
cài đặt địa chỉ.

Sau đó, bạn có thể sử dụng hg e-mail lệnh gửi một loạt các bộ thay đổi dưới dạng bom vá.

Bạn cũng có thể định cấu hình tùy chọn phương thức trong phần email thành gửi thư
gửi thư tương thích hoặc điền vào phần [smtp] để tiện ích mở rộng patchbomb có thể
tự động gửi patchbomb trực tiếp từ dòng lệnh. Xem [email] và [smtp]
phần trong hgrc(5) để biết chi tiết.

Theo mặc định, hg e-mail sẽ nhắc nhở cho một Đến or CC tiêu đề nếu bạn không cung cấp thông qua
cấu hình hoặc dòng lệnh. Bạn có thể ghi đè điều này để không bao giờ nhắc bằng cách định cấu hình
một giá trị trống:

[e-mail]
cc =

Bạn có thể kiểm soát việc đưa vào thông báo giới thiệu mặc định bằng patchbomb.intro
tùy chọn cấu hình. Cấu hình luôn bị ghi đè bởi các cờ dòng lệnh như
--intro và --desc:

[bom vá]
intro=auto # bao gồm thông báo giới thiệu nếu có nhiều hơn 1 bản vá (mặc định)
intro=never # không bao giờ thêm thông báo giới thiệu
intro=always # luôn kèm theo thông báo giới thiệu

Bạn có thể đặt patchbomb luôn yêu cầu xác nhận bằng cách cài đặt patchbomb.confirm thành sự thật.

Lệnh
e-mail
gửi các thay đổi qua email:

hg email [TÙY CHỌN]... [DEST]...

Theo mặc định, các khác biệt được gửi theo định dạng được tạo bởi hg xuất khẩu, một cho mỗi tin nhắn. Các
loạt phim bắt đầu bằng phần giới thiệu "[PATCH 0 of N]", mô tả toàn bộ loạt phim.

Mỗi email bản vá có dòng Chủ đề là "[PATCH M of N] ...", sử dụng dòng đầu tiên của
mô tả tập hợp thay đổi làm văn bản chủ đề. Tin nhắn có hai hoặc ba phần.
Đầu tiên, mô tả thay đổi.

Với tùy chọn -d/--diffstat, nếu chương trình diffstat được cài đặt, kết quả của việc chạy
diffstat trên bản vá được chèn vào.

Cuối cùng, bản vá, được tạo bởi hg xuất khẩu.

Với các tùy chọn -d/--diffstat hoặc --confirm, bạn sẽ thấy bản tóm tắt cuối cùng về
tất cả các tin nhắn và yêu cầu xác nhận trước khi tin nhắn được gửi đi.

Theo mặc định, bản vá được đưa vào dưới dạng văn bản trong nội dung email để dễ dàng xem lại. Sử dụng
Thay vào đó, tùy chọn -a/--attach sẽ tạo phần đính kèm cho bản vá. Với -i/--nội tuyến một
tệp đính kèm nội tuyến sẽ được tạo. Bạn có thể bao gồm một bản vá dưới dạng văn bản trong nội dung email
và dưới dạng tệp đính kèm thông thường hoặc tệp đính kèm nội tuyến bằng cách kết hợp -a/--attach hoặc -i/--inline với
tùy chọn --body.

Với -o/--outending, email sẽ được tạo cho các bản vá không tìm thấy ở đích
kho lưu trữ (hoặc chỉ những kho lưu trữ là tổ tiên của các phiên bản được chỉ định nếu có
cung cấp)

Với -b/--bundle, các tập hợp thay đổi được chọn như đối với --outending, nhưng một email có chứa
một gói Mercurial nhị phân dưới dạng tệp đính kèm sẽ được gửi. Sử dụng patchbomb.bundletype
tùy chọn config để kiểm soát loại gói như với hg bó lại --kiểu.

Với -m/--mbox, thay vì xem trước từng tin nhắn patchbomb trong máy nhắn tin hoặc gửi
tin nhắn trực tiếp, nó sẽ tạo một tệp hộp thư UNIX với các email vá lỗi. Hộp thư này
tệp có thể được xem trước với bất kỳ tác nhân người dùng thư nào hỗ trợ tệp mbox UNIX.

Với -n/--test, tất cả các bước sẽ chạy nhưng thư sẽ không được gửi. Bạn sẽ được nhắc
địa chỉ người nhận email, chủ đề và thông báo giới thiệu mô tả các bản vá
quả bom vá của bạn. Sau đó, khi tất cả đã hoàn tất, thông báo patchbomb sẽ được hiển thị. Nếu máy nhắn tin
biến môi trường được đặt, máy nhắn tin của bạn sẽ được kích hoạt một lần cho mỗi tin nhắn patchbomb,
để bạn có thể xác minh mọi thứ đều ổn.

Trong trường hợp gửi email không thành công, bạn sẽ tìm thấy bản sao lưu tin nhắn giới thiệu loạt bài của mình trong
.hg/last-email.txt.

Hành vi mặc định của lệnh này có thể được tùy chỉnh thông qua cấu hình. (Nhìn thấy hg giúp đỡ
bom vá để biết chi tiết)

Ví dụ:

hg email -r 3000 # chỉ gửi bản vá 3000
hg email -r 3000 -r 3001 # gửi bản vá 3000 và 3001
hg email -r 3000:3005 # gửi bản vá 3000 đến 3005
hg email 3000 # gửi bản vá 3000 (không dùng nữa)

hg email -o # gửi tất cả các bản vá không theo mặc định
hg email -o DEST # gửi tất cả các bản vá không có trong DEST
hg email -o -r 3000 # gửi tất cả tổ tiên của 3000 không theo mặc định
hg email -o -r 3000 DEST # gửi tất cả tổ tiên của 3000 không có trong DEST

hg email -b # gửi gói tất cả các bản vá không có mặc định
hg email -b DEST # gửi gói tất cả các bản vá không có trong DEST
hg email -b -r 3000 # gói tất cả tổ tiên của 3000 không theo mặc định
hg email -b -r 3000 DEST # gói tất cả tổ tiên của 3000 không có trong DEST

hg email -o -m mbox && # tạo tệp mbox...
mutt -R -f mbox # ... và xem nó bằng mutt
hg email -o -m mbox && # tạo tệp mbox ...
formail -s sendmail \ # ... và sử dụng formail để gửi từ mbox
-bm -t < mbox # ... sử dụng sendmail

Trước khi sử dụng lệnh này, bạn sẽ cần kích hoạt email trong hgrc. Xem [email]
phần trong hgrc(5) để biết chi tiết.

Tùy chọn:

-NS, --git
sử dụng định dạng khác biệt mở rộng của git

--trơn
bỏ qua tiêu đề bản vá hg

-ồ, --hướng ngoại
gửi những thay đổi không tìm thấy trong kho đích

-NS, --bó
gửi các thay đổi không có trong mục tiêu dưới dạng gói nhị phân

--bundlename
tên của tệp đính kèm gói (mặc định: gói)

-NS,--rev
một bản sửa đổi để gửi

--lực lượng
chạy ngay cả khi kho lưu trữ từ xa không liên quan (với -b/--bundle)

--cơ sở
một tập hợp thay đổi cơ sở để chỉ định thay vì đích (với -b/--bundle)

--giới thiệu
gửi email giới thiệu cho một bản vá

--cơ thể người gửi các bản vá dưới dạng văn bản tin nhắn nội tuyến (mặc định)

-một, --gắn
gửi bản vá dưới dạng tệp đính kèm

-tôi, --nội tuyến
gửi các bản vá dưới dạng tệp đính kèm nội tuyến

--bcc
địa chỉ email của người nhận bản sao mù

-NS,--cc
địa chỉ email của người nhận bản sao

--xác nhận
yêu cầu xác nhận trước khi gửi

-NS, --diffstat
thêm đầu ra diffstat vào tin nhắn

--ngày
sử dụng ngày đã cho làm ngày gửi

--desc
sử dụng tệp đã cho làm mô tả chuỗi

-NS,--từ
địa chỉ email của người gửi

-N, --kiểm tra
in tin nhắn sẽ được gửi

-NS,--mbox
viết tin nhắn vào tập tin mbox thay vì gửi chúng

--trả lời
địa chỉ email trả lời sẽ được gửi đến

-S,--chủ thể
chủ đề của tin nhắn đầu tiên (phần giới thiệu hoặc bản vá đơn)

--trả lời-đến
nhận dạng tin nhắn để trả lời

--lá cờ
cờ để thêm vào tiền tố chủ đề

-NS,--đến
địa chỉ email của người nhận

-e,--ssh
chỉ định lệnh ssh để sử dụng

--remotecmd
chỉ định lệnh hg để chạy ở phía xa

--không an toàn
không xác minh chứng chỉ máy chủ (bỏ qua cấu hình web.cacerts)

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

purge
lệnh xóa các tập tin không bị theo dõi khỏi thư mục làm việc

Lệnh
purge
xóa các tệp không được Mercurial theo dõi:

hg thanh lọc [TÙY CHỌN]... [TRỰC TIẾP]...

Xóa các tập tin mà Mercurial không biết. Điều này rất hữu ích để kiểm tra các thay đổi cục bộ và không được cam kết
trong một cây nguồn sạch.

Điều này có nghĩa là việc thanh lọc sẽ xóa những mục sau theo mặc định:

· Tệp không xác định: tệp được đánh dấu bằng "?" qua hg tình trạng

· Thư mục trống: trên thực tế Mercurial bỏ qua các thư mục trừ khi chúng chứa các tập tin trong
quản lý kiểm soát nguồn

Nhưng nó sẽ không bị ảnh hưởng:

· Các tập tin theo dõi đã sửa đổi và chưa sửa đổi

· Các tập tin bị bỏ qua (trừ khi --all được chỉ định)

· Các tập tin mới được thêm vào kho lưu trữ (với hg thêm vào)

Các tùy chọn --files và --dirs có thể được sử dụng để chỉ đạo việc xóa các tập tin, chỉ
thư mục, hoặc cả hai. Nếu không có tùy chọn nào được đưa ra, cả hai sẽ bị xóa.

Nếu các thư mục được đưa ra trên dòng lệnh, chỉ các tệp trong các thư mục này mới được
xem xét.

Hãy cẩn thận với việc thanh lọc, vì bạn có thể xóa vĩnh viễn một số tệp mà bạn quên thêm vào
kho lưu trữ. Nếu bạn chỉ muốn in danh sách các tập tin mà chương trình này sẽ
xóa, sử dụng tùy chọn --print.

Tùy chọn:

-một, --hủy bỏ khi có lỗi
hủy bỏ nếu xảy ra lỗi

--tất cả các thanh lọc các tập tin bị bỏ qua quá

--dir dọn dẹp các thư mục trống

--các tập tin
thanh lọc các tập tin

-P, --in
in tên tập tin thay vì xóa chúng

-0, --print0
tên tệp kết thúc bằng NUL, để sử dụng với xargs (ngụ ý -p/--print)

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bí danh: sạch sẽ

nổi loạn
lệnh di chuyển các bản sửa đổi sang một tổ tiên khác

Tiện ích mở rộng này cho phép bạn khởi động lại các bộ thay đổi trong kho lưu trữ Mercurial hiện có.

Để biết thêm thông tin: https://mercurial-scm.org/wiki/RebaseExtension

Lệnh
nổi loạn
di chuyển tập hợp thay đổi (và con cháu) sang một nhánh khác:

hg rebase [-s REV | -b TÁI BẢN] [-d TÁI BẢN] [TÙY CHỌN]

Rebase sử dụng việc hợp nhất lặp đi lặp lại để ghép các thay đổi từ một phần lịch sử (nguồn)
sang nơi khác (đích đến). Điều này có thể hữu ích cho việc tuyến tính hóa địa phương thay đổi tương đối
đến một cây phát triển tổng thể.

Các cam kết đã xuất bản không thể bị hủy bỏ (xem hg giúp đỡ giai đoạn). Để sao chép các cam kết, xem hg giúp đỡ
ghép.

Nếu bạn không chỉ định tập hợp thay đổi đích (-d/--đích), rebase sử dụng nhánh hiện tại
tiền boa làm điểm đến. (Bộ thay đổi đích không được sửa đổi bằng cách khởi động lại, nhưng mới
các tập thay đổi được thêm vào làm hậu duệ của nó.)

Dưới đây là các cách để chọn bộ thay đổi:

1. Chọn chúng một cách rõ ràng bằng cách sử dụng --rev.

2. Sử dụng --nguồn để chọn một tập hợp thay đổi gốc và bao gồm tất cả các hậu duệ của nó.

3. Sử dụng --cơ sở để chọn một bộ thay đổi; rebase sẽ tìm thấy tổ tiên và con cháu của họ
cũng không phải là tổ tiên của điểm đến.

4. Nếu bạn không chỉ định bất kỳ --rev, nguồn, hoặc là --cơ sở, rebase sẽ sử dụng --cơ sở . as
ở trên.

Rebase sẽ hủy các thay đổi ban đầu trừ khi bạn sử dụng --giữ cho. Nó cũng sẽ di chuyển của bạn
dấu trang (ngay cả khi bạn làm như vậy).

Một số tập hợp thay đổi có thể bị loại bỏ nếu chúng không đóng góp các thay đổi (ví dụ như hợp nhất từ
nhánh đích).

Không giống như hợp nhất, rebase sẽ không làm gì nếu bạn ở đầu nhánh của nhánh được đặt tên với
hai cái đầu. Bạn sẽ cần phải xác định rõ ràng nguồn và/hoặc đích.

Nếu quá trình rebase bị gián đoạn để giải quyết xung đột theo cách thủ công, nó có thể được tiếp tục bằng
--continue/-c hoặc bị hủy bỏ bằng --abort/-a.

Ví dụ:

· di chuyển "các thay đổi cục bộ" (cam kết hiện tại trở lại điểm phân nhánh) tới đầu nhánh hiện tại
sau một lần kéo:

hg rebase

· di chuyển một bộ thay đổi tới nhánh ổn định:

hg rebase -r 5f493448 -d ổn định

· ghép một cam kết và tất cả hậu duệ của nó vào một phần khác của lịch sử:

hg rebase --source c0c3 --dest 4cf9

· khởi động lại mọi thứ trên một nhánh được đánh dấu bằng dấu trang trên nhánh mặc định:

hg rebase --base myfeature --dest mặc định

· thu gọn một chuỗi các thay đổi thành một lần chuyển giao duy nhất:

hg rebase --collapse -r 1520:1525 -d .

· di chuyển một nhánh được đặt tên trong khi vẫn giữ nguyên tên của nó:

hg rebase -r "branch(featureX)" -d 1.3 --keepbranches

Trả về 0 nếu thành công, 1 nếu không có gì để rebase hoặc có xung đột chưa được giải quyết.

Tùy chọn:

-S,--nguồn
rebase các thay đổi đã chỉ định và con cháu

-NS,--cơ sở
rebase mọi thứ từ điểm phân nhánh của bộ thay đổi được chỉ định

-NS,--rev
rebase những sửa đổi này

-NS,--đích
rebase vào bộ thay đổi đã chỉ định

--sự sụp đổ
thu gọn các thay đổi được khởi động lại

-NS,--thông điệp
sử dụng văn bản làm thông báo cam kết thu gọn

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-l,--logfile
đọc thông báo cam kết thu gọn từ tập tin

-k, --giữ cho
giữ các thay đổi ban đầu

--giữ các nhánh
giữ tên chi nhánh ban đầu

-NS, --tách
(KHÔNG DÙNG)

-tôi, - tương tác
(KHÔNG DÙNG)

-NS,--dụng cụ
chỉ định công cụ hợp nhất

-NS, --tiếp tục
tiếp tục một cuộc nổi dậy bị gián đoạn

-một, --Huỷ bỏ
hủy bỏ một cuộc nổi loạn bị gián đoạn

--Phong cách
hiển thị bằng tệp bản đồ mẫu (KHÔNG DÙNG)

-NS,--bản mẫu
hiển thị với mẫu

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

ghi
các lệnh để chọn các thay đổi một cách tương tác cho commit/qrefresh

Lệnh
qrecord
tương tác ghi lại một bản vá mới:

hg qrecord [TÙY CHỌN]... PATCH [FILE]...

Xem hg giúp đỡ qnew & hg giúp đỡ ghi để biết thêm thông tin và cách sử dụng.

ghi
tương tác chọn các thay đổi để cam kết:

bản ghi hg [TÙY CHỌN]... [TẬP TIN]...

Nếu danh sách các tập tin bị bỏ qua, tất cả các thay đổi được báo cáo bởi hg tình trạng sẽ là ứng cử viên cho
ghi âm.

Xem hg giúp đỡ ngày để biết danh sách các định dạng hợp lệ cho -d/--date.

Bạn sẽ được nhắc về việc có ghi lại các thay đổi đối với từng tệp đã sửa đổi hay không và đối với các tệp
với nhiều thay đổi, cho mỗi thay đổi để sử dụng. Đối với mỗi truy vấn, các câu trả lời sau đây là
khả thi:

y - ghi lại sự thay đổi này
n - bỏ qua thay đổi này
e - chỉnh sửa thay đổi này theo cách thủ công

s - bỏ qua những thay đổi còn lại đối với tệp này
f - ghi lại những thay đổi còn lại đối với tệp này

d - xong, bỏ qua các thay đổi và tập tin còn lại
a - ghi lại tất cả các thay đổi đối với tất cả các tệp còn lại
q - thoát, không ghi lại thay đổi

? - hiển thị trợ giúp

Lệnh này không khả dụng khi thực hiện hợp nhất.

Tùy chọn:

-MỘT, --thêm bớt
đánh dấu các tập tin mới/thiếu là đã thêm/xóa trước khi cam kết

--đóng nhánh
đánh dấu đầu chi nhánh là đã đóng cửa

--sửa đổi
sửa đổi cha mẹ của thư mục làm việc

-S, --bí mật
sử dụng giai đoạn bí mật để cam kết

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

-NS,--thông điệp
sử dụng văn bản làm tin nhắn cam kết

-l,--logfile
đọc tin nhắn cam kết từ tập tin

-NS,--ngày
ghi lại ngày đã chỉ định làm ngày cam kết

-bạn,--người sử dụng
ghi lại người dùng được chỉ định là người cam kết

-NS, --subrepos
tái diễn vào kho con

-w, --bỏ qua tất cả không gian
bỏ qua khoảng trắng khi so sánh các dòng

-NS, --ignore-không gian-thay đổi
bỏ qua những thay đổi về lượng khoảng trắng

-NS, --bỏ qua-dòng trống
bỏ qua các thay đổi có các dòng đều trống

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

liên kết lại
tạo lại các liên kết cứng giữa các bản sao kho lưu trữ

Lệnh
liên kết lại
tạo lại liên kết cứng giữa hai kho lưu trữ:

hg liên kết lại [ORIGIN]

Khi các kho lưu trữ được sao chép cục bộ, các tệp dữ liệu của chúng sẽ được liên kết cứng để chúng
chỉ sử dụng không gian của một kho lưu trữ duy nhất.

Thật không may, những lần kéo tiếp theo vào một trong hai kho lưu trữ sẽ phá vỡ liên kết cứng cho bất kỳ tệp nào
bị ảnh hưởng bởi các bộ thay đổi mới, ngay cả khi cả hai kho lưu trữ đều có những thay đổi giống nhau.

Tương tự, chuyển --rev sang "hg clone" sẽ không sử dụng được bất kỳ liên kết cứng nào, quay trở lại
bản sao hoàn chỉnh của kho lưu trữ nguồn.

Lệnh này cho phép bạn tạo lại các liên kết cứng đó và lấy lại không gian bị lãng phí đó.

Kho lưu trữ này sẽ được liên kết lại để chia sẻ không gian với ORIGIN, phải trên cùng một kho lưu trữ
đĩa cục bộ. Nếu ORIGIN bị bỏ qua, hãy tìm "default-relink", sau đó tìm "default" trong [paths].

Không thử bất kỳ thao tác đọc nào trên kho lưu trữ này trong khi lệnh đang chạy. (Cả hai
kho lưu trữ sẽ bị khóa chống ghi.)

đề án
mở rộng các sơ đồ bằng các phím tắt đến các kho lưu trữ

Tiện ích mở rộng này cho phép bạn chỉ định lối tắt cho URL gốc có nhiều kho lưu trữ
để hành động như một kế hoạch, ví dụ:

[kế hoạch]
py = http://code.python.org/hg/

Sau đó bạn có thể sử dụng nó như:

hg bản sao py://trunk/

Ngoài ra còn có hỗ trợ cho một số lược đồ phức tạp hơn, ví dụ như được Google sử dụng
Mã Code:

[kế hoạch]
gcode = http://{1}.googlecode.com/hg/

Cú pháp được lấy từ các mẫu Mercurial và bạn có số lượng biến không giới hạn,
bắt đầu với 1 {} và tiếp tục với 2 {}, 3 {} và như thế. Biến này sẽ nhận được
các phần của URL được cung cấp, được chia cho /. Bất cứ điều gì không được chỉ định là {phần} sẽ chỉ được thêm vào
tới một URL.

Để thuận tiện, tiện ích mở rộng thêm các lược đồ này theo mặc định:

[kế hoạch]
py = http://hg.python.org/
bb = https://bitbucket.org/
bb+ssh = ssh://hg@bitbucket.org/
gcode = https://{1}.googlecode.com/hg/
lò nung = https://{1}.kilnhg.com/Repo/

Bạn có thể ghi đè lược đồ được xác định trước bằng cách xác định lược đồ mới có cùng tên.

Lượt chia sẻ
chia sẻ một lịch sử chung giữa một số thư mục làm việc

Tự động Gộp lại Kho cho Clones
Khi tiện ích mở rộng này hoạt động, hg nhân bản có thể được cấu hình để tự động chia sẻ/tổng ​​hợp
lưu trữ trên nhiều bản sao. Chế độ này chuyển đổi hiệu quả hg nhân bản đến hg nhân bản + hg
Lượt chia sẻ. Lợi ích của việc sử dụng chế độ này là quản lý tự động đường dẫn cửa hàng và
tổng hợp thông minh các kho lưu trữ liên quan.

Sau đây chia sẻ. tùy chọn cấu hình ảnh hưởng đến tính năng này:

chia sẻ.pool

Đường dẫn hệ thống tập tin nơi dữ liệu kho lưu trữ được chia sẻ sẽ được lưu trữ. Khi được xác định, hg nhân bản
sẽ tự động sử dụng bộ nhớ kho lưu trữ được chia sẻ thay vì tạo một cửa hàng bên trong
mỗi bản sao.

chia sẻ.poolnaming

Cách đặt tên thư mục trong chia sẻ.pool Được xây dựng.

"danh tính" có nghĩa là tên được lấy từ tập thay đổi đầu tiên trong kho lưu trữ. TRONG
chế độ này, các điều khiển từ xa khác nhau sẽ chia sẻ bộ nhớ nếu bộ thay đổi gốc/ban đầu của chúng là
giống hệt nhau. Trong chế độ này, kho lưu trữ chia sẻ cục bộ là tổng hợp của tất cả
gặp phải kho lưu trữ từ xa.

"từ xa" có nghĩa là tên được lấy từ đường dẫn hoặc URL của kho lưu trữ nguồn. TRONG
chế độ này, bộ nhớ chỉ được chia sẻ nếu đường dẫn hoặc URL được yêu cầu trong hg nhân bản
lệnh khớp chính xác với kho lưu trữ đã được sao chép trước đó.

Chế độ đặt tên mặc định là "danh tính".

Lệnh
Lượt chia sẻ
tạo một kho lưu trữ chia sẻ mới:

hg chia sẻ [-U] [-B] NGUỒN [DEST]

Khởi tạo một kho lưu trữ và thư mục làm việc mới chia sẻ lịch sử của nó (và tùy chọn
bookmarks) bằng một kho lưu trữ khác.

Lưu ý việc sử dụng khôi phục hoặc tiện ích mở rộng hủy/sửa đổi lịch sử (mq, rebase, v.v.) có thể
gây ra sự nhầm lẫn đáng kể với các bản sao được chia sẻ. Đặc biệt, nếu hai người chia sẻ
cả hai bản sao đều được cập nhật vào cùng một bộ thay đổi và một trong số chúng sẽ phá hủy bộ thay đổi đó
thay đổi với rollback, bản sao khác sẽ đột ngột ngừng hoạt động: tất cả các hoạt động
sẽ thất bại với "hủy bỏ: thư mục làm việc không có cha mẹ không xác định". Người duy nhất được biết
cách giải quyết khác là sử dụng debugsetparents trên bản sao bị hỏng để đặt lại nó thành bộ thay đổi
điều đó vẫn tồn tại.

Tùy chọn:

-Anh, --không có cập nhật
không tạo một thư mục làm việc

-NS, - dấu trang
cũng chia sẻ dấu trang

không chia sẻ
chuyển đổi kho lưu trữ được chia sẻ thành kho lưu trữ bình thường:

hg ngừng chia sẻ

Sao chép dữ liệu cửa hàng vào repo và xóa dữ liệu đường dẫn chia sẻ.

xiên
lưu và khôi phục các thay đổi vào thư mục làm việc

Lệnh "hg shelve" lưu các thay đổi được thực hiện đối với thư mục làm việc và hoàn nguyên các thay đổi đó.
thay đổi, đặt lại thư mục làm việc về trạng thái sạch sẽ.

Sau đó, lệnh "hg unshelve" sẽ khôi phục các thay đổi được lưu bởi "hg shelve". Những thay đổi có thể
được khôi phục ngay cả sau khi cập nhật lên cha mẹ khác, trong trường hợp đó, sự hợp nhất của Mercurial
máy móc sẽ giải quyết mọi xung đột nếu cần thiết.

Bạn có thể có nhiều thay đổi được xếp lại cùng một lúc; mỗi thay đổi được xếp lại có một
tên riêng biệt. Để biết chi tiết, hãy xem phần trợ giúp dành cho "hg shelve".

Lệnh
xiên
lưu và đặt các thay đổi khỏi thư mục làm việc:

hg kệ [TÙY CHỌN]... [TẬP TIN]...

Giá đỡ lấy các tập tin được báo cáo là "trạng thái hg" là không sạch, lưu các sửa đổi vào một
gói (một thay đổi được xếp lại) và hoàn nguyên các tệp sao cho trạng thái của chúng trong trạng thái làm việc
thư mục trở nên sạch sẽ.

Để khôi phục những thay đổi này vào thư mục làm việc, hãy sử dụng "hg unshelve"; cái này sẽ có tác dụng
ngay cả khi bạn chuyển sang một cam kết khác.

Khi không có tệp nào được chỉ định, "hg shelve" sẽ lưu tất cả các tệp không sạch. Nếu các tập tin cụ thể hoặc
các thư mục được đặt tên, chỉ những thay đổi đối với các tệp đó mới được xếp lại.

Mỗi thay đổi được xếp lại có một tên giúp bạn dễ dàng tìm thấy sau này. Tên của một kệ
thay đổi mặc định thành dựa trên dấu trang đang hoạt động hoặc nếu không có dấu trang đang hoạt động,
nhánh được đặt tên hiện tại. Để chỉ định một tên khác, hãy sử dụng --Tên.

Để xem danh sách các thay đổi đã được xếp lại hiện có, hãy sử dụng --danh sách lựa chọn. Đối với mỗi thay đổi được xếp lại,
thao tác này sẽ in tên, tuổi và mô tả của nó; sử dụng --vá or --Stat để biết thêm chi tiết.

Để xóa các thay đổi cụ thể được xếp lại, hãy sử dụng --xóa bỏ. Để xóa tất cả các thay đổi được xếp lại, hãy sử dụng
--dọn dẹp.

Tùy chọn:

-MỘT, --thêm bớt
đánh dấu các tập tin mới/thiếu là đã thêm/xóa trước khi xếp giá

-bạn, --không xác định
lưu trữ các tập tin không xác định trong giá

--dọn dẹp
xóa tất cả các thay đổi đã tạm dừng

--ngày
kệ với ngày cam kết được chỉ định

-NS, --xóa bỏ
xóa (các) thay đổi đã được đặt tên

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

-l, --danh sách
liệt kê kệ hiện tại

-NS,--thông điệp
sử dụng văn bản làm tin nhắn tạm gác

-N,--Tên
sử dụng tên đã cho cho cam kết tạm dừng

-P, --vá
hiển thị bản vá

-tôi, - tương tác
chế độ tương tác, chỉ hoạt động khi tạo giá đỡ

--Stat xuất ra bản tóm tắt các thay đổi theo kiểu khác biệt

-TÔI,--bao gồm
bao gồm các tên phù hợp với các mẫu đã cho

-NS,--loại trừ
loại trừ các tên phù hợp với các mẫu đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

bỏ đi
khôi phục một thay đổi đã được xếp vào thư mục làm việc:

hg mở ra [ĐÃ ĐĂNG KÝ]

Lệnh này chấp nhận tên tùy chọn của một thay đổi được xếp xó để khôi phục. Nếu không có gì được đưa ra,
thay đổi được sắp xếp gần đây nhất sẽ được sử dụng.

Nếu một thay đổi được xếp vào giá trị được áp dụng thành công, gói chứa các thay đổi được xếp vào giá trị
được chuyển đến vị trí sao lưu (.hg/shelve-backup).

Vì bạn có thể khôi phục một thay đổi đã được xếp lại trên một cam kết tùy ý, nên có thể
việc hủy bỏ sẽ dẫn đến xung đột giữa những thay đổi của bạn và những cam kết mà bạn thực hiện
dỡ kệ lên. Nếu điều này xảy ra, bạn phải giải quyết xung đột, sau đó sử dụng --tiếp tục đến
hoàn tất thao tác tháo dỡ. (Gói sẽ không được di chuyển cho đến khi bạn thành công
hoàn thành việc giải quyết.)

(Ngoài ra, bạn có thể sử dụng --Huỷ bỏ từ bỏ một việc chưa được giải quyết gây ra xung đột. Cái này
hoàn nguyên các thay đổi chưa được xử lý và giữ nguyên gói.)

Sau khi hủy thành công, những thay đổi đã được xếp lại sẽ được lưu trữ trong một thư mục sao lưu. Chỉ một
N bản sao lưu gần đây nhất được giữ lại. N mặc định là 10 nhưng có thể được ghi đè bằng cách sử dụng
kệ.maxbackups tùy chọn cấu hình.

Dấu thời gian tính bằng giây được sử dụng để quyết định thứ tự sao lưu. Nhiều hơn sao lưu tối đa bản sao lưu là
được giữ lại, nếu cùng một dấu thời gian ngăn cản việc quyết định thứ tự chính xác của chúng, để đảm bảo an toàn.

Tùy chọn:

-một, --Huỷ bỏ
hủy bỏ một hoạt động chưa hoàn thành

-NS, --tiếp tục
tiếp tục một hoạt động chưa hoàn thành

-k, --giữ cho
giữ kệ sau khi mở kệ

-NS,--dụng cụ
chỉ định công cụ hợp nhất

--ngày
đặt ngày cho các cam kết tạm thời (KHÔNG DÙNG)

dải
loại bỏ các bộ thay đổi và con cháu của chúng khỏi lịch sử

Tiện ích mở rộng này cho phép bạn loại bỏ các tập thay đổi và tất cả các hậu duệ của chúng khỏi
kho. Xem trợ giúp lệnh để biết chi tiết.

Lệnh
dải
loại bỏ các bộ thay đổi và tất cả con cháu của chúng khỏi kho lưu trữ:

dải hg [-k] [-f] [-B dấu trang] [-r] REV...

Lệnh dải loại bỏ các tập hợp thay đổi đã chỉ định và tất cả các tập hợp con cháu của chúng. Nếu
thư mục làm việc có những thay đổi chưa được cam kết, thao tác sẽ bị hủy trừ khi --force
cờ được cung cấp, trong trường hợp đó những thay đổi sẽ bị loại bỏ.

Nếu thư mục mẹ của thư mục làm việc bị loại bỏ thì thư mục làm việc sẽ
tự động được cập nhật lên tổ tiên có sẵn gần đây nhất của cha mẹ bị tước bỏ
sau khi thao tác hoàn tất.

Mọi thay đổi bị loại bỏ đều được lưu trữ trong .hg/strip-backup dưới dạng một gói (xem hg giúp đỡ bó lại
hg giúp đỡ tách ra). Chúng có thể được khôi phục bằng cách chạy hg tách ra .hg/strip-backup/BUNDLE,
trong đó BUNDLE là tệp bó được tạo bởi dải. Lưu ý rằng số sửa đổi cục bộ
nói chung sẽ khác sau khi khôi phục.

Sử dụng tùy chọn --no-backup để loại bỏ gói sao lưu sau khi thao tác hoàn tất.

Dải không phải là hoạt động viết lại lịch sử và có thể được sử dụng trên các tập hợp thay đổi ở chế độ công khai
giai đoạn. Nhưng nếu các tập thay đổi bị loại bỏ đã được đẩy tới một kho lưu trữ từ xa, bạn sẽ
có khả năng kéo họ một lần nữa.

Trả về 0 khi thành công.

Tùy chọn:

-NS,--rev
loại bỏ bản sửa đổi được chỉ định (tùy chọn, có thể chỉ định các bản sửa đổi mà không có tùy chọn này)

-NS, --lực lượng
buộc loại bỏ các thay đổi, loại bỏ các thay đổi không được cam kết (không có bản sao lưu)

--không sao lưu
không có bản sao lưu

--không sao lưu
không có bản sao lưu (KHÔNG DÙNG)

-n bị bỏ qua (KHÔNG DÙNG)

-k, --giữ cho
không sửa đổi thư mục làm việc trong khi dải

-NS,- bookmark
xóa số vòng quay chỉ có thể truy cập được từ dấu trang đã cho

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

cấy
lệnh ghép các thay đổi từ một nhánh khác

Tiện ích mở rộng này cho phép bạn ghép các thay đổi sang bản sửa đổi gốc khác, có thể trong
kho lưu trữ khác. Việc cấy ghép được thực hiện bằng cách sử dụng các bản vá 'khác biệt'.

Các bản vá được cấy ghép được ghi lại trong .hg/transplant/transplants, dưới dạng bản đồ từ một bộ thay đổi
băm thành hàm băm của nó trong kho lưu trữ nguồn.

Lệnh
cấy
ghép các thay đổi từ một nhánh khác:

ghép hg [-s REPO] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]...

Các thay đổi đã chọn sẽ được áp dụng ở đầu thư mục làm việc hiện tại cùng với nhật ký
của tập thay đổi ban đầu. Các tập thay đổi được sao chép và do đó sẽ xuất hiện hai lần trong
lịch sử với những bản sắc khác nhau.

Hãy cân nhắc sử dụng lệnh ghép nếu mọi thứ nằm trong cùng một kho lưu trữ - nó sẽ sử dụng
hợp nhất và thường sẽ cho kết quả tốt hơn. Sử dụng tiện ích mở rộng rebase nếu bộ thay đổi
chưa được xuất bản và bạn muốn di chuyển chúng thay vì sao chép chúng.

Nếu --log được chỉ định, thông điệp tường trình sẽ có nhận xét được thêm vào dưới dạng:

(được ghép từ CHANGESETHASH)

Bạn có thể viết lại thông báo nhật ký thay đổi bằng tùy chọn --filter. Lập luận của nó sẽ là
được gọi với thông báo nhật ký thay đổi hiện tại là $1 và bản vá là $2.

--source/-s chỉ định một kho lưu trữ khác để sử dụng cho việc chọn các tập hợp thay đổi, giống như thể nó
tạm thời đã được kéo. Nếu --branch/-b được chỉ định, những sửa đổi này sẽ được sử dụng làm
đau đầu khi quyết định những thay đổi nào sẽ được cấy ghép, giống như thể chỉ những bản sửa đổi này mới có
bị kéo đi. Nếu --all/-a được chỉ định, tất cả các phiên bản cho đến phần đầu được chỉ định bằng
--nhánh sẽ được cấy ghép.

Ví dụ:

· ghép tất cả các thay đổi lên tới REV lên trên bản sửa đổi hiện tại của bạn:

ghép hg --branch REV --all

Bạn có thể tùy ý đánh dấu các tập hợp thay đổi được cấy ghép đã chọn là các tập hợp thay đổi hợp nhất. Bạn sẽ không
được nhắc ghép bất kỳ tổ tiên nào của phần ghép đã hợp nhất và bạn có thể hợp nhất
con cháu của chúng một cách bình thường thay vì cấy ghép chúng.

Các tập hợp thay đổi có thể được ghép trực tiếp bằng cách chỉ định tập hợp thay đổi cha thích hợp bằng
gọi hg cấy --cha mẹ.

Nếu không có sự hợp nhất hoặc sửa đổi nào được cung cấp, hg cấy sẽ bắt đầu một bộ thay đổi tương tác
trình duyệt.

Nếu ứng dụng bộ thay đổi không thành công, bạn có thể sửa lỗi hợp nhất bằng tay rồi tiếp tục ở nơi bạn
dừng lại bằng cách gọi hg cấy --tiếp tục/-c.

Tùy chọn:

-S,--nguồn
ghép các thay đổi từ REPO

-NS,--chi nhánh
sử dụng bộ thay đổi nguồn này làm đầu

-một, --tất cả các
kéo tất cả các bộ thay đổi lên bản sửa đổi --branch

-P,--cắt tỉa
bỏ qua REV

-NS,- hợp nhất
hợp nhất tại REV

--cha mẹ
cha mẹ lựa chọn khi ghép hợp nhất

-e, --chỉnh sửa
gọi trình soạn thảo trên các thông điệp cam kết

--log nối thêm thông tin cấy ghép vào thông điệp tường trình

-NS, --tiếp tục
tiếp tục phiên cấy ghép cuối cùng sau khi khắc phục xung đột

--lọc
lọc các thay đổi thông qua lệnh

Tùy chọn được đánh dấu [+] có thể được chỉ định nhiều lần

win32mbcs
cho phép sử dụng đường dẫn MBCS với mã hóa có vấn đề

Một số mã hóa MBCS không tốt cho một số thao tác đường dẫn (ví dụ: tách đường dẫn, phân tách chữ hoa chữ thường).
chuyển đổi, v.v.) với các byte được mã hóa của nó. Chúng tôi gọi cách mã hóa như vậy (tức là shift_jis và
big5) là "mã hóa có vấn đề". Tiện ích mở rộng này có thể được sử dụng để khắc phục sự cố với những tiện ích đó
mã hóa bằng cách gói một số hàm để chuyển đổi sang chuỗi Unicode trước khi thực hiện đường dẫn.

Tiện ích mở rộng này hữu ích cho:

· Người dùng Windows Nhật Bản sử dụng mã hóa shift_jis.

· Người dùng Windows Trung Quốc sử dụng mã hóa big5.

· Tất cả người dùng sử dụng kho lưu trữ có một trong các mã hóa có vấn đề về phân biệt chữ hoa chữ thường
hệ thống tập tin.

Tiện ích mở rộng này không cần thiết cho:

· Bất kỳ người dùng nào chỉ sử dụng ký tự ASCII trong đường dẫn.

· Bất kỳ người dùng nào không sử dụng bất kỳ mã hóa có vấn đề nào.

Lưu ý rằng có một số hạn chế khi sử dụng tiện ích mở rộng này:

· Bạn nên sử dụng mã hóa đơn trong một kho lưu trữ.

· Nếu đường dẫn kho lưu trữ kết thúc bằng 0x5c, không thể đọc được .hg/hgrc.

· win32mbcs không tương thích với tiện ích mở rộng fixutf8.

Theo mặc định, win32mbcs sử dụng mã hóa.encoding do Mercurial quyết định. Bạn có thể chỉ định
mã hóa theo tùy chọn cấu hình:

[win32mbcs]
mã hóa = sjis

Nó rất hữu ích cho những người dùng muốn cam kết với thông điệp tường trình UTF-8.

văn bản win32
thực hiện chuyển đổi dòng mới tự động (KHÔNG DÙNG)

Ngừng sử dụng: Tiện ích mở rộng win32text yêu cầu mỗi người dùng định cấu hình tiện ích mở rộng
lặp đi lặp lại cho mỗi bản sao vì cấu hình không được sao chép khi sao chép.

Vì vậy chúng tôi đã thực hiện eol như một sự thay thế. Các eol sử dụng một phiên bản được kiểm soát
tập tin cấu hình của nó và do đó mỗi bản sao sẽ sử dụng các cài đặt phù hợp từ
bắt đầu.

Để thực hiện chuyển đổi dòng mới tự động, hãy sử dụng:

[phần mở rộng]
win32text =
[mã hóa]
** = mã hóa thông minh:
# hoặc ** = mã macen:

[giải mã]
** = giải mã thông minh:
# hoặc ** = macdecode:

Nếu không thực hiện chuyển đổi, để đảm bảo bạn không vô tình phạm phải CRLF/CR:

[móc]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
# hoặc pretxncommit.cr = python:hgext.win32text.forbidcr

Để thực hiện kiểm tra tương tự trên máy chủ nhằm ngăn CRLF/CR bị đẩy hoặc kéo:

[móc]
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
# hoặc pretxnchangegroup.cr = python:hgext.win32text.forbidcr

zeroconf
khám phá và quảng cáo các kho lưu trữ trên mạng cục bộ

Tiện ích mở rộng zeroconf sẽ quảng cáo hg phục vụ các phiên bản qua DNS-SD để chúng có thể được
được phát hiện bằng cách sử dụng hg đường dẫn lệnh mà không biết địa chỉ của máy chủ.

Để cho phép người khác khám phá kho lưu trữ của bạn bằng cách sử dụng run hg phục vụ trong kho lưu trữ của bạn:

kiểm tra $ cd
$ hg phục vụ

Bạn có thể khám phá các kho lưu trữ hỗ trợ Zeroconf bằng cách chạy hg đường dẫn:

đường dẫn $ hg
kiểm tra zc = http://example.com:8000/kiểm tra

Sử dụng hg trực tuyến bằng dịch vụ onworks.net



Các chương trình trực tuyến Linux & Windows mới nhất