Mercurial > hg
view tests/test-parents.t @ 29859:a1092e2d70a3
help: internals topic for wire protocol
The Mercurial wire protocol is under-documented. This includes a lack
of source docstrings and comments as well as pages on the official
wiki.
This patch adds the beginnings of "internals" documentation on the
wire protocol.
The documentation should have nearly complete coverage on the
lower-level parts of the protocol, such as the different transport
mechanims, how commands and arguments are sent, capabilities, and,
of course, the commands themselves.
As part of writing this documentation, I discovered a number of
deficiencies in the protocol and bugs in the implementation. I've
started sending patches for some of the issues. I hope to send a lot
more.
This patch starts with the scaffolding for a new internals page.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 22 Aug 2016 19:46:39 -0700 |
parents | ef60083b5536 |
children | 4441705b7111 |
line wrap: on
line source
test parents command $ hg init repo $ cd repo no working directory $ hg parents $ echo a > a $ echo b > b $ hg ci -Amab -d '0 0' adding a adding b $ echo a >> a $ hg ci -Ama -d '1 0' $ echo b >> b $ hg ci -Amb -d '2 0' $ echo c > c $ hg ci -Amc -d '3 0' adding c $ hg up -C 1 1 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo d > c $ hg ci -Amc2 -d '4 0' adding c created new head $ hg up -C 3 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg parents changeset: 3:02d851b7e549 user: test date: Thu Jan 01 00:00:03 1970 +0000 summary: c $ hg parents a changeset: 1:d786049f033a user: test date: Thu Jan 01 00:00:01 1970 +0000 summary: a hg parents c, single revision $ hg parents c changeset: 3:02d851b7e549 user: test date: Thu Jan 01 00:00:03 1970 +0000 summary: c $ hg parents -r 3 c abort: 'c' not found in manifest! [255] $ hg parents -r 2 changeset: 1:d786049f033a user: test date: Thu Jan 01 00:00:01 1970 +0000 summary: a $ hg parents -r 2 a changeset: 1:d786049f033a user: test date: Thu Jan 01 00:00:01 1970 +0000 summary: a $ hg parents -r 2 ../a abort: ../a not under root '$TESTTMP/repo' (glob) [255] cd dir; hg parents -r 2 ../a $ mkdir dir $ cd dir $ hg parents -r 2 ../a changeset: 1:d786049f033a user: test date: Thu Jan 01 00:00:01 1970 +0000 summary: a $ hg parents -r 2 path:a changeset: 1:d786049f033a user: test date: Thu Jan 01 00:00:01 1970 +0000 summary: a $ cd .. $ hg parents -r 2 glob:a abort: can only specify an explicit filename [255] merge working dir with 2 parents, hg parents c $ HGMERGE=true hg merge merging c 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg parents c changeset: 3:02d851b7e549 user: test date: Thu Jan 01 00:00:03 1970 +0000 summary: c changeset: 4:48cee28d4b4e tag: tip parent: 1:d786049f033a user: test date: Thu Jan 01 00:00:04 1970 +0000 summary: c2 merge working dir with 1 parent, hg parents $ hg up -C 2 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ HGMERGE=true hg merge -r 4 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg parents changeset: 2:6cfac479f009 user: test date: Thu Jan 01 00:00:02 1970 +0000 summary: b changeset: 4:48cee28d4b4e tag: tip parent: 1:d786049f033a user: test date: Thu Jan 01 00:00:04 1970 +0000 summary: c2 merge working dir with 1 parent, hg parents c $ hg parents c changeset: 4:48cee28d4b4e tag: tip parent: 1:d786049f033a user: test date: Thu Jan 01 00:00:04 1970 +0000 summary: c2 $ cd ..