diff --git a/GitTfs.Vs2010/GitTfs.Vs2010.csproj b/GitTfs.Vs2010/GitTfs.Vs2010.csproj
index 1cfbeece..6c8a210b 100644
--- a/GitTfs.Vs2010/GitTfs.Vs2010.csproj
+++ b/GitTfs.Vs2010/GitTfs.Vs2010.csproj
@@ -38,7 +38,7 @@
true
bin\Debug\
- TRACE;DEBUG;VS2010
+ DEBUG;TRACE
full
AnyCPU
prompt
@@ -47,7 +47,7 @@
bin\Release\
- TRACE;VS2010
+ TRACE
true
pdbonly
AnyCPU
diff --git a/GitTfs.Vs2010/TfsHelper.Vs2010.cs b/GitTfs.Vs2010/TfsHelper.Vs2010.cs
index 0dbe10d2..e29441f3 100644
--- a/GitTfs.Vs2010/TfsHelper.Vs2010.cs
+++ b/GitTfs.Vs2010/TfsHelper.Vs2010.cs
@@ -1,6 +1,10 @@
+using System;
using System.IO;
+using Microsoft.TeamFoundation.Client;
+using Microsoft.TeamFoundation.Server;
using Sep.Git.Tfs.VsCommon;
using StructureMap;
+using Sep.Git.Tfs.Core.TfsInterop;
namespace Sep.Git.Tfs.Vs2010
{
@@ -20,5 +24,22 @@ namespace Sep.Git.Tfs.Vs2010
}
return vsInstallDir;
}
+
+ private IGroupSecurityService GroupSecurityService
+ {
+ get { return GetService(); }
+ }
+
+ public override IIdentity GetIdentity(string username)
+ {
+ return _bridge.Wrap(Retry.Do(() => GroupSecurityService.ReadIdentity(SearchFactor.AccountName, username, QueryMembership.None)));
+ }
+
+ protected override TfsTeamProjectCollection GetTfsCredential(Uri uri)
+ {
+ return HasCredentials ?
+ new TfsTeamProjectCollection(uri, GetCredential(), new UICredentialsProvider()) :
+ new TfsTeamProjectCollection(uri, new UICredentialsProvider());
+ }
}
}
diff --git a/GitTfs.VsCommon/TfsHelper.Common.cs b/GitTfs.VsCommon/TfsHelper.Common.cs
index 1811334a..f9f40559 100644
--- a/GitTfs.VsCommon/TfsHelper.Common.cs
+++ b/GitTfs.VsCommon/TfsHelper.Common.cs
@@ -7,9 +7,6 @@ using System.Net;
using System.Reflection;
using Microsoft.TeamFoundation;
using Microsoft.TeamFoundation.Client;
-using Microsoft.TeamFoundation.Framework.Client;
-using Microsoft.TeamFoundation.Framework.Common;
-using Microsoft.TeamFoundation.Server;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.Win32;
@@ -28,7 +25,7 @@ namespace Sep.Git.Tfs.VsCommon
public abstract class TfsHelperBase : ITfsHelper
{
protected readonly TextWriter _stdout;
- private readonly TfsApiBridge _bridge;
+ protected readonly TfsApiBridge _bridge;
private readonly IContainer _container;
protected TfsTeamProjectCollection _server;
private static bool _resolverInstalled;
@@ -88,25 +85,16 @@ namespace Sep.Git.Tfs.VsCommon
uri = new Uri(Url);
}
-#if VS2010
- _server = HasCredentials ?
- new TfsTeamProjectCollection(uri, GetCredential(), new UICredentialsProvider()) :
- new TfsTeamProjectCollection(uri, new UICredentialsProvider());
-#else
- _server = new TfsTeamProjectCollection(uri, GetTfsCredential());
-#endif
+ _server = GetTfsCredential(uri);
_server.EnsureAuthenticated();
}
}
-#if !VS2010
- protected TfsClientCredentials GetTfsCredential()
- {
- var basicAuthCredential = new BasicAuthCredential(GetCredential());
- return new TfsClientCredentials(basicAuthCredential) {AllowInteractive = !HasCredentials};
- }
-#endif
+ protected abstract TfsTeamProjectCollection GetTfsCredential(Uri uri);
+
+ public abstract IIdentity GetIdentity(string username);
+
protected NetworkCredential GetCredential()
{
if (!HasCredentials)
@@ -165,18 +153,6 @@ namespace Sep.Git.Tfs.VsCommon
Trace.WriteLine("get [C" + e.Version + "]" + e.ServerItem);
}
-#if VS2010
- private IGroupSecurityService GroupSecurityService
- {
- get { return GetService(); }
- }
-#else
- private IIdentityManagementService GroupSecurityService
- {
- get { return GetService(); }
- }
-#endif
-
private ILinking _linking;
private ILinking Linking
{
@@ -1078,15 +1054,6 @@ namespace Sep.Git.Tfs.VsCommon
return _bridge.Wrap(shelveset);
}
- public IIdentity GetIdentity(string username)
- {
-#if VS2010
- return _bridge.Wrap(Retry.Do(() => GroupSecurityService.ReadIdentity(SearchFactor.AccountName, username, QueryMembership.None)));
-#else
- return _bridge.Wrap(Retry.Do(() => GroupSecurityService.ReadIdentity(IdentitySearchFactor.AccountName, username, MembershipQuery.None, ReadIdentityOptions.None)));
-#endif
- }
-
public Changeset GetLatestChangeset(IGitTfsRemote remote, bool includeChanges)
{
var history = VersionControl.QueryHistory(remote.TfsRepositoryPath, VersionSpec.Latest, 0,
diff --git a/GitTfs.VsCommon/TfsHelper.Vs2012Base.cs b/GitTfs.VsCommon/TfsHelper.Vs2012Base.cs
index 2687f287..5e2c9999 100644
--- a/GitTfs.VsCommon/TfsHelper.Vs2012Base.cs
+++ b/GitTfs.VsCommon/TfsHelper.Vs2012Base.cs
@@ -1,7 +1,11 @@
+using System;
using System.IO;
+using Microsoft.TeamFoundation.Client;
+using Microsoft.TeamFoundation.Framework.Client;
+using Microsoft.TeamFoundation.Framework.Common;
using Microsoft.TeamFoundation.VersionControl.Client;
-using Sep.Git.Tfs.Core;
using StructureMap;
+using Sep.Git.Tfs.Core.TfsInterop;
namespace Sep.Git.Tfs.VsCommon
{
@@ -28,5 +32,21 @@ namespace Sep.Git.Tfs.VsCommon
}
return vsInstallDir;
}
+
+ private IIdentityManagementService GroupSecurityService
+ {
+ get { return GetService(); }
+ }
+
+ public override IIdentity GetIdentity(string username)
+ {
+ return _bridge.Wrap(Retry.Do(() => GroupSecurityService.ReadIdentity(IdentitySearchFactor.AccountName, username, MembershipQuery.None, ReadIdentityOptions.None)));
+ }
+
+ protected override TfsTeamProjectCollection GetTfsCredential(Uri uri)
+ {
+ var basicAuthCredential = new BasicAuthCredential(GetCredential());
+ return new TfsTeamProjectCollection(uri, new TfsClientCredentials(basicAuthCredential) { AllowInteractive = !HasCredentials });
+ }
}
}