Fourth batch
[gitweb.git] / t / t1414-reflog-walk.sh
index eb10fefd40b39eaa7e651940a4851b0237f979a2..1181a9fb28e359e803ef5672ff7742187e7730f1 100755 (executable)
@@ -18,10 +18,9 @@ do_walk () {
        git log -g --format="%gd %gs" "$@"
 }
 
-sq="'"
 test_expect_success 'set up expected reflog' '
        cat >expect.all <<-EOF
-       HEAD@{0} commit (merge): Merge branch ${sq}master${sq} into side
+       HEAD@{0} commit (merge): Merge branch ${SQ}master${SQ} into side
        HEAD@{1} commit: three
        HEAD@{2} checkout: moving from master to side
        HEAD@{3} commit: two
@@ -91,6 +90,32 @@ test_expect_success 'date-limiting does not interfere with other logs' '
        test_cmp expect.all actual
 '
 
+test_expect_success 'min/max age uses entry date to limit' '
+       # Flip between commits one and two so each ref update actually
+       # does something (and does not get optimized out). We know
+       # that the timestamps of those commits will be before our "min".
+
+       git update-ref -m before refs/heads/minmax one &&
+
+       test_tick &&
+       min=$test_tick &&
+       git update-ref -m min refs/heads/minmax two &&
+
+       test_tick &&
+       max=$test_tick &&
+       git update-ref -m max refs/heads/minmax one &&
+
+       test_tick &&
+       git update-ref -m after refs/heads/minmax two &&
+
+       cat >expect <<-\EOF &&
+       max
+       min
+       EOF
+       git log -g --since=$min --until=$max --format=%gs minmax >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'walk prefers reflog to ref tip' '
        head=$(git rev-parse HEAD) &&
        one=$(git rev-parse one) &&