##// END OF EJS Templates
revlog: subclass the new `repository.iverifyproblem` Protocol class...
revlog: subclass the new `repository.iverifyproblem` Protocol class This is the same transformation as 3a90a6fd710d did for dirstate, but the CamelCase naming was already cleaned up here. We shouldn't have to explicitly subclass, but I'm doing so to test the interplay of regular attributes and the `attrs` class. Also, PyCharm has a nifty feature that puts a jump point in the gutter to navigate back and forth between the base class and subclasses (and override functions and base class functions) when there's an explicit subclassing. Additionally, PyCharm will immediately flag signature mismatches without a 40m pytype run.

File last commit:

r41856:140b542b default
r53365:4ef6dbc2 default
Show More
test-mq-eol.t
215 lines | 4.3 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-mq-eol
r11895
Test interactions between mq and patch.eol
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> mq =
> [diff]
> nodates = 1
> EOF
Nicolas Dumazet
tests: unify test-mq-eol
r11895
$ cat > makepatch.py <<EOF
Pulkit Goyal
py3: use open() instead of file()...
r35963 > f = open('eol.diff', 'wb')
Nicolas Dumazet
tests: unify test-mq-eol
r11895 > w = f.write
Pulkit Goyal
py3: add b'' prefixes in test-mq-eol.t...
r36297 > w(b'test message\n')
> w(b'diff --git a/a b/a\n')
> w(b'--- a/a\n')
> w(b'+++ b/a\n')
> w(b'@@ -1,5 +1,5 @@\n')
> w(b' a\n')
> w(b'-b\r\n')
> w(b'+y\r\n')
> w(b' c\r\n')
> w(b' d\n')
> w(b'-e\n')
Gregory Szorc
tests: double escape \ in test-import-eol.t and test-mq-eol.t...
r41856 > w(b'\\\\ No newline at end of file\n')
Pulkit Goyal
py3: add b'' prefixes in test-mq-eol.t...
r36297 > w(b'+z\r\n')
Gregory Szorc
tests: double escape \ in test-import-eol.t and test-mq-eol.t...
r41856 > w(b'\\\\ No newline at end of file\r\n')
Nicolas Dumazet
tests: unify test-mq-eol
r11895 > EOF
$ cat > cateol.py <<EOF
> import sys
Gregory Szorc
tests: write directly to stdout to avoid b'' prefixes...
r41360 > try:
> stdout = sys.stdout.buffer
> except AttributeError:
> stdout = sys.stdout
Pulkit Goyal
py3: use open() instead of file()...
r35963 > for line in open(sys.argv[1], 'rb'):
Pulkit Goyal
py3: add b'' prefixes in test-mq-eol.t...
r36297 > line = line.replace(b'\r', b'<CR>')
> line = line.replace(b'\n', b'<LF>')
Gregory Szorc
tests: write directly to stdout to avoid b'' prefixes...
r41360 > stdout.write(line + b'\n')
Nicolas Dumazet
tests: unify test-mq-eol
r11895 > EOF
$ hg init repo
$ cd repo
$ echo '\.diff' > .hgignore
$ echo '\.rej' >> .hgignore
Test different --eol values
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c 'open("a", "wb").write(b"a\nb\nc\nd\ne")'
Nicolas Dumazet
tests: unify test-mq-eol
r11895 $ hg ci -Am adda
adding .hgignore
adding a
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../makepatch.py
Nicolas Dumazet
tests: unify test-mq-eol
r11895 $ hg qimport eol.diff
adding eol.diff to series file
should fail in strict mode
$ hg qpush
applying eol.diff
patching file a
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file a.rej
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh eol.diff
Matt Mackall
tests: add exit codes to unified tests
r12316 [2]
Nicolas Dumazet
tests: unify test-mq-eol
r11895 $ hg qpop
popping eol.diff
patch queue now empty
invalid eol
$ hg --config patch.eol='LFCR' qpush
applying eol.diff
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh eol.diff
Matt Mackall
tests: add exit codes to unified tests
r12316 [2]
Nicolas Dumazet
tests: unify test-mq-eol
r11895 $ hg qpop
popping eol.diff
patch queue now empty
force LF
$ hg --config patch.eol='CRLF' qpush
applying eol.diff
now at: eol.diff
$ hg qrefresh
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../cateol.py .hg/patches/eol.diff
Mads Kiilerich
mq: upgrade non-plain patches to HG format when setting parent in patchheader...
r22545 # HG changeset patch<LF>
# Parent 0d0bf99a8b7a3842c6f8ef09e34f69156c4bd9d0<LF>
Nicolas Dumazet
tests: unify test-mq-eol
r11895 test message<LF>
<LF>
diff -r 0d0bf99a8b7a a<LF>
--- a/a<LF>
+++ b/a<LF>
@@ -1,5 +1,5 @@<LF>
-a<LF>
-b<LF>
-c<LF>
-d<LF>
-e<LF>
\ No newline at end of file<LF>
+a<CR><LF>
+y<CR><LF>
+c<CR><LF>
+d<CR><LF>
+z<LF>
\ No newline at end of file<LF>
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../cateol.py a
Nicolas Dumazet
tests: unify test-mq-eol
r11895 a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
$ hg qpop
popping eol.diff
patch queue now empty
push again forcing LF and compare revisions
$ hg --config patch.eol='CRLF' qpush
applying eol.diff
now at: eol.diff
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../cateol.py a
Nicolas Dumazet
tests: unify test-mq-eol
r11895 a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
$ hg qpop
popping eol.diff
patch queue now empty
push again without LF and compare revisions
$ hg qpush
applying eol.diff
now at: eol.diff
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../cateol.py a
Nicolas Dumazet
tests: unify test-mq-eol
r11895 a<CR><LF>
y<CR><LF>
c<CR><LF>
d<CR><LF>
z
$ hg qpop
popping eol.diff
patch queue now empty
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 $ cd ..
Test .rej file EOL are left unchanged
$ hg init testeol
$ cd testeol
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c "open('a', 'wb').write(b'1\r\n2\r\n3\r\n4')"
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 $ hg ci -Am adda
adding a
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c "open('a', 'wb').write(b'1\r\n2\r\n33\r\n4')"
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 $ hg qnew patch1
$ hg qpop
popping patch1
patch queue now empty
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c "open('a', 'wb').write(b'1\r\n22\r\n33\r\n4')"
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 $ hg ci -m changea
$ hg --config 'patch.eol=LF' qpush
applying patch1
patching file a
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file a.rej
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh patch1
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 [2]
$ hg qpop
popping patch1
patch queue now empty
$ cat a.rej
--- a
+++ a
@@ -1,4 +1,4 @@
1\r (esc)
2\r (esc)
-3\r (esc)
+33\r (esc)
4
\ No newline at end of file
$ hg --config 'patch.eol=auto' qpush
applying patch1
patching file a
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file a.rej
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh patch1
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 [2]
$ hg qpop
popping patch1
patch queue now empty
$ cat a.rej
--- a
+++ a
@@ -1,4 +1,4 @@
1\r (esc)
2\r (esc)
-3\r (esc)
+33\r (esc)
4
\ No newline at end of file
$ cd ..