blob: 348d9b3bc7ad3ea512f68b6200481c9f6b90d792 [file] [log] [blame]
Johannes Schindelinc9a42c42009-01-02 19:08:46 +01001#!/bin/sh
2
3test_description='some bundle related tests'
4. ./test-lib.sh
5
6test_expect_success 'setup' '
Thomas Rast8a557bb2012-02-23 10:42:23 +01007 test_commit initial &&
Johannes Schindelinc9a42c42009-01-02 19:08:46 +01008 test_tick &&
9 git tag -m tag tag &&
Thomas Rast8a557bb2012-02-23 10:42:23 +010010 test_commit second &&
11 test_commit third &&
12 git tag -d initial &&
13 git tag -d second &&
14 git tag -d third
Johannes Schindelinc9a42c42009-01-02 19:08:46 +010015'
16
Lukas Fleischer2c8544a2014-08-02 10:39:06 +020017test_expect_success 'annotated tags can be excluded by rev-list options' '
18 git bundle create bundle --all --since=7.Apr.2005.15:14:00.-0700 &&
19 git ls-remote bundle > output &&
20 grep tag output &&
Johannes Schindelinc9a42c42009-01-02 19:08:46 +010021 git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 &&
22 git ls-remote bundle > output &&
23 ! grep tag output
Johannes Schindelinc9a42c42009-01-02 19:08:46 +010024'
25
Csaba Henk0f5cdf62010-08-27 20:31:47 +000026test_expect_success 'die if bundle file cannot be created' '
Csaba Henk0f5cdf62010-08-27 20:31:47 +000027 mkdir adir &&
28 test_must_fail git bundle create adir --all
Csaba Henk0f5cdf62010-08-27 20:31:47 +000029'
30
Jonathan Niederf62e0a32010-04-19 03:03:03 -050031test_expect_failure 'bundle --stdin' '
Jonathan Niederf62e0a32010-04-19 03:03:03 -050032 echo master | git bundle create stdin-bundle.bdl --stdin &&
33 git ls-remote stdin-bundle.bdl >output &&
34 grep master output
Jonathan Niederf62e0a32010-04-19 03:03:03 -050035'
36
37test_expect_failure 'bundle --stdin <rev-list options>' '
Jonathan Niederf62e0a32010-04-19 03:03:03 -050038 echo master | git bundle create hybrid-bundle.bdl --stdin tag &&
39 git ls-remote hybrid-bundle.bdl >output &&
40 grep master output
Jonathan Niederf62e0a32010-04-19 03:03:03 -050041'
42
Brian Harring54440e12012-01-03 05:46:03 -080043test_expect_success 'empty bundle file is rejected' '
Thomas Rast8a557bb2012-02-23 10:42:23 +010044 : >empty-bundle &&
45 test_must_fail git fetch empty-bundle
Brian Harring54440e12012-01-03 05:46:03 -080046'
47
Thomas Rastbc2fed42012-02-22 20:34:23 +010048# This triggers a bug in older versions where the resulting line (with
49# --pretty=oneline) was longer than a 1024-char buffer.
50test_expect_success 'ridiculously long subject in boundary' '
51 : >file4 &&
52 test_tick &&
53 git add file4 &&
54 printf "%01200d\n" 0 | git commit -F - &&
55 test_commit fifth &&
56 git bundle create long-subject-bundle.bdl HEAD^..HEAD &&
57 git bundle list-heads long-subject-bundle.bdl >heads &&
58 test -s heads &&
59 git fetch long-subject-bundle.bdl &&
Thomas Rast0dbe6592012-03-06 15:50:37 +010060 sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary &&
61 grep "^-[0-9a-f]\\{40\\} " boundary
Thomas Rastbc2fed42012-02-22 20:34:23 +010062'
63
Lukas Fleischer5446e332013-04-07 13:53:15 +020064test_expect_success 'prerequisites with an empty commit message' '
65 : >file1 &&
66 git add file1 &&
67 test_tick &&
68 git commit --allow-empty-message -m "" &&
69 test_commit file2 &&
70 git bundle create bundle HEAD^.. &&
71 git bundle verify bundle
72'
73
Johannes Schindelinc9a42c42009-01-02 19:08:46 +010074test_done