shrink-revlog: improve performance: use changegroup instead of revisions
Before:
real 0m23.971s
Now:
real 0m4.229s
The only case where the output would be different is if the newer hg was using
a different diff algorithm than used originally.
#!/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'