Merge branch 'dl/config-alias-doc'
[gitweb.git] / t / t9300-fast-import.sh
index 59a13b6a779b437fa377b30b2e0856f285f806b6..141b7fa35e74b860d91ea7cdabf48730442ed635 100755 (executable)
@@ -3262,4 +3262,61 @@ test_expect_success PIPE 'V: checkpoint updates tags after tag' '
        background_import_still_running
 '
 
+###
+### series W (get-mark and empty orphan commits)
+###
+
+cat >>W-input <<-W_INPUT_END
+       commit refs/heads/W-branch
+       mark :1
+       author Full Name <user@company.tld> 1000000000 +0100
+       committer Full Name <user@company.tld> 1000000000 +0100
+       data 27
+       Intentionally empty commit
+       LFsget-mark :1
+       W_INPUT_END
+
+test_expect_success !MINGW 'W: get-mark & empty orphan commit with no newlines' '
+       sed -e s/LFs// W-input | tr L "\n" | git fast-import
+'
+
+test_expect_success !MINGW 'W: get-mark & empty orphan commit with one newline' '
+       sed -e s/LFs/L/ W-input | tr L "\n" | git fast-import
+'
+
+test_expect_success !MINGW 'W: get-mark & empty orphan commit with ugly second newline' '
+       # Technically, this should fail as it has too many linefeeds
+       # according to the grammar in fast-import.txt.  But, for whatever
+       # reason, it works.  Since using the correct number of newlines
+       # does not work with older (pre-2.22) versions of git, allow apps
+       # that used this second-newline workaround to keep working by
+       # checking it with this test...
+       sed -e s/LFs/LL/ W-input | tr L "\n" | git fast-import
+'
+
+test_expect_success !MINGW 'W: get-mark & empty orphan commit with erroneous third newline' '
+       # ...but do NOT allow more empty lines than that (see previous test).
+       sed -e s/LFs/LLL/ W-input | tr L "\n" | test_must_fail git fast-import
+'
+
+###
+### series X (other new features)
+###
+
+test_expect_success 'X: handling encoding' '
+       test_tick &&
+       cat >input <<-INPUT_END &&
+       commit refs/heads/encoding
+       committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
+       encoding iso-8859-7
+       data <<COMMIT
+       INPUT_END
+
+       printf "Pi: \360\nCOMMIT\n" >>input &&
+
+       git fast-import <input &&
+       git cat-file -p encoding | grep $(printf "\360") &&
+       git log -1 --format=%B encoding | grep $(printf "\317\200")
+'
+
 test_done