Mercurial > hg
annotate tests/test-mactext.t @ 40570:ad71c792a8d8
fix: add extra field to fixed revisions to avoid creating obsolescence cycles
The extra field prevents sequential invocations of fix from producing the same
hash twice. Previously, this could cause problems because it would create an
obsolescence cycle instead of the expected new successor.
This change also adds an explicit check for whether a new revision should be
committed. Until now, the code relied on memctx.commit() to quietly do nothing
if the node already exists. Because of the new extra field, this no longer
covers the case where we don't want to replace an unchanged node.
Differential Revision: https://phab.mercurial-scm.org/D5245
author | Danny Hooper <hooper@google.com> |
---|---|
date | Thu, 08 Nov 2018 12:35:26 -0800 |
parents | 5abc47d4ca6b |
children | da9b7f9635a2 |
rev | line source |
---|---|
6481
e837dded56c7
win32text: Add macencode/macdecode
OHASHI Hideya <ohachige@gmail.com>
parents:
diff
changeset
|
1 |
12458 | 2 $ cat > unix2mac.py <<EOF |
3 > import sys | |
4 > | |
5 > for path in sys.argv[1:]: | |
36023
adec6374a0b2
py3: replace file() with open() in test-mactext.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
6 > data = open(path, 'rb').read() |
adec6374a0b2
py3: replace file() with open() in test-mactext.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
7 > data = data.replace(b'\n', b'\r') |
adec6374a0b2
py3: replace file() with open() in test-mactext.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
8 > open(path, 'wb').write(data) |
12458 | 9 > EOF |
10 $ cat > print.py <<EOF | |
11 > import sys | |
12 > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) | |
13 > EOF | |
14 $ hg init | |
15 $ echo '[hooks]' >> .hg/hgrc | |
16 $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc | |
17 $ echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc | |
18 $ cat .hg/hgrc | |
19 [hooks] | |
20 pretxncommit.cr = python:hgext.win32text.forbidcr | |
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 | 23 $ echo hello > f |
24 $ hg add f | |
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 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
36023
diff
changeset
|
27 $ "$PYTHON" unix2mac.py f |
12458 | 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 | 30 in dea860dc51ec: f |
31 transaction abort! | |
32 rollback completed | |
33 abort: pretxncommit.cr hook failed | |
34 [255] | |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
36023
diff
changeset
|
35 $ hg cat f | "$PYTHON" print.py |
12458 | 36 hello<LF> |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
36023
diff
changeset
|
37 $ cat f | "$PYTHON" print.py |
12458 | 38 hello<CR> |