diff options
-rw-r--r-- | include/git2/deprecated.h | 7 | ||||
-rw-r--r-- | src/blame.c | 2 | ||||
-rw-r--r-- | src/transports/httpclient.c | 2 | ||||
-rw-r--r-- | tests/blame/buffer.c | 26 | ||||
-rw-r--r-- | tests/resources/blametest.git/objects/83/6bc00b06cb60eb0f629e237ad2b58adb2cfc7e | 3 | ||||
-rw-r--r-- | tests/resources/blametest.git/objects/a8/ba8436b5d8ccbdfd5be597c194e7bb8e0a092f | 1 | ||||
-rw-r--r-- | tests/resources/blametest.git/objects/f9/264f7fbd31ae7a18b7931ed8946fb0aebb0af3 | bin | 0 -> 28 bytes | |||
-rw-r--r-- | tests/resources/blametest.git/refs/heads/master | 2 |
8 files changed, 40 insertions, 3 deletions
diff --git a/include/git2/deprecated.h b/include/git2/deprecated.h index 61d0115fd..e5e56edae 100644 --- a/include/git2/deprecated.h +++ b/include/git2/deprecated.h @@ -41,6 +41,13 @@ */ #ifndef GIT_DEPRECATE_HARD +/* + * The credential structures are now opaque by default, and their + * definition has moved into the `sys/credential.h` header; include + * them here for backward compatibility. + */ +#include "sys/credential.h" + /** * @file git2/deprecated.h * @brief libgit2 deprecated functions and values diff --git a/src/blame.c b/src/blame.c index 404f1f643..23c21027a 100644 --- a/src/blame.c +++ b/src/blame.c @@ -415,7 +415,7 @@ on_error: static bool hunk_is_bufferblame(git_blame_hunk *hunk) { - return git_oid_is_zero(&hunk->final_commit_id); + return hunk && git_oid_is_zero(&hunk->final_commit_id); } static int buffer_hunk_cb( diff --git a/src/transports/httpclient.c b/src/transports/httpclient.c index 3008aaaad..bde67ca9f 100644 --- a/src/transports/httpclient.c +++ b/src/transports/httpclient.c @@ -596,7 +596,7 @@ static int apply_credentials( if (auth->connection_affinity) free_auth_context(server); } else if (!token.size) { - git_error_set(GIT_ERROR_HTTP, "failed to respond to authentication challange"); + git_error_set(GIT_ERROR_HTTP, "failed to respond to authentication challenge"); error = -1; goto done; } diff --git a/tests/blame/buffer.c b/tests/blame/buffer.c index 340b1dced..06d5042dd 100644 --- a/tests/blame/buffer.c +++ b/tests/blame/buffer.c @@ -17,6 +17,32 @@ void test_blame_buffer__cleanup(void) git_repository_free(g_repo); } +void test_blame_buffer__index(void) +{ + const git_blame_hunk *hunk; + const char *buffer = "Hello\nWorld!"; + + /* + * We need to open a different file from the ones used in other tests. Close + * the one opened in test_blame_buffer__initialize() to avoid a leak. + */ + git_blame_free(g_fileblame); + g_fileblame = NULL; + cl_git_pass(git_blame_file(&g_fileblame, g_repo, "file.txt", NULL)); + + cl_git_pass(git_blame_buffer(&g_bufferblame, g_fileblame, buffer, strlen(buffer))); + cl_assert_equal_i(2, git_blame_get_hunk_count(g_bufferblame)); + + check_blame_hunk_index(g_repo, g_bufferblame, 0, 1, 1, 0, "836bc00b", "file.txt"); + hunk = git_blame_get_hunk_byline(g_bufferblame, 1); + cl_assert(hunk); + cl_assert_equal_s("lhchavez", hunk->final_signature->name); + check_blame_hunk_index(g_repo, g_bufferblame, 1, 2, 1, 0, "00000000", "file.txt"); + hunk = git_blame_get_hunk_byline(g_bufferblame, 2); + cl_assert(hunk); + cl_assert(hunk->final_signature == NULL); +} + void test_blame_buffer__added_line(void) { const git_blame_hunk *hunk; diff --git a/tests/resources/blametest.git/objects/83/6bc00b06cb60eb0f629e237ad2b58adb2cfc7e b/tests/resources/blametest.git/objects/83/6bc00b06cb60eb0f629e237ad2b58adb2cfc7e new file mode 100644 index 000000000..71f9c980e --- /dev/null +++ b/tests/resources/blametest.git/objects/83/6bc00b06cb60eb0f629e237ad2b58adb2cfc7e @@ -0,0 +1,3 @@ +xK +1D]B$OD{{:OգAyu"RA41f/]UϲȣX +MȖ,sFc8S[}⩼壏78pO.%fZua\uJF
\ No newline at end of file diff --git a/tests/resources/blametest.git/objects/a8/ba8436b5d8ccbdfd5be597c194e7bb8e0a092f b/tests/resources/blametest.git/objects/a8/ba8436b5d8ccbdfd5be597c194e7bb8e0a092f new file mode 100644 index 000000000..0bab0ef53 --- /dev/null +++ b/tests/resources/blametest.git/objects/a8/ba8436b5d8ccbdfd5be597c194e7bb8e0a092f @@ -0,0 +1 @@ +x+)JMU04`040031QH+(aٵJ5Ѕ'3P%0 }_ՉΓE{4٩r -3'槚^uU'ݘanP55?p9_$*\9
\ No newline at end of file diff --git a/tests/resources/blametest.git/objects/f9/264f7fbd31ae7a18b7931ed8946fb0aebb0af3 b/tests/resources/blametest.git/objects/f9/264f7fbd31ae7a18b7931ed8946fb0aebb0af3 Binary files differnew file mode 100644 index 000000000..942a7eedc --- /dev/null +++ b/tests/resources/blametest.git/objects/f9/264f7fbd31ae7a18b7931ed8946fb0aebb0af3 diff --git a/tests/resources/blametest.git/refs/heads/master b/tests/resources/blametest.git/refs/heads/master index d1bc4ca6b..994877a20 100644 --- a/tests/resources/blametest.git/refs/heads/master +++ b/tests/resources/blametest.git/refs/heads/master @@ -1 +1 @@ -6653ff42313eb5c82806f145391b18a9699800c7 +836bc00b06cb60eb0f629e237ad2b58adb2cfc7e |