diff options
| author | Vicent Marti <vicent@github.com> | 2014-05-19 15:00:50 +0200 |
|---|---|---|
| committer | Vicent Marti <vicent@github.com> | 2014-05-19 15:00:50 +0200 |
| commit | 124a45ead39cde1e1119666357d4611821bedf63 (patch) | |
| tree | 260607db2969f8693be6e0bdfd300010bbdca42a /tests/network | |
| parent | 52b597b66e051e362b98c10492a51c4601b45985 (diff) | |
| parent | 32332fccc9f1e316bcecf3ab5133331315e31871 (diff) | |
| download | libgit2-124a45ead39cde1e1119666357d4611821bedf63.tar.gz | |
Merge pull request #2354 from libgit2/cmn/clone-into-mirror
Allow mirror-clone via `git_clone_into()`
Diffstat (limited to 'tests/network')
| -rw-r--r-- | tests/network/fetchlocal.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/network/fetchlocal.c b/tests/network/fetchlocal.c index 4c39394bb..0d23bef48 100644 --- a/tests/network/fetchlocal.c +++ b/tests/network/fetchlocal.c @@ -86,3 +86,29 @@ void test_network_fetchlocal__partial(void) git_strarray_free(&refnames); git_remote_free(origin); } + +void test_network_fetchlocal__clone_into_mirror(void) +{ + git_buf path = GIT_BUF_INIT; + git_repository *repo; + git_remote *remote; + git_reference *head; + + cl_git_pass(git_repository_init(&repo, "./foo.git", true)); + cl_git_pass(git_remote_create(&remote, repo, "origin", cl_git_fixture_url("testrepo.git"))); + + git_remote_clear_refspecs(remote); + cl_git_pass(git_remote_add_fetch(remote, "+refs/*:refs/*")); + + cl_git_pass(git_clone_into(repo, remote, NULL, NULL, NULL)); + + cl_git_pass(git_reference_lookup(&head, repo, "HEAD")); + cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head)); + cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head)); + + git_remote_free(remote); + git_reference_free(head); + git_repository_free(repo); + git_buf_free(&path); + cl_fixture_cleanup("./foo.git"); +} |
