|  | #!/bin/sh | 
|  | # | 
|  | # Copyright (c) 2007 Johannes E. Schindelin | 
|  | # | 
|  |  | 
|  | test_description='git-fast-export' | 
|  | . ./test-lib.sh | 
|  |  | 
|  | test_expect_success 'setup' ' | 
|  |  | 
|  | echo Wohlauf > file && | 
|  | git add file && | 
|  | test_tick && | 
|  | git commit -m initial && | 
|  | echo die Luft > file && | 
|  | echo geht frisch > file2 && | 
|  | git add file file2 && | 
|  | test_tick && | 
|  | git commit -m second && | 
|  | echo und > file2 && | 
|  | test_tick && | 
|  | git commit -m third file2 && | 
|  | test_tick && | 
|  | git tag rein && | 
|  | git checkout -b wer HEAD^ && | 
|  | echo lange > file2 | 
|  | test_tick && | 
|  | git commit -m sitzt file2 && | 
|  | test_tick && | 
|  | git tag -a -m valentin muss && | 
|  | git merge -s ours master | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'fast-export | fast-import' ' | 
|  |  | 
|  | MASTER=$(git rev-parse --verify master) && | 
|  | REIN=$(git rev-parse --verify rein) && | 
|  | WER=$(git rev-parse --verify wer) && | 
|  | MUSS=$(git rev-parse --verify muss) && | 
|  | mkdir new && | 
|  | git --git-dir=new/.git init && | 
|  | git fast-export --all | | 
|  | (cd new && | 
|  | git fast-import && | 
|  | test $MASTER = $(git rev-parse --verify refs/heads/master) && | 
|  | test $REIN = $(git rev-parse --verify refs/tags/rein) && | 
|  | test $WER = $(git rev-parse --verify refs/heads/wer) && | 
|  | test $MUSS = $(git rev-parse --verify refs/tags/muss)) | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'fast-export master~2..master' ' | 
|  |  | 
|  | git fast-export master~2..master | | 
|  | sed "s/master/partial/" | | 
|  | (cd new && | 
|  | git fast-import && | 
|  | test $MASTER != $(git rev-parse --verify refs/heads/partial) && | 
|  | git diff master..partial && | 
|  | git diff master^..partial^ && | 
|  | ! git rev-parse partial~2) | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'iso-8859-1' ' | 
|  |  | 
|  | git config i18n.commitencoding ISO-8859-1 && | 
|  | # use author and committer name in ISO-8859-1 to match it. | 
|  | . ../t3901-8859-1.txt && | 
|  | test_tick && | 
|  | echo rosten >file && | 
|  | git commit -s -m den file && | 
|  | git fast-export wer^..wer | | 
|  | sed "s/wer/i18n/" | | 
|  | (cd new && | 
|  | git fast-import && | 
|  | git cat-file commit i18n | grep "Áéí óú") | 
|  |  | 
|  | ' | 
|  |  | 
|  | cat > signed-tag-import << EOF | 
|  | tag sign-your-name | 
|  | from $(git rev-parse HEAD) | 
|  | tagger C O Mitter <committer@example.com> 1112911993 -0700 | 
|  | data 210 | 
|  | A message for a sign | 
|  | -----BEGIN PGP SIGNATURE----- | 
|  | Version: GnuPG v1.4.5 (GNU/Linux) | 
|  |  | 
|  | fakedsignaturefakedsignaturefakedsignaturefakedsignaturfakedsign | 
|  | aturefakedsignaturefake= | 
|  | =/59v | 
|  | -----END PGP SIGNATURE----- | 
|  | EOF | 
|  |  | 
|  | test_expect_success 'set up faked signed tag' ' | 
|  |  | 
|  | cat signed-tag-import | git fast-import | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'signed-tags=abort' ' | 
|  |  | 
|  | ! git fast-export --signed-tags=abort sign-your-name | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'signed-tags=verbatim' ' | 
|  |  | 
|  | git fast-export --signed-tags=verbatim sign-your-name > output && | 
|  | grep PGP output | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_expect_success 'signed-tags=strip' ' | 
|  |  | 
|  | git fast-export --signed-tags=strip sign-your-name > output && | 
|  | ! grep PGP output | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_done |