t / t5311-pack-bitmaps-shallow.shon commit Merge branch 'bw/push-dry-run' (12cf113)
   1#!/bin/sh
   2
   3test_description='check bitmap operation with shallow repositories'
   4. ./test-lib.sh
   5
   6# We want to create a situation where the shallow, grafted
   7# view of reachability does not match reality in a way that
   8# might cause us to send insufficient objects.
   9#
  10# We do this with a history that repeats a state, like:
  11#
  12#      A    --   B    --   C
  13#    file=1    file=2    file=1
  14#
  15# and then create a shallow clone to the second commit, B.
  16# In a non-shallow clone, that would mean we already have
  17# the tree for A. But in a shallow one, we've grafted away
  18# A, and fetching A to B requires that the other side send
  19# us the tree for file=1.
  20test_expect_success 'setup shallow repo' '
  21        echo 1 >file &&
  22        git add file &&
  23        git commit -m orig &&
  24        echo 2 >file &&
  25        git commit -a -m update &&
  26        git clone --no-local --bare --depth=1 . shallow.git &&
  27        echo 1 >file &&
  28        git commit -a -m repeat
  29'
  30
  31test_expect_success 'turn on bitmaps in the parent' '
  32        git repack -adb
  33'
  34
  35test_expect_success 'shallow fetch from bitmapped repo' '
  36        (cd shallow.git && git fetch)
  37'
  38
  39test_done