summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Germishuys <jacquesg@striata.com>2015-03-22 19:06:53 +0200
committerEdward Thomson <ethomson@microsoft.com>2015-03-25 10:20:47 -0400
commit7c2b9e063b23f804ee056db177cd1b5e66832ccd (patch)
treec0c21e8ea5a7016bdcbd3b74b1073b4ff26c6038
parent8311db0cf8ae15b46edd14358a8238862e0bac4d (diff)
downloadlibgit2-7c2b9e063b23f804ee056db177cd1b5e66832ccd.tar.gz
Illustrate bad checkout on Windows
-rw-r--r--tests/checkout/crlf.c20
-rw-r--r--tests/resources/crlf/.gitted/indexbin0 -> 425 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/16/c72b67861f8524a5bebc05cd20472d3fca00dabin0 -> 64 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/3f/96bdca0e37616026afaa325c148cec4aa62d04bin0 -> 164 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/47/fbc2c28a18df0dc773276a253eb85c7516ca50bin0 -> 36 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904bin0 -> 15 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/6a/e3e9c11a51f0aabebcffcbd5c00f4beed143c9bin0 -> 87 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/96/87e444bcbb85645cb496080434c292f1b571821
-rw-r--r--tests/resources/crlf/.gitted/objects/97/449da2d225557c558ac244384d487e66c3e591bin0 -> 177 bytes
-rw-r--r--tests/resources/crlf/.gitted/refs/heads/empty-files1
10 files changed, 22 insertions, 0 deletions
diff --git a/tests/checkout/crlf.c b/tests/checkout/crlf.c
index a7a579eaa..a9acdf406 100644
--- a/tests/checkout/crlf.c
+++ b/tests/checkout/crlf.c
@@ -347,3 +347,23 @@ void test_checkout_crlf__autocrlf_input_text_auto_attr(void)
check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
}
+
+void test_checkout_crlf__can_write_empty_file(void)
+{
+ git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+ opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+
+ cl_repo_set_bool(g_repo, "core.autocrlf", true);
+
+ git_repository_set_head(g_repo, "refs/heads/empty-files");
+ git_checkout_head(g_repo, &opts);
+
+ check_file_contents("./crlf/test1.txt", "");
+
+ if (GIT_EOL_NATIVE == GIT_EOL_LF)
+ check_file_contents("./crlf/test2.txt", "test2.txt's content\n");
+ else
+ check_file_contents("./crlf/test2.txt", "test2.txt's content\r\n");
+
+ check_file_contents("./crlf/test3.txt", "");
+}
diff --git a/tests/resources/crlf/.gitted/index b/tests/resources/crlf/.gitted/index
new file mode 100644
index 000000000..aadd35e72
--- /dev/null
+++ b/tests/resources/crlf/.gitted/index
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/16/c72b67861f8524a5bebc05cd20472d3fca00da b/tests/resources/crlf/.gitted/objects/16/c72b67861f8524a5bebc05cd20472d3fca00da
new file mode 100644
index 000000000..e2b199458
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/16/c72b67861f8524a5bebc05cd20472d3fca00da
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/3f/96bdca0e37616026afaa325c148cec4aa62d04 b/tests/resources/crlf/.gitted/objects/3f/96bdca0e37616026afaa325c148cec4aa62d04
new file mode 100644
index 000000000..a204fc983
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/3f/96bdca0e37616026afaa325c148cec4aa62d04
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/47/fbc2c28a18df0dc773276a253eb85c7516ca50 b/tests/resources/crlf/.gitted/objects/47/fbc2c28a18df0dc773276a253eb85c7516ca50
new file mode 100644
index 000000000..d16db9633
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/47/fbc2c28a18df0dc773276a253eb85c7516ca50
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 b/tests/resources/crlf/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
new file mode 100644
index 000000000..adf64119a
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/6a/e3e9c11a51f0aabebcffcbd5c00f4beed143c9 b/tests/resources/crlf/.gitted/objects/6a/e3e9c11a51f0aabebcffcbd5c00f4beed143c9
new file mode 100644
index 000000000..6c18a3ad2
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/6a/e3e9c11a51f0aabebcffcbd5c00f4beed143c9
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/96/87e444bcbb85645cb496080434c292f1b57182 b/tests/resources/crlf/.gitted/objects/96/87e444bcbb85645cb496080434c292f1b57182
new file mode 100644
index 000000000..5df64d849
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/96/87e444bcbb85645cb496080434c292f1b57182
@@ -0,0 +1 @@
+xAJ1@Q9E!T:Y ޢRMAoGp/m7L*LQ)yEU(JqfP2Q1%L$QS ,xѾoz|xz󰾱I 0{S@x轻}_wU+H50'2=T \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/97/449da2d225557c558ac244384d487e66c3e591 b/tests/resources/crlf/.gitted/objects/97/449da2d225557c558ac244384d487e66c3e591
new file mode 100644
index 000000000..d3917a433
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/97/449da2d225557c558ac244384d487e66c3e591
Binary files differ
diff --git a/tests/resources/crlf/.gitted/refs/heads/empty-files b/tests/resources/crlf/.gitted/refs/heads/empty-files
new file mode 100644
index 000000000..8f1fe6104
--- /dev/null
+++ b/tests/resources/crlf/.gitted/refs/heads/empty-files
@@ -0,0 +1 @@
+9687e444bcbb85645cb496080434c292f1b57182