Mercurial > hg
view tests/test-url-rev @ 10189:e451e599fbcf
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.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 01 Jan 2010 20:54:05 +0100 |
parents | 6c82beaaa11a |
children |
line wrap: on
line source
#!/bin/sh # test basic functionality of url#rev syntax hg init repo cd repo echo a > a hg ci -qAm 'add a' hg branch foo echo >> a hg ci -m 'change a' cd .. echo '% clone repo#foo' hg clone 'repo#foo' clone echo '% heads' hg --cwd clone heads echo '% parents' hg --cwd clone parents sed -e 's/default.*#/default = #/' clone/.hg/hgrc echo echo '% changing original repo' cd repo echo >> a hg ci -m 'new head of branch foo' hg up -qC default echo bar > bar hg ci -qAm 'add bar' hg log echo echo '% outgoing' hg -q outgoing '../clone#foo' echo echo '% push' hg -q push '../clone#foo' hg --cwd ../clone heads cd .. echo echo '% rolling back' cd clone hg rollback echo '% incoming' hg -q incoming echo '% pull' hg -q pull hg heads echo echo '% pull should not have updated' hg parents -q echo '% going back to the default branch' hg up -C 0 hg parents echo '% no new revs, no update' hg pull -qu hg parents -q echo '% rollback' hg rollback hg up -C 0 hg parents -q echo '% pull -u takes us back to branch foo' hg pull -qu hg parents echo '% rollback' hg rollback hg up -C 0 echo '% parents' hg parents -q echo '% heads' hg heads -q echo '% pull -u -r otherrev url#rev updates to rev' hg pull -qur default default echo '% parents' hg parents echo '% heads' hg heads