@@ -356,19 +356,19 @@ private void CreateOrUpdateLocalBranchesFromRemoteTrackingOnes(string remoteName
356
356
}
357
357
}
358
358
359
- public void EnsureLocalBranchExistsForCurrentBranch ( IRemote ? remote , string ? currentBranch )
359
+ public void EnsureLocalBranchExistsForCurrentBranch ( IRemote remote , string ? currentBranch )
360
360
{
361
361
remote . NotNull ( ) ;
362
362
363
363
if ( currentBranch . IsNullOrEmpty ( ) ) return ;
364
364
365
- var isRef = currentBranch . Contains ( "refs" ) ;
366
- var isBranch = currentBranch . Contains ( "refs/heads" ) ;
367
- var localCanonicalName = ! isRef
368
- ? "refs/heads/" + currentBranch
369
- : isBranch
365
+ var referencePrefix = "refs/" ;
366
+ var isLocalBranch = currentBranch . StartsWith ( ReferenceName . LocalBranchPrefix ) ;
367
+ var localCanonicalName = ! currentBranch . StartsWith ( referencePrefix )
368
+ ? ReferenceName . LocalBranchPrefix + currentBranch
369
+ : isLocalBranch
370
370
? currentBranch
371
- : currentBranch . Replace ( "refs/" , "refs/heads/" ) ;
371
+ : ReferenceName . LocalBranchPrefix + currentBranch [ referencePrefix . Length .. ] ;
372
372
373
373
var repoTip = this . repository . Head . Tip ;
374
374
@@ -387,14 +387,14 @@ public void EnsureLocalBranchExistsForCurrentBranch(IRemote? remote, string? cur
387
387
var referenceName = ReferenceName . Parse ( localCanonicalName ) ;
388
388
if ( this . repository . Branches . All ( b => ! b . Name . Equals ( referenceName ) ) )
389
389
{
390
- this . log . Info ( isBranch
390
+ this . log . Info ( isLocalBranch
391
391
? $ "Creating local branch { referenceName } "
392
392
: $ "Creating local branch { referenceName } pointing at { repoTipId } ") ;
393
393
this . repository . Refs . Add ( localCanonicalName , repoTipId . Sha ) ;
394
394
}
395
395
else
396
396
{
397
- this . log . Info ( isBranch
397
+ this . log . Info ( isLocalBranch
398
398
? $ "Updating local branch { referenceName } to point at { repoTipId } "
399
399
: $ "Updating local branch { referenceName } to match ref { currentBranch } ") ;
400
400
var localRef = this . repository . Refs [ localCanonicalName ] ;
0 commit comments