view tests/test-parse-date @ 9954:d6a307719ccb stable

fix bug in prepush logic involving merge changesets When creating new branches and merging them into existing ones, you would sometimes be able to push some changesets (the existing branches) without using --force, even when that creates a new head on the remote. A test which triggers the error has been added.
author Sune Foldager <cryo@cyanite.org>
date Mon, 30 Nov 2009 14:58:52 +0100
parents d91078a2652f
children 08a0f04b56bd
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 12-hours times
hg debugdate "2006-02-01 1:00:30PM +0000"
hg debugdate "1:00:30PM" > /dev/null || echo 'failed'

#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'