@@ -54,7 +54,7 @@ public static void EnsureLocalBranchExistsForCurrentBranch(this IRepository repo
54
54
55
55
var repoTipId = repoTip . Id ;
56
56
57
- if ( repo . Branches . All ( b => b . CanonicalName != localCanonicalName ) )
57
+ if ( repo . Branches . All ( b => ! String . Equals ( b . CanonicalName , localCanonicalName , StringComparison . OrdinalIgnoreCase ) ) )
58
58
{
59
59
log . Info ( isBranch ? $ "Creating local branch { localCanonicalName } "
60
60
: $ "Creating local branch { localCanonicalName } pointing at { repoTipId } ") ;
@@ -142,8 +142,11 @@ public static void CreateOrUpdateLocalBranchesFromRemoteTrackingOnes(this IRepos
142
142
{
143
143
var prefix = $ "refs/remotes/{ remoteName } /";
144
144
var remoteHeadCanonicalName = $ "{ prefix } HEAD";
145
+ var remoteTrackingReferences = repo . Refs
146
+ . FromGlob ( prefix + "*" )
147
+ . Where ( r => ! r . CanonicalName . EquivalentTo ( remoteHeadCanonicalName ) ) ;
145
148
146
- foreach ( var remoteTrackingReference in repo . Refs . FromGlob ( prefix + "*" ) . Where ( r => r . CanonicalName != remoteHeadCanonicalName ) )
149
+ foreach ( var remoteTrackingReference in remoteTrackingReferences )
147
150
{
148
151
var remoteTrackingReferenceName = remoteTrackingReference . CanonicalName ;
149
152
var branchName = remoteTrackingReferenceName . Substring ( prefix . Length ) ;
@@ -152,7 +155,7 @@ public static void CreateOrUpdateLocalBranchesFromRemoteTrackingOnes(this IRepos
152
155
// We do not want to touch our current branch
153
156
if ( branchName == repo . Head . FriendlyName ) continue ;
154
157
155
- if ( repo . Refs . Any ( x => x . CanonicalName == localCanonicalName ) )
158
+ if ( repo . Refs . Any ( x => x . CanonicalName . EquivalentTo ( localCanonicalName ) ) )
156
159
{
157
160
var localRef = repo . Refs [ localCanonicalName ] ;
158
161
var remotedirectReference = remoteTrackingReference . ResolveToDirectReference ( ) ;
0 commit comments