Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9ff89ea

Browse files
ethomsoncarlosmn
authored andcommitted
merge_files: don't add trailing newlines
When invoked with three files that each lack a trailing newline, the merge result should also lack a trailing newline.
1 parent f574039 commit 9ff89ea

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

tests/merge/files.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,42 @@ void test_merge_files__automerge_whitespace_change(void)
249249

250250
git_merge_file_result_free(&result);
251251
}
252+
253+
void test_merge_files__doesnt_add_newline(void)
254+
{
255+
git_merge_file_input ancestor = GIT_MERGE_FILE_INPUT_INIT,
256+
ours = GIT_MERGE_FILE_INPUT_INIT,
257+
theirs = GIT_MERGE_FILE_INPUT_INIT;
258+
git_merge_file_options opts = GIT_MERGE_FILE_OPTIONS_INIT;
259+
git_merge_file_result result = {0};
260+
const char *expected = "Zero\n1\n2\n3\n4\n5 XXX\n6 YYY\n7\n8\n9\nTen";
261+
262+
ancestor.ptr = "0\n1\n2\n3\n4\n5 XXX\n6YYY\n7\n8\n9\n10";
263+
ancestor.size = strlen(ancestor.ptr);
264+
ancestor.path = "testfile.txt";
265+
ancestor.mode = 0100755;
266+
267+
ours.ptr = "Zero\n1\n2\n3\n4\n5 XXX\n6 YYY\n7\n8\n9\n10";
268+
ours.size = strlen(ours.ptr);
269+
ours.path = "testfile.txt";
270+
ours.mode = 0100755;
271+
272+
theirs.ptr = "0\n1\n2\n3\n4\n5 XXX\n6 YYY\n7\n8\n9\nTen";
273+
theirs.size = strlen(theirs.ptr);
274+
theirs.path = "testfile.txt";
275+
theirs.mode = 0100755;
276+
277+
opts.flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE;
278+
cl_git_pass(git_merge_file(&result, &ancestor, &ours, &theirs, &opts));
279+
280+
cl_assert_equal_i(1, result.automergeable);
281+
282+
cl_assert_equal_s("testfile.txt", result.path);
283+
cl_assert_equal_i(0100755, result.mode);
284+
285+
cl_assert_equal_i(strlen(expected), result.len);
286+
cl_assert_equal_strn(expected, result.ptr, result.len);
287+
288+
git_merge_file_result_free(&result);
289+
}
290+

0 commit comments

Comments
 (0)