Skip to content

Commit 6e7ec4f

Browse files
authored
Merge pull request #1281 from dotnet/1280-inherited-versionjson-changed-unexpectedly-by-nbgv-prepare-release
Fix `nbgv prepare-release` command to honor inheriting version.json files
2 parents ead5232 + a700035 commit 6e7ec4f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/NerdBank.GitVersioning/ReleaseManager.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,9 @@ private void UpdateVersion(LibGit2Context context, SemanticVersion oldVersion, S
270270
Requires.NotNull(context, nameof(context));
271271

272272
Signature signature = this.GetSignature(context.Repository);
273-
VersionOptions versionOptions = context.VersionFile.GetVersion();
273+
274+
// Retrieve the version options carefully to avoid 'flattening' an inheriting version.json file.
275+
VersionOptions versionOptions = context.VersionFile.GetVersion(VersionFileRequirements.NonMergedResult | VersionFileRequirements.VersionSpecified | VersionFileRequirements.AcceptInheritingFile, out VersionFileLocations locations);
274276

275277
if (IsVersionDecrement(oldVersion, newVersion))
276278
{
@@ -288,7 +290,7 @@ private void UpdateVersion(LibGit2Context context, SemanticVersion oldVersion, S
288290
}
289291

290292
versionOptions.Version = newVersion;
291-
string filePath = context.VersionFile.SetVersion(context.AbsoluteProjectDirectory, versionOptions, includeSchemaProperty: true);
293+
string filePath = context.VersionFile.SetVersion(locations.VersionSpecifyingVersionDirectory, versionOptions, includeSchemaProperty: true);
292294

293295
global::LibGit2Sharp.Commands.Stage(context.Repository, filePath);
294296

src/nbgv/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ private static Task<int> OnPrepareReleaseCommand(string project, string nextVers
912912
VersionOptions.ReleaseVersionIncrement? versionIncrementParsed = default;
913913
if (!string.IsNullOrEmpty(versionIncrement))
914914
{
915-
if (!Enum.TryParse<VersionOptions.ReleaseVersionIncrement>(versionIncrement, true, out VersionOptions.ReleaseVersionIncrement parsed))
915+
if (!Enum.TryParse(versionIncrement, true, out VersionOptions.ReleaseVersionIncrement parsed))
916916
{
917917
Console.Error.WriteLine($"\"{versionIncrement}\" is not a valid version increment");
918918
return Task.FromResult((int)ExitCodes.InvalidVersionIncrement);

0 commit comments

Comments
 (0)