Skip to content

Commit 7ff3d29

Browse files
committed
Remove some code duplication
1 parent 587cf54 commit 7ff3d29

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

LibGit2Sharp/Network.cs

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,9 @@ public virtual IEnumerable<DirectReference> ListReferences(Remote remote, Creden
6969
{
7070
Ensure.ArgumentNotNull(remote, "remote");
7171

72-
using (RemoteSafeHandle remoteHandle = Proxy.git_remote_lookup(repository.Handle, remote.Name, true))
72+
using (RemoteSafeHandle remoteHandle = BuildRemoteSafeHandle(repository.Handle, remote.Name))
7373
{
74-
var gitCallbacks = new GitRemoteCallbacks { version = 1 };
75-
76-
if (credentialsProvider != null)
77-
{
78-
var callbacks = new RemoteCallbacks(credentialsProvider);
79-
gitCallbacks = callbacks.GenerateCallbacks();
80-
}
81-
82-
Proxy.git_remote_connect(remoteHandle, GitDirection.Fetch, ref gitCallbacks);
83-
return Proxy.git_remote_ls(repository, remoteHandle);
74+
return ListReferences(remoteHandle, credentialsProvider);
8475
}
8576
}
8677

@@ -116,19 +107,24 @@ public virtual IEnumerable<DirectReference> ListReferences(string url, Credentia
116107
{
117108
Ensure.ArgumentNotNull(url, "url");
118109

119-
using (RemoteSafeHandle remoteHandle = Proxy.git_remote_create_anonymous(repository.Handle, url))
110+
using (RemoteSafeHandle remoteHandle = BuildRemoteSafeHandle(repository.Handle, url))
120111
{
121-
GitRemoteCallbacks gitCallbacks = new GitRemoteCallbacks { version = 1 };
112+
return ListReferences(remoteHandle, credentialsProvider);
113+
}
114+
}
122115

123-
if (credentialsProvider != null)
124-
{
125-
var callbacks = new RemoteCallbacks(credentialsProvider);
126-
gitCallbacks = callbacks.GenerateCallbacks();
127-
}
116+
private IEnumerable<DirectReference> ListReferences(RemoteSafeHandle remoteHandle, CredentialsHandler credentialsProvider)
117+
{
118+
GitRemoteCallbacks gitCallbacks = new GitRemoteCallbacks { version = 1 };
128119

129-
Proxy.git_remote_connect(remoteHandle, GitDirection.Fetch, ref gitCallbacks);
130-
return Proxy.git_remote_ls(repository, remoteHandle);
120+
if (credentialsProvider != null)
121+
{
122+
var callbacks = new RemoteCallbacks(credentialsProvider);
123+
gitCallbacks = callbacks.GenerateCallbacks();
131124
}
125+
126+
Proxy.git_remote_connect(remoteHandle, GitDirection.Fetch, ref gitCallbacks);
127+
return Proxy.git_remote_ls(repository, remoteHandle);
132128
}
133129

134130
static RemoteSafeHandle BuildRemoteSafeHandle(RepositorySafeHandle repoHandle, Remote remote)

0 commit comments

Comments
 (0)