##// END OF EJS Templates
hgweb: render next pages on /graph incrementally...
hgweb: render next pages on /graph incrementally Previously, when user scrolled down to see the next page on /graph, all hgweb did was re-render everything that would be visible (by simply incrementing revcount). It was not efficient at all, and this patch makes /graph page behave similarly to the regular /log: every new page only consists of new changesets, no duplication, and only jsdata is based on the full set of changesets required to build accurate graph. This is achieved by adding "?graphtop=<node>" to the next page URL template, effectively remembering where the graph started, and using that value to create the new `tree` that covers the whole visible graph. That variable is then used to produce jsdata for redrawing graph client-side. nextentry is used for the same purpose as on /log page (to format the next page URL), but it's not a part of the graph.

File last commit:

r34662:eb586ed5 default
r35410:f84b0125 default
Show More
test-clone-pull-corruption.t
53 lines | 1.2 KiB | text/troff | Tads3Lexer
/ tests / test-clone-pull-corruption.t
Matt Mackall
tests: unify test-clone-pull-corruption
r12412 Corrupt an hg repo with a pull started during an aborted commit
Create two repos, so that one of them can pull from the other one.
$ hg init source
$ cd source
$ touch foo
$ hg add foo
$ hg ci -m 'add foo'
$ hg clone . ../corrupted
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo >> foo
$ hg ci -m 'change foo'
Add a hook to wait 5 seconds and then abort the commit
$ cd ../corrupted
Adrian Buehlmann
test-clone-pull-corruption: adapt for Windows
r16962 $ echo "[hooks]" >> .hg/hgrc
FUJIWARA Katsunori
tests: use double quote to quote arguments in hook for portability...
r24838 $ echo 'pretxncommit = sh -c "sleep 5; exit 1"' >> .hg/hgrc
Matt Mackall
tests: unify test-clone-pull-corruption
r12412
start a commit...
$ touch bar
$ hg add bar
$ hg ci -m 'add bar' &
... and start a pull while the commit is still running
$ sleep 1
$ hg pull ../source 2>/dev/null
pulling from ../source
transaction abort!
rollback completed
abort: pretxncommit hook exited with status 1
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 52998019f625
Matt Mackall
tests: unify test-clone-pull-corruption
r12412 (run 'hg update' to get a working copy)
see what happened
$ wait
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..