Skip to content

Commit 0f027ae

Browse files
committed
cleanup
1 parent aa273df commit 0f027ae

File tree

3 files changed

+21
-27
lines changed

3 files changed

+21
-27
lines changed
+5-19
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Linq;
34
using GitVersion.Helpers;
45

56
namespace GitVersion
@@ -11,7 +12,7 @@ internal sealed class Commit : ICommit
1112

1213
private readonly LibGit2Sharp.Commit innerCommit;
1314

14-
internal Commit(LibGit2Sharp.Commit objectId) => innerCommit = objectId;
15+
internal Commit(LibGit2Sharp.Commit innerCommit) => this.innerCommit = innerCommit;
1516

1617
public int CompareTo(ICommit other) => comparerHelper.Compare(this, other);
1718
public override bool Equals(object obj) => Equals((obj as ICommit)!);
@@ -20,29 +21,14 @@ internal sealed class Commit : ICommit
2021

2122
public static implicit operator LibGit2Sharp.Commit(Commit d) => d.innerCommit;
2223

23-
public IEnumerable<ICommit?> Parents
24-
{
25-
get
26-
{
27-
if (innerCommit == null) yield return null;
28-
else
29-
foreach (var parent in innerCommit.Parents)
30-
yield return new Commit(parent);
31-
}
32-
}
24+
public IEnumerable<ICommit> Parents => innerCommit.Parents.Select(parent => new Commit(parent));
3325

3426
public string Sha => innerCommit.Sha;
3527

36-
public IObjectId? Id
37-
{
38-
get
39-
{
40-
var objectId = innerCommit.Id;
41-
return objectId is null ? null : new ObjectId(objectId);
42-
}
43-
}
28+
public IObjectId Id => new ObjectId(innerCommit.Id);
4429

4530
public DateTimeOffset When => innerCommit.Committer.When;
31+
4632
public string Message => innerCommit.Message;
4733
}
4834
}

src/GitVersion.LibGit2Sharp/Git/GitRepositoryInfo.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,17 @@ public GitRepositoryInfo(IOptions<GitVersionOptions> options)
6262

6363
private string? GetDotGitDirectory()
6464
{
65-
var _dotGitDirectory = !string.IsNullOrWhiteSpace(DynamicGitRepositoryPath)
65+
var gitDirectory = !string.IsNullOrWhiteSpace(DynamicGitRepositoryPath)
6666
? DynamicGitRepositoryPath
6767
: GitRepository.Discover(gitVersionOptions.WorkingDirectory);
6868

69-
_dotGitDirectory = _dotGitDirectory?.TrimEnd('/', '\\');
70-
if (string.IsNullOrEmpty(_dotGitDirectory))
69+
gitDirectory = gitDirectory?.TrimEnd('/', '\\');
70+
if (string.IsNullOrEmpty(gitDirectory))
7171
throw new DirectoryNotFoundException("Cannot find the .git directory");
7272

73-
return _dotGitDirectory is null ? null : _dotGitDirectory.Contains(Path.Combine(".git", "worktrees"))
74-
? Directory.GetParent(Directory.GetParent(_dotGitDirectory).FullName).FullName
75-
: _dotGitDirectory;
73+
return gitDirectory is null ? null : gitDirectory.Contains(Path.Combine(".git", "worktrees"))
74+
? Directory.GetParent(Directory.GetParent(gitDirectory).FullName).FullName
75+
: gitDirectory;
7676
}
7777

7878
private string GetProjectRootDirectory()

src/GitVersion.LibGit2Sharp/Git/ReferenceCollection.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,16 @@ public void UpdateTarget(IReference directRef, IObjectId targetId)
2525
}
2626

2727
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
28-
public IReference this[string name] => new Reference(innerCollection[name]);
29-
public IReference Head => this["HEAD"];
28+
public IReference? this[string name]
29+
{
30+
get
31+
{
32+
var branch = innerCollection[name];
33+
return branch is null ? null : new Reference(branch);
34+
}
35+
}
36+
37+
public IReference? Head => this["HEAD"];
3038

3139
public IEnumerable<IReference> FromGlob(string pattern)
3240
{

0 commit comments

Comments
 (0)