Mercurial > hg-stable
view tests/test-gendoc.t @ 25774:4f8c20fe66f0
shelve: keep old backups if timestamp can't decide exact order of them
Before this patch, backups to be discarded are decided by steps below
at 'hg unshelve' or so:
1. list '(st_mtime, filename)' tuples of each backups up
2. sort list of these tuples, and
3. discard backups other than 'maxbackups' ones at the end of list
This doesn't work well in the case below:
- "sort by name" order differs from actual backup-ing order, and
- some of backups have same timestamp
For example, 'test-shelve.t' satisfies the former condition:
- 'default-01' < 'default-1' in "sort by name" order
- 'default-1' < 'default-01' in actual backup-ing order
Then, 'default-01' is discarded instead of 'default-1' unexpectedly,
if they have same timestamp. This failure appears occasionally,
because the most important condition "same timestamp" is timing
critical.
To avoid such unexpected discarding, this patch keeps old backups if
timestamp can't decide exact order of them.
Timestamp of the border backup (= the oldest one of recent
'maxbackups' ones) as 'bordermtime' is used to examine whether
timestamp can decide exact order of backups.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Mon, 13 Jul 2015 23:34:12 +0900 |
parents | 1fdb1d909c79 |
children | 4a080cf31565 |
line wrap: on
line source
#require docutils #require gettext Test document extraction $ HGENCODING=UTF-8 $ export HGENCODING $ { echo C; ls "$TESTDIR/../i18n"/*.po | sort; } | while read PO; do > LOCALE=`basename "$PO" .po` > echo > echo "% extracting documentation from $LOCALE" > echo ".. -*- coding: utf-8 -*-" > gendoc-$LOCALE.txt > echo "" >> gendoc-$LOCALE.txt > LANGUAGE=$LOCALE python "$TESTDIR/../doc/gendoc.py" >> gendoc-$LOCALE.txt 2> /dev/null || exit > > if [ $LOCALE != C ]; then > cmp -s gendoc-C.txt gendoc-$LOCALE.txt && echo '** NOTHING TRANSLATED **' > fi > > # We call runrst without adding "--halt warning" to make it report > # all errors instead of stopping on the first one. > echo "checking for parse errors" > python "$TESTDIR/../doc/runrst" html gendoc-$LOCALE.txt /dev/null > done % extracting documentation from C checking for parse errors % extracting documentation from da checking for parse errors % extracting documentation from de checking for parse errors % extracting documentation from el checking for parse errors % extracting documentation from fr checking for parse errors % extracting documentation from it checking for parse errors % extracting documentation from ja checking for parse errors % extracting documentation from pt_BR checking for parse errors % extracting documentation from ro checking for parse errors % extracting documentation from ru checking for parse errors % extracting documentation from sv checking for parse errors % extracting documentation from zh_CN checking for parse errors % extracting documentation from zh_TW checking for parse errors