diff options
| author | Patrick Steinhardt <ps@pks.im> | 2018-04-06 09:39:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-06 09:39:03 +0100 |
| commit | 83d6327d2e193ec32355fdc9505f792a31cbeff0 (patch) | |
| tree | d7fdcffea17d7e718529823a52e19a67770cdb48 | |
| parent | e0af6d1219d948a9a962e950f372bcf0a444eac6 (diff) | |
| parent | cd6a4323b7c9451f94c90107647142e6266d7d27 (diff) | |
| download | libgit2-83d6327d2e193ec32355fdc9505f792a31cbeff0.tar.gz | |
Merge pull request #4611 from erikvanzijst/erik/status_char
diff: Add missing GIT_DELTA_TYPECHANGE -> 'T' mapping.
| -rw-r--r-- | src/diff_print.c | 1 | ||||
| -rw-r--r-- | tests/checkout/typechange.c | 26 | ||||
| -rw-r--r-- | tests/diff/stats.c | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/diff_print.c b/src/diff_print.c index 28ae38424..5e535482c 100644 --- a/src/diff_print.c +++ b/src/diff_print.c @@ -130,6 +130,7 @@ char git_diff_status_char(git_delta_t status) case GIT_DELTA_COPIED: code = 'C'; break; case GIT_DELTA_IGNORED: code = 'I'; break; case GIT_DELTA_UNTRACKED: code = '?'; break; + case GIT_DELTA_TYPECHANGE: code = 'T'; break; case GIT_DELTA_UNREADABLE: code = 'X'; break; default: code = ' '; break; } diff --git a/tests/checkout/typechange.c b/tests/checkout/typechange.c index 8a5110caa..647b534b1 100644 --- a/tests/checkout/typechange.c +++ b/tests/checkout/typechange.c @@ -1,4 +1,5 @@ #include "clar_libgit2.h" +#include "diff_generate.h" #include "git2/checkout.h" #include "path.h" #include "posix.h" @@ -307,3 +308,28 @@ void test_checkout_typechange__checkout_with_conflicts(void) git_object_free(obj); } } + +void test_checkout_typechange__status_char(void) +{ + size_t i; + git_oid oid; + git_commit *commit; + git_diff *diff; + const git_diff_delta *delta; + git_diff_options diffopts = GIT_DIFF_OPTIONS_INIT; + char expected[8] = {'M', 'M', 'R', 'T', 'D', 'R', 'A', 'R'}; + + git_oid_fromstr(&oid, "9b19edf33a03a0c59cdfc113bfa5c06179bf9b1a"); + cl_git_pass(git_commit_lookup(&commit, g_repo, &oid)); + diffopts.flags |= GIT_DIFF_INCLUDE_TYPECHANGE; + cl_git_pass(git_diff__commit(&diff, g_repo, commit, &diffopts)); + cl_git_pass(git_diff_find_similar(diff, NULL)); + + for (i = 0; i < git_diff_num_deltas(diff); i++) { + delta = git_diff_get_delta(diff, i); + cl_assert_equal_i(expected[i], git_diff_status_char(delta->status)); + } + + git_diff_free(diff); + git_commit_free(commit); +} diff --git a/tests/diff/stats.c b/tests/diff/stats.c index 3171a4486..347d0d757 100644 --- a/tests/diff/stats.c +++ b/tests/diff/stats.c @@ -254,7 +254,7 @@ void test_diff_stats__rename_nochanges_no_find(void) git_buf_free(&buf); } -void test_diff_stats__rename_and_modifiy_no_find(void) +void test_diff_stats__rename_and_modify_no_find(void) { git_buf buf = GIT_BUF_INIT; const char *stat = |
