summaryrefslogtreecommitdiff
path: root/examples/network
diff options
context:
space:
mode:
authorKrzysztof Adamski <k@japko.eu>2013-09-01 18:30:11 +0200
committerKrzysztof Adamski <k@japko.eu>2013-09-01 19:00:16 +0200
commitd6d523486c26f8f10cd687fa2aa328c770650288 (patch)
tree257d5b745439a837b8ffec9f0bdefebcc5cef88d /examples/network
parentac2e7dc6fb8edf6338aeed659ea179f0cffc32fd (diff)
downloadlibgit2-d6d523486c26f8f10cd687fa2aa328c770650288.tar.gz
Removing unneeded code duplication in ls-remote.c
Diffstat (limited to 'examples/network')
-rw-r--r--examples/network/ls-remote.c40
1 files changed, 7 insertions, 33 deletions
diff --git a/examples/network/ls-remote.c b/examples/network/ls-remote.c
index 252011828..e837654a1 100644
--- a/examples/network/ls-remote.c
+++ b/examples/network/ls-remote.c
@@ -14,31 +14,6 @@ static int show_ref__cb(git_remote_head *head, void *payload)
return 0;
}
-static int use_unnamed(git_repository *repo, const char *url)
-{
- git_remote *remote = NULL;
- int error;
-
- // Create an instance of a remote from the URL. The transport to use
- // is detected from the URL
- error = git_remote_create_inmemory(&remote, repo, NULL, url);
- if (error < 0)
- goto cleanup;
-
- // When connecting, the underlying code needs to know wether we
- // want to push or fetch
- error = git_remote_connect(remote, GIT_DIRECTION_FETCH);
- if (error < 0)
- goto cleanup;
-
- // With git_remote_ls we can retrieve the advertised heads
- error = git_remote_ls(remote, &show_ref__cb, NULL);
-
-cleanup:
- git_remote_free(remote);
- return error;
-}
-
static int use_remote(git_repository *repo, char *name)
{
git_remote *remote = NULL;
@@ -46,8 +21,12 @@ static int use_remote(git_repository *repo, char *name)
// Find the remote by name
error = git_remote_load(&remote, repo, name);
- if (error < 0)
- goto cleanup;
+ if (error < 0) {
+ error = git_remote_create_inmemory(&remote, repo, NULL, name);
+ if (error < 0)
+ goto cleanup;
+ }
+
error = git_remote_connect(remote, GIT_DIRECTION_FETCH);
if (error < 0)
@@ -72,12 +51,7 @@ int ls_remote(git_repository *repo, int argc, char **argv)
return EXIT_FAILURE;
}
- /* If there's a ':' in the name, assume it's an URL */
- if (strchr(argv[1], ':') != NULL) {
- error = use_unnamed(repo, argv[1]);
- } else {
- error = use_remote(repo, argv[1]);
- }
+ error = use_remote(repo, argv[1]);
return error;
}