annotate tests/test-mactext.t @ 27372:a79cba6cb206

help: add documentation for changegroup formats There is no formal location for spec-like technical/internal docs. The repository makes sense as such a location because spec-like documentation should be reviewed (ruling out a wiki). mpm has also stated that he would like this documentation to be part of the built-in help system. So, we establish an "internals" sub-directory to hold this class of documentation. The format of changegroups does not appear to be documented anywhere, even in source code. It therefore seemed like an appropriate first thing to document. This patch adds low-level documentation of versions 1 and 2 of the changegroup foromat. It currently only describes the raw data format. There is probably room to write higher-level documentation on strategies for producing and consuming the data. We'll leave that for another day. The added file is not yet accessible via `hg help` nor via hgweb. Support for this will follow in subsequent patches.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 25 Oct 2015 00:19:45 +0100
parents 7985a9e2ddce
children 75be14993fda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6481
e837dded56c7 win32text: Add macencode/macdecode
OHASHI Hideya <ohachige@gmail.com>
parents:
diff changeset
1
12458
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
2 $ cat > unix2mac.py <<EOF
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
3 > import sys
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
4 >
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
5 > for path in sys.argv[1:]:
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
6 > data = file(path, 'rb').read()
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
7 > data = data.replace('\n', '\r')
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
8 > file(path, 'wb').write(data)
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
9 > EOF
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
10 $ cat > print.py <<EOF
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
11 > import sys
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
12 > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>'))
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
13 > EOF
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
14 $ hg init
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
15 $ echo '[hooks]' >> .hg/hgrc
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
16 $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
17 $ echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
18 $ cat .hg/hgrc
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
19 [hooks]
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
20 pretxncommit.cr = python:hgext.win32text.forbidcr
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
21 pretxnchangegroup.cr = python:hgext.win32text.forbidcr
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 12458
diff changeset
22
12458
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
23 $ echo hello > f
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
24 $ hg add f
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
25 $ hg ci -m 1
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 12458
diff changeset
26
12458
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
27 $ python unix2mac.py f
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
28 $ hg ci -m 2
16932
7985a9e2ddce win32text: lowercase warning message
Martin Geisler <mg@aragost.com>
parents: 15243
diff changeset
29 attempt to commit or push text file(s) using CR line endings
12458
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
30 in dea860dc51ec: f
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
31 transaction abort!
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
32 rollback completed
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
33 abort: pretxncommit.cr hook failed
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
34 [255]
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
35 $ hg cat f | python print.py
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
36 hello<LF>
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
37 $ cat f | python print.py
9446bd059da3 tests: unify test-mactext
Matt Mackall <mpm@selenic.com>
parents: 8167
diff changeset
38 hello<CR>