Skip to content

Commit f430ff6

Browse files
authored
Merge pull request #4804 from jakublatkowski/feature/baseversion
Expose VersionSourceSemVer as Output Variable
2 parents 767d4bf + 10c6716 commit f430ff6

42 files changed

Lines changed: 164 additions & 103 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/input/docs/reference/variables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ what is available. For the `release/3.0.0` branch of GitVersion it shows:
3232
"EscapedBranchName": "release-3.022.011",
3333
"Sha": "28c853159a46b5a87e6cc9c4f6e940c59d6bc68a",
3434
"ShortSha": "28c8531",
35+
"VersionSourceSemVer": "3.22.11",
3536
"VersionSourceSha": "28c853159a46b5a87e6cc9c4f6e940c59d6bc68a",
3637
"CommitsSinceVersionSource": 7,
3738
"VersionSourceDistance": 7,
@@ -65,6 +66,7 @@ Each property of the above JSON document is described in the below table.
6566
| `EscapedBranchName` | Equal to `BranchName`, but with `/` replaced with `-`. |
6667
| `Sha` | The SHA of the Git commit. |
6768
| `ShortSha` | The `Sha` limited to 7 characters. |
69+
| `VersionSourceSemVer` | The semantic version of the commit used as version source. |
6870
| `VersionSourceSha` | The SHA of the commit used as version source. |
6971
| `CommitsSinceVersionSource` | (Deprecated: use `VersionSourceDistance` instead) The number of commits since the version source. |
7072
| `VersionSourceDistance` | The number of commits since the version source. |

src/GitVersion.Core.Tests/CommitDateTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public void CommitDateFormatTest(string format, string expectedOutcome)
1515
{
1616
var date = new DateTime(2017, 10, 6);
1717
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(
18+
new SemanticVersion(1, 2, 2),
1819
"950d2f830f5a2af12a6779a48d20dcbb02351f25",
1920
0,
2021
MainBranch,

src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class GitVersionExecutorTests : TestBase
4848
"ShortSha": "dd2a29af",
4949
"UncommittedChanges": 0,
5050
"VersionSourceDistance": 19,
51+
"VersionSourceSemVer": "4.10.2",
5152
"VersionSourceSha": "4.10.2",
5253
"WeightedPreReleaseNumber": 19
5354
}
@@ -420,6 +421,7 @@ public void CalculateVersionFromWorktreeHead()
420421

421422
// Verify
422423
version.SemVer.ShouldBe("1.0.0");
424+
version.VersionSourceSemVer.ShouldBe("1.0.0");
423425
var commits = worktreeFixture.Repository.Head.Commits;
424426
version.Sha.ShouldBe(commits.First().Sha);
425427
}
@@ -483,6 +485,7 @@ public void CalculateVersionVariables_TwoBranchHasSameCommitHeadDetachedAndTagge
483485

484486
// Verify
485487
version.SemVer.ShouldBe("1.0.1");
488+
version.VersionSourceSemVer.ShouldBe("1.0.1");
486489
var commits = worktreeFixture.Repository.Head.Commits;
487490
version.Sha.ShouldBe(commits.First().Sha);
488491
}
@@ -578,6 +581,7 @@ public void CalculateVersionVariables_WithLimitedCloneDepth_AndAllowShallowTrue_
578581
// Verify that the correct commit is used
579582
version.Sha.ShouldBe(latestCommit.Sha);
580583
version.MajorMinorPatch.ShouldBe("2.0.0");
584+
version.VersionSourceSemVer.ShouldBe("1.0.0");
581585

582586
// Verify repository is still recognized as shallow
583587
var repository = this.sp.GetRequiredService<IGitRepository>();

src/GitVersion.Core.Tests/Helpers/TestableGitVersionVariables.cs

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,31 @@
22

33
namespace GitVersion.Core.Tests.Helpers;
44

5-
internal record TestableGitVersionVariables() : GitVersionVariables("",
6-
"",
7-
"",
8-
"",
9-
"",
10-
"",
11-
"",
12-
"",
13-
"",
14-
"",
15-
"",
16-
"",
17-
"",
18-
"",
19-
"",
20-
"",
21-
"",
22-
"",
23-
"",
24-
"",
25-
"",
26-
"",
27-
"",
28-
"",
29-
"",
30-
"");
5+
internal record TestableGitVersionVariables() : GitVersionVariables(
6+
Major: "",
7+
Minor: "",
8+
Patch: "",
9+
BuildMetaData: "",
10+
FullBuildMetaData: "",
11+
BranchName: "",
12+
EscapedBranchName: "",
13+
Sha: "",
14+
ShortSha: "",
15+
MajorMinorPatch: "",
16+
SemVer: "",
17+
FullSemVer: "",
18+
AssemblySemVer: "",
19+
AssemblySemFileVer: "",
20+
PreReleaseTag: "",
21+
PreReleaseTagWithDash: "",
22+
PreReleaseLabel: "",
23+
PreReleaseLabelWithDash: "",
24+
PreReleaseNumber: "",
25+
WeightedPreReleaseNumber: "",
26+
InformationalVersion: "",
27+
CommitDate: "",
28+
VersionSourceSemVer: "",
29+
VersionSourceSha: "",
30+
CommitsSinceVersionSource: "",
31+
VersionSourceDistance: "",
32+
UncommittedChanges: "");

src/GitVersion.Core.Tests/VersionCalculation/Approved/JsonVersionBuilderTests.Json.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "1.1.2",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 4
2829
}

src/GitVersion.Core.Tests/VersionCalculation/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForFeatureBranch.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 0
2829
}

src/GitVersion.Core.Tests/VersionCalculation/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForFeatureBranchWithCustomAssemblyInfoFormat.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 0
2829
}

src/GitVersion.Core.Tests/VersionCalculation/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForPreRelease.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 4
2829
}

src/GitVersion.Core.Tests/VersionCalculation/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForStable.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 0
2829
}

src/GitVersion.Core.Tests/VersionCalculation/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeploymentModeForMainBranchWithEmptyLabel.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"ShortSha": "commitShortSha",
2424
"UncommittedChanges": 0,
2525
"VersionSourceDistance": 5,
26+
"VersionSourceSemVer": "",
2627
"VersionSourceSha": "versionSourceSha",
2728
"WeightedPreReleaseNumber": 55009
2829
}

0 commit comments

Comments
 (0)