diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-03 21:47:53 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-03 21:47:53 +0200 |
commit | 18d7896cb00b9a4abe55cb461e12db4813e6a59e (patch) | |
tree | e701c6bfee7bc851280a0130463ee98c44dc8faf /src/transports/local.c | |
parent | bccb36ebf9d950f7562153d9e9ef9a3678e72516 (diff) | |
download | libgit2-18d7896cb00b9a4abe55cb461e12db4813e6a59e.tar.gz |
clone: re-use the local transport's path resolutioncmn/path-to-path
Whe already worked out the kinks with the function used in the local
transport. Expose it and make use of it in the local clone method
instead of trying to work it out again.
Diffstat (limited to 'src/transports/local.c')
-rw-r--r-- | src/transports/local.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/src/transports/local.c b/src/transports/local.c index 038337d72..f859f0b70 100644 --- a/src/transports/local.c +++ b/src/transports/local.c @@ -175,24 +175,6 @@ on_error: return -1; } -static int path_from_url_or_path(git_buf *local_path_out, const char *url_or_path) -{ - int error; - - /* If url_or_path begins with file:// treat it as a URL */ - if (!git__prefixcmp(url_or_path, "file://")) { - if ((error = git_path_fromurl(local_path_out, url_or_path)) < 0) { - return error; - } - } else { /* We assume url_or_path is already a path */ - if ((error = git_buf_sets(local_path_out, url_or_path)) < 0) { - return error; - } - } - - return 0; -} - /* * Try to open the url as a git directory. The direction doesn't * matter in this case because we're calculating the heads ourselves. @@ -222,7 +204,7 @@ static int local_connect( t->flags = flags; /* 'url' may be a url or path; convert to a path */ - if ((error = path_from_url_or_path(&buf, url)) < 0) { + if ((error = git_path_from_url_or_path(&buf, url)) < 0) { git_buf_free(&buf); return error; } @@ -386,7 +368,7 @@ static int local_push( size_t j; /* 'push->remote->url' may be a url or path; convert to a path */ - if ((error = path_from_url_or_path(&buf, push->remote->url)) < 0) { + if ((error = git_path_from_url_or_path(&buf, push->remote->url)) < 0) { git_buf_free(&buf); return error; } |