t9300: test filedelete command

Add new fast-import test series for filedelete command. Signed-off-by: Maxim Bublis <satori@yandex-team.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Maxim Bublis committed Aug 29, 2014 at 15:53 UTC 8d30d8a89aa9bf8dfb477cb127af58448bbe9b96
1 file changed +104
t/t9300-fast-import.sh
+104
@@ -3017,4 +3017,108 @@ test_expect_success 'T: empty reset doesnt delete branch' '
3017 git rev-parse --verify refs/heads/not-to-delete
3018 '
3019
3020 +###
3021 +### series U (filedelete)
3022 +###
3023 +
3024 +cat >input <<INPUT_END
3025 +commit refs/heads/U
3026 +committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
3027 +data <<COMMIT
3028 +test setup
3029 +COMMIT
3030 +M 100644 inline hello.c
3031 +data <<BLOB
3032 +blob 1
3033 +BLOB
3034 +M 100644 inline good/night.txt
3035 +data <<BLOB
3036 +sleep well
3037 +BLOB
3038 +M 100644 inline good/bye.txt
3039 +data <<BLOB
3040 +au revoir
3041 +BLOB
3042 +
3043 +INPUT_END
3044 +
3045 +test_expect_success 'U: initialize for U tests' '
3046 + git fast-import <input
3047 +'
3048 +
3049 +cat >input <<INPUT_END
3050 +commit refs/heads/U
3051 +committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
3052 +data <<COMMIT
3053 +delete good/night.txt
3054 +COMMIT
3055 +from refs/heads/U^0
3056 +D good/night.txt
3057 +
3058 +INPUT_END
3059 +
3060 +test_expect_success 'U: filedelete file succeeds' '
3061 + git fast-import <input
3062 +'
3063 +
3064 +cat >expect <<EOF
3065 +:100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D good/night.txt
3066 +EOF
3067 +
3068 +git diff-tree -M -r U^1 U >actual
3069 +
3070 +test_expect_success 'U: validate file delete result' '
3071 + compare_diff_raw expect actual
3072 +'
3073 +
3074 +cat >input <<INPUT_END
3075 +commit refs/heads/U
3076 +committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
3077 +data <<COMMIT
3078 +delete good dir
3079 +COMMIT
3080 +from refs/heads/U^0
3081 +D good
3082 +
3083 +INPUT_END
3084 +
3085 +test_expect_success 'U: filedelete directory succeeds' '
3086 + git fast-import <input
3087 +'
3088 +
3089 +cat >expect <<EOF
3090 +:100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D good/bye.txt
3091 +EOF
3092 +
3093 +git diff-tree -M -r U^1 U >actual
3094 +
3095 +test_expect_success 'U: validate directory delete result' '
3096 + compare_diff_raw expect actual
3097 +'
3098 +
3099 +cat >input <<INPUT_END
3100 +commit refs/heads/U
3101 +committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
3102 +data <<COMMIT
3103 +must succeed
3104 +COMMIT
3105 +from refs/heads/U^0
3106 +D ""
3107 +
3108 +INPUT_END
3109 +
3110 +test_expect_failure 'U: filedelete root succeeds' '
3111 + git fast-import <input
3112 +'
3113 +
3114 +cat >expect <<EOF
3115 +:100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D hello.c
3116 +EOF
3117 +
3118 +git diff-tree -M -r U^1 U >actual
3119 +
3120 +test_expect_failure 'U: validate root delete result' '
3121 + compare_diff_raw expect actual
3122 +'
3123 +
3124 test_done