view tests/test-parse-date @ 8048:d22432bdcba1

convert/cvs: delay CVS log parsing after initialization (issue1581/2) Source and destination constructors should be fast so configurations issues are hit quickly, including authentication and filemap/authormap/splicemap issues. Delaying might be a problem if the remove side disconnects idle connections while the log is being read. It did not happen when converting openafs repository, where log retrieval took at least 10mn.
author Patrick Mezard <pmezard@gmail.com>
date Sat, 11 Apr 2009 21:17:11 +0200
parents 8c6f823efcc9
children d91078a2652f
line wrap: on
line source

#!/bin/sh

# This runs with TZ="GMT"
hg init
echo "test-parse-date" > a
hg add a
hg ci -d "2006-02-01 13:00:30" -m "rev 0"
echo "hi!" >> a
hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1"
hg tag -d "2006-04-15 13:30" "Hi"
hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1
hg ci -d "1150000000 14400" -m "rev 4 (merge)"
echo "fail" >> a
hg ci -d "should fail" -m "fail"
hg ci -d "100000000000000000 1400" -m "fail"
hg ci -d "100000 1400000" -m "fail"

# Check with local timezone other than GMT and with DST
TZ="PST+8PDT"
export TZ
# PST=UTC-8 / PDT=UTC-7
hg debugrebuildstate
echo "a" > a
hg ci -d "2006-07-15 13:30" -m "summer@UTC-7"
hg debugrebuildstate
echo "b" > a
hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5"
hg debugrebuildstate
echo "c" > a
hg ci -d "2006-01-15 13:30" -m "winter@UTC-8"
hg debugrebuildstate
echo "d" > a
hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5"
hg log --template '{date|date}\n'

# Test issue1014 (fractional timezones)
hg debugdate "1000000000 -16200" # 0430
hg debugdate "1000000000 -15300" # 0415
hg debugdate "1000000000 -14400" # 0400
hg debugdate "1000000000 0"      # GMT
hg debugdate "1000000000 14400"  # -0400
hg debugdate "1000000000 15300"  # -0415
hg debugdate "1000000000 16200"  # -0430
hg debugdate "Sat Sep 08 21:16:40 2001 +0430"
hg debugdate "Sat Sep 08 21:16:40 2001 -0430"

#Test date formats with '>' or '<' accompanied by space characters
hg log -d '>' --template '{date|date}\n'
hg log -d '<' hg log -d '>' --template '{date|date}\n'

hg log -d ' >' --template '{date|date}\n'
hg log -d ' <' --template '{date|date}\n'

hg log -d '> ' --template '{date|date}\n'
hg log -d '< ' --template '{date|date}\n'

hg log -d ' > ' --template '{date|date}\n'
hg log -d ' < ' --template '{date|date}\n'


hg log -d '>02/01' --template '{date|date}\n'
hg log -d '<02/01' --template '{date|date}\n'

hg log -d ' >02/01' --template '{date|date}\n'
hg log -d ' <02/01' --template '{date|date}\n'

hg log -d '> 02/01' --template '{date|date}\n'
hg log -d '< 02/01' --template '{date|date}\n'

hg log -d ' > 02/01' --template '{date|date}\n'
hg log -d ' < 02/01' --template '{date|date}\n'

hg log -d '>02/01 ' --template '{date|date}\n'
hg log -d '<02/01 ' --template '{date|date}\n'

hg log -d ' >02/01 ' --template '{date|date}\n'
hg log -d ' <02/01 ' --template '{date|date}\n'

hg log -d '> 02/01 ' --template '{date|date}\n'
hg log -d '< 02/01 ' --template '{date|date}\n'

hg log -d ' > 02/01 ' --template '{date|date}\n'
hg log -d ' < 02/01 ' --template '{date|date}\n'