Merge branch 'maint'
[gitweb.git] / t / t4200-rerere.sh
index 5ee5b23095d4316c942ee80643d277dd48adf7c9..c571a1bd744582c6be68504887cf8620514603b8 100755 (executable)
@@ -113,41 +113,38 @@ mkdir $rr2
 echo Hello > $rr2/preimage
 
 case "$(date -d @11111111 +%s 2>/dev/null)" in
-[1-9]*)
-       # it is a recent GNU date. good.
+11111111)
+       # 'date' must be able to take arbitrary input with @11111111 notation.
+       # for this test to succeed.  We should fix this part using more
+       # portable script someday.
+
        now=$(date +%s)
        almost_15_days_ago=$(($now+60-15*86400))
        just_over_15_days_ago=$(($now-1-15*86400))
        almost_60_days_ago=$(($now+60-60*86400))
        just_over_60_days_ago=$(($now-1-60*86400))
-       predate1="$(date -d "@$almost_60_days_ago" +%c)"
-       predate2="$(date -d "@$almost_15_days_ago" +%c)"
-       postdate1="$(date -d "@$just_over_60_days_ago" +%c)"
-       postdate2="$(date -d "@$just_over_15_days_ago" +%c)"
-       ;;
-*)
-       # it is not GNU date. oh, well.
-       predate1="$(date)"
-       predate2="$(date)"
-       postdate1='1 Oct 2006 00:00:00'
-       postdate2='1 Dec 2006 00:00:00'
-esac
+       predate1="$(date -d "@$almost_60_days_ago" +%Y%m%d%H%M.%S)"
+       predate2="$(date -d "@$almost_15_days_ago" +%Y%m%d%H%M.%S)"
+       postdate1="$(date -d "@$just_over_60_days_ago" +%Y%m%d%H%M.%S)"
+       postdate2="$(date -d "@$just_over_15_days_ago" +%Y%m%d%H%M.%S)"
 
-touch -m -d "$predate1" $rr/preimage
-touch -m -d "$predate2" $rr2/preimage
+       touch -m -t "$predate1" $rr/preimage
+       touch -m -t "$predate2" $rr2/preimage
 
-test_expect_success 'garbage collection (part1)' 'git rerere gc'
+       test_expect_success 'garbage collection (part1)' 'git rerere gc'
 
-test_expect_success 'young records still live' \
-       "test -f $rr/preimage -a -f $rr2/preimage"
+       test_expect_success 'young records still live' \
+               "test -f $rr/preimage -a -f $rr2/preimage"
 
-touch -m -d "$postdate1" $rr/preimage
-touch -m -d "$postdate2" $rr2/preimage
+       touch -m -t "$postdate1" $rr/preimage
+       touch -m -t "$postdate2" $rr2/preimage
 
-test_expect_success 'garbage collection (part2)' 'git rerere gc'
+       test_expect_success 'garbage collection (part2)' 'git rerere gc'
 
-test_expect_success 'old records rest in peace' \
-       "test ! -f $rr/preimage -a ! -f $rr2/preimage"
+       test_expect_success 'old records rest in peace' \
+               "test ! -f $rr/preimage -a ! -f $rr2/preimage"
+       ;;
+esac
 
 test_done