Skip to content

Commit a5eeb97

Browse files
committed
Added some debug messages
1 parent 4b4438f commit a5eeb97

File tree

4 files changed

+40
-17
lines changed

4 files changed

+40
-17
lines changed

src/GitVersionCore/GitRepoMetadataProvider.cs

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,29 @@ public IEnumerable<SemanticVersion> GetVersionTagsOnBranch(Branch branch, IRepos
2727
{
2828
if (semanticVersionTagsOnBranchCache.ContainsKey(branch))
2929
{
30+
Logger.WriteDebug(string.Format("Cache hit for version tags on branch '{0}", branch.CanonicalName));
3031
return semanticVersionTagsOnBranchCache[branch];
3132
}
32-
var tags = repository.Tags.Select(t => t).ToList();
3333

34-
var versionTags = repository.Commits.QueryBy(new CommitFilter
34+
using (Logger.IndentLog(string.Format("Getting version tags from branch '{0}'.", branch.CanonicalName)))
3535
{
36-
IncludeReachableFrom = branch.Tip
37-
})
38-
.SelectMany(c => tags.Where(t => c.Sha == t.Target.Sha).SelectMany(t =>
39-
{
40-
SemanticVersion semver;
41-
if (SemanticVersion.TryParse(t.FriendlyName, tagPrefixRegex, out semver))
42-
return new[] { semver };
43-
return new SemanticVersion[0];
44-
})).ToList();
45-
46-
semanticVersionTagsOnBranchCache.Add(branch, versionTags);
47-
return versionTags;
36+
var tags = repository.Tags.Select(t => t).ToList();
37+
38+
var versionTags = repository.Commits.QueryBy(new CommitFilter
39+
{
40+
IncludeReachableFrom = branch.Tip
41+
})
42+
.SelectMany(c => tags.Where(t => c.Sha == t.Target.Sha).SelectMany(t =>
43+
{
44+
SemanticVersion semver;
45+
if (SemanticVersion.TryParse(t.FriendlyName, tagPrefixRegex, out semver))
46+
return new[] { semver };
47+
return new SemanticVersion[0];
48+
})).ToList();
49+
50+
semanticVersionTagsOnBranchCache.Add(branch, versionTags);
51+
return versionTags;
52+
}
4853
}
4954

5055
// TODO Should we cache this?
@@ -54,7 +59,7 @@ public IEnumerable<Branch> GetBranchesContainingCommit([NotNull] Commit commit,
5459
{
5560
throw new ArgumentNullException("commit");
5661
}
57-
62+
Logger.WriteDebug("Heh");
5863
using (Logger.IndentLog(string.Format("Getting branches containing the commit '{0}'.", commit.Id)))
5964
{
6065
var directBranchHasBeenFound = false;
@@ -108,6 +113,9 @@ public Commit FindMergeBase(Branch branch, Branch otherBranch, IRepository repos
108113

109114
if (mergeBaseCache.ContainsKey(key))
110115
{
116+
Logger.WriteDebug(string.Format(
117+
"Cache hit for merge base between '{0}' and '{1}'.",
118+
branch.FriendlyName, otherBranch.FriendlyName));
111119
return mergeBaseCache[key].MergeBase;
112120
}
113121

@@ -183,6 +191,9 @@ List<BranchCommit> GetMergeCommitsForBranch(Branch branch)
183191
{
184192
if (mergeBaseCommitsCache.ContainsKey(branch))
185193
{
194+
Logger.WriteDebug(string.Format(
195+
"Cache hit for getting merge commits for branch {0}.",
196+
branch.CanonicalName));
186197
return mergeBaseCommitsCache[branch];
187198
}
188199

src/GitVersionCore/GitVersionCacheKeyFactory.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,15 @@ static List<string> CalculateDirectoryContents(string root)
123123

124124
private static string GetRepositorySnapshotHash(GitPreparer gitPreparer)
125125
{
126-
var repositorySnapshot = gitPreparer.WithRepository(repo => string.Join(":", repo.Head.CanonicalName, repo.Head.Tip.Sha));
126+
var repositorySnapshot = gitPreparer.WithRepository(repo => {
127+
var head = repo.Head;
128+
if (head.Tip == null)
129+
{
130+
return head.CanonicalName;
131+
}
132+
var hash = string.Join(":", head.CanonicalName, head.Tip.Sha);
133+
return hash;
134+
});
127135
return GetHash(repositorySnapshot);
128136
}
129137

src/GitVersionCore/GitVersionFinder.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ public class GitVersionFinder
88
{
99
public SemanticVersion FindVersion(GitVersionContext context)
1010
{
11-
Logger.WriteInfo(string.Format("Running against branch: {0} ({1})", context.CurrentBranch.FriendlyName, context.CurrentCommit.Sha));
11+
Logger.WriteInfo(string.Format(
12+
"Running against branch: {0} ({1})",
13+
context.CurrentBranch.FriendlyName,
14+
context.CurrentCommit == null ? "-" : context.CurrentCommit.Sha));
1215
EnsureMainTopologyConstraints(context);
1316

1417
var filePath = Path.Combine(context.Repository.GetRepositoryDirectory(), "NextVersion.txt");

src/GitVersionTask.Tests/GitVersionTaskDirectoryTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public void Finds_GitDirectory_In_Parent()
6161
}
6262
catch (Exception ex)
6363
{
64+
// TODO I think this test is wrong.. It throws a different exception
6465
// `RepositoryNotFoundException` means that it couldn't find the .git directory,
6566
// any other exception means that the .git was found but there was some other issue that this test doesn't care about.
6667
Assert.IsNotAssignableFrom<RepositoryNotFoundException>(ex);

0 commit comments

Comments
 (0)