##// END OF EJS Templates
patch: support diff data loss detection and upgrade...
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

File last commit:

r8693:68e0a55e default
r10189:e451e599 default
Show More
test-convert-hg-sink
67 lines | 1.1 KiB | text/plain | TextLexer
/ tests / test-convert-hg-sink
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278 #!/bin/sh
Bryan O'Sullivan
convert: some tidyups, doc improvements, and test fixes...
r5556 cat >> $HGRCPATH <<EOF
[extensions]
convert=
[convert]
hg.saverev=False
EOF
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278
hg init orig
cd orig
echo foo > foo
echo bar > bar
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -qAm 'add foo and bar'
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278
hg rm foo
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -m 'remove foo'
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278
mkdir foo
echo file > foo/file
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -qAm 'add foo/file'
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg tag some-tag
Alexis S. L. Carvalho
convert: avoid dirstate checks; add a test...
r5278
hg log
cd ..
hg convert orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig
Alexis S. L. Carvalho
convert: clear the dirstate before a conversion, invalidate it afterwards...
r5279
echo '% dirstate should be empty:'
hg debugstate
hg parents -q
hg up -C
hg copy bar baz
echo '% put something in the dirstate:'
hg debugstate > debugstate
grep baz debugstate
echo '% add a new revision in the original repo'
cd ../orig
echo baz > baz
hg ci -qAm 'add baz'
cd ..
hg convert orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig
echo '% dirstate should be the same (no output below):'
hg debugstate > new-debugstate
diff debugstate new-debugstate
echo '% no copies'
hg up -C
hg debugrename baz
Patrick Mezard
convert: rewrite tags when converting from hg to hg
r8693 cd ..
echo '% test tag rewriting'
cat > filemap <<EOF
exclude foo
EOF
hg convert --filemap filemap orig new-filemap 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new-filemap
hg tags
cd ..