##// END OF EJS Templates
exchange: support for streaming clone bundles...
exchange: support for streaming clone bundles Now that we have a mechanism to produce and consume streaming clone bundles, we need to teach the human-facing bundle specification parser and the internal bundle file header reading code to be aware of this new format. This patch does so. For the human-facing bundle specification, we choose the name "packed" to describe "streaming clone bundles" because the bundle is essentially a "pack" of raw revlog files that are "packed" together. There should probably be a bikeshed over the name, especially since it is human facing.

File last commit:

r24365:f1eaf03d default
r26756:9e272a96 default
Show More
test-mq-eol.t
211 lines | 4.1 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
> f = file('eol.diff', 'wb')
> w = f.write
> w('test message\n')
> w('diff --git a/a b/a\n')
> w('--- a/a\n')
> w('+++ b/a\n')
> w('@@ -1,5 +1,5 @@\n')
> w(' a\n')
> w('-b\r\n')
> w('+y\r\n')
> w(' c\r\n')
> w(' d\n')
> w('-e\n')
> w('\ No newline at end of file\n')
> w('+z\r\n')
> w('\ No newline at end of file\r\n')
> EOF
$ cat > cateol.py <<EOF
> import sys
> for line in file(sys.argv[1], 'rb'):
> line = line.replace('\r', '<CR>')
> line = line.replace('\n', '<LF>')
> print line
> EOF
$ hg init repo
$ cd repo
$ echo '\.diff' > .hgignore
$ echo '\.rej' >> .hgignore
Test different --eol values
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'file("a", "wb").write("a\nb\nc\nd\ne")'
Nicolas Dumazet
tests: unify test-mq-eol
r11895 $ hg ci -Am adda
adding .hgignore
adding a
$ python ../makepatch.py
$ 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
Nicolas Dumazet
tests: unify test-mq-eol
r11895 errors during apply, please fix and refresh 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
Nicolas Dumazet
tests: unify test-mq-eol
r11895 errors during apply, please fix and refresh 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
$ 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>
$ python ../cateol.py a
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
$ python ../cateol.py a
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
$ python ../cateol.py a
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
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('a', 'wb').write('1\r\n2\r\n3\r\n4')"
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 $ hg ci -Am adda
adding a
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('a', 'wb').write('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
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('a', 'wb').write('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
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 errors during apply, please fix and refresh patch1
[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
Patrick Mezard
patch: write .rej files without rewriting EOLs...
r13100 errors during apply, please fix and refresh patch1
[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 ..