t / t5704-bundle.shon commit Merge branch 'wk/doc-in-linux-3.x-era' (0d07e98)
   1#!/bin/sh
   2
   3test_description='some bundle related tests'
   4. ./test-lib.sh
   5
   6test_expect_success 'setup' '
   7        test_commit initial &&
   8        test_tick &&
   9        git tag -m tag tag &&
  10        test_commit second &&
  11        test_commit third &&
  12        git tag -d initial &&
  13        git tag -d second &&
  14        git tag -d third
  15'
  16
  17test_expect_success 'tags can be excluded by rev-list options' '
  18        git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 &&
  19        git ls-remote bundle > output &&
  20        ! grep tag output
  21'
  22
  23test_expect_success 'die if bundle file cannot be created' '
  24        mkdir adir &&
  25        test_must_fail git bundle create adir --all
  26'
  27
  28test_expect_failure 'bundle --stdin' '
  29        echo master | git bundle create stdin-bundle.bdl --stdin &&
  30        git ls-remote stdin-bundle.bdl >output &&
  31        grep master output
  32'
  33
  34test_expect_failure 'bundle --stdin <rev-list options>' '
  35        echo master | git bundle create hybrid-bundle.bdl --stdin tag &&
  36        git ls-remote hybrid-bundle.bdl >output &&
  37        grep master output
  38'
  39
  40test_expect_success 'empty bundle file is rejected' '
  41        : >empty-bundle &&
  42        test_must_fail git fetch empty-bundle
  43'
  44
  45# This triggers a bug in older versions where the resulting line (with
  46# --pretty=oneline) was longer than a 1024-char buffer.
  47test_expect_success 'ridiculously long subject in boundary' '
  48        : >file4 &&
  49        test_tick &&
  50        git add file4 &&
  51        printf "%01200d\n" 0 | git commit -F - &&
  52        test_commit fifth &&
  53        git bundle create long-subject-bundle.bdl HEAD^..HEAD &&
  54        git bundle list-heads long-subject-bundle.bdl >heads &&
  55        test -s heads &&
  56        git fetch long-subject-bundle.bdl &&
  57        sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary &&
  58        grep "^-[0-9a-f]\\{40\\} " boundary
  59'
  60
  61test_expect_success 'prerequisites with an empty commit message' '
  62        : >file1 &&
  63        git add file1 &&
  64        test_tick &&
  65        git commit --allow-empty-message -m "" &&
  66        test_commit file2 &&
  67        git bundle create bundle HEAD^.. &&
  68        git bundle verify bundle
  69'
  70
  71test_done