Skip to content

Commit 1f963ea

Browse files
committed
Tag proxy
1 parent c1f6779 commit 1f963ea

File tree

5 files changed

+23
-7
lines changed

5 files changed

+23
-7
lines changed

src/GitVersionCore.Tests/Mocks/MockTag.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using LibGit2Sharp;
2+
using Tag = GitVersion.Tag;
23

34
namespace GitVersionCore.Tests.Mocks
45
{

src/GitVersionCore.Tests/Mocks/MockTagCollection.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System.Collections.Generic;
2-
using LibGit2Sharp;
3-
using TagCollection = GitVersion.TagCollection;
2+
using GitVersion;
43

54
namespace GitVersionCore.Tests.Mocks
65
{

src/GitVersionCore/Core/Abstractions/IRepositoryMetadataProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using GitVersion.Model.Configuration;
44
using GitVersion.VersionCalculation;
5-
using LibGit2Sharp;
65

76
namespace GitVersion.Common
87
{

src/GitVersionCore/Core/GitModel.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,24 @@
66

77
namespace GitVersion
88
{
9+
public class Tag
10+
{
11+
private readonly LibGit2Sharp.Tag innerTag;
12+
private Tag(LibGit2Sharp.Tag tag)
13+
{
14+
innerTag = tag;
15+
}
16+
17+
protected Tag()
18+
{
19+
}
20+
public static implicit operator LibGit2Sharp.Tag(Tag d) => d?.innerTag;
21+
public static explicit operator Tag(LibGit2Sharp.Tag b) => b is null ? null : new Tag(b);
22+
23+
public virtual GitObject Target => innerTag?.Target;
24+
public virtual string FriendlyName => innerTag?.FriendlyName;
25+
public virtual TagAnnotation Annotation => innerTag?.Annotation;
26+
}
927
public class Commit
1028
{
1129
private static readonly LambdaEqualityHelper<Commit> equalityHelper =
@@ -119,12 +137,12 @@ protected TagCollection()
119137

120138
public virtual IEnumerator<Tag> GetEnumerator()
121139
{
122-
foreach (var branch in innerCollection)
123-
yield return branch;
140+
foreach (var tag in innerCollection)
141+
yield return (Tag)tag;
124142
}
125143

126144
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
127-
public virtual Tag this[string name] => innerCollection[name];
145+
public virtual Tag this[string name] => (Tag)innerCollection[name];
128146
}
129147

130148
public class ReferenceCollection : IEnumerable<Reference>

src/GitVersionCore/VersionCalculation/BaseVersionCalculators/TaggedCommitVersionStrategy.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using System.Linq;
44
using GitVersion.Common;
55
using GitVersion.Extensions;
6-
using LibGit2Sharp;
76

87
namespace GitVersion.VersionCalculation
98
{

0 commit comments

Comments
 (0)