Summary
nova bump does not infer the correct semantic version when the project lives under a parent Git repository and the project directory itself does not contain .git.
In that layout, Git commands like git status and git log work normally from the project directory because Git resolves the repository from a parent folder. nova bump appears to require .git directly in the project root instead, so it falls back to Patch with Commits: 0 even when the commit history contains a breaking-change commit.
Steps to reproduce
- Use a project directory that contains
project.json but is nested under a parent Git repository.
- Make sure the project directory itself does not contain
.git, while Git still works there through the parent repo.
- Use a prerelease version such as
1.5.4-preview in project.json.
- Ensure the reachable commit history contains a breaking-change commit such as
feat!:.
- Run:
- Compare the result with Git commands from the same folder:
git rev-parse --show-toplevel
git log --oneline
Expected behavior
nova bump should resolve the Git repository the same way Git does when run from a nested project directory.
If Git can identify the parent repository and the reachable commit set includes a breaking-change commit, Nova should use that commit set for bump inference and plan the correct semantic version instead of falling back to Patch.
For this case, the expected planned version is a major bump rather than finalizing 1.5.4-preview to 1.5.4.
Actual behavior
Nova reports a patch finalization with zero commits:
What if: Performing the operation "Update module version using Patch release label" on target "project.json".
Version plan: 1.5.4-preview -> 1.5.4 | Label: Patch | Commits: 0
At the same time, Git clearly resolves the parent repository and the log contains breaking-change commits.
NovaModuleTools version
2.3.0
Where did you hit the issue?
nova CLI
Command or cmdlet
nova bump -w
Relevant output or logs
PWD: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools/AzureDevOpsAgentInstaller
DIRECT .git: no
GIT TOPLEVEL: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools
GIT DIR: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools/.git
What if: Performing the operation "Update module version using Patch release label" on target "project.json".
Version plan: 1.5.4-preview -> 1.5.4 | Label: Patch | Commits: 0
Relevant commits visible from the same folder include:
e210361fc2 feat!: Updating AzureDevOpsAgentInstaller with Powershell Module architecture
Relevant project.json snippet
{
"Version": "1.5.4-preview"
}
Operating system
macOS 26.4.1
PowerShell version
7.5.4
Shell
PowerShell
Installation method
Installed nova launcher
Regression?
Not sure
Additional context
This issue is about repository detection for bump inference.
The current behavior is risky because Nova silently produces a plausible but incorrect patch plan instead of using the same repository resolution model that Git uses from the same working directory.
I searched existing issues and did not find an existing bug report for this parent-repository detection case.
Summary
nova bumpdoes not infer the correct semantic version when the project lives under a parent Git repository and the project directory itself does not contain.git.In that layout, Git commands like
git statusandgit logwork normally from the project directory because Git resolves the repository from a parent folder.nova bumpappears to require.gitdirectly in the project root instead, so it falls back toPatchwithCommits: 0even when the commit history contains a breaking-change commit.Steps to reproduce
project.jsonbut is nested under a parent Git repository..git, while Git still works there through the parent repo.1.5.4-previewinproject.json.feat!:.nova bump -wExpected behavior
nova bumpshould resolve the Git repository the same way Git does when run from a nested project directory.If Git can identify the parent repository and the reachable commit set includes a breaking-change commit, Nova should use that commit set for bump inference and plan the correct semantic version instead of falling back to
Patch.For this case, the expected planned version is a major bump rather than finalizing
1.5.4-previewto1.5.4.Actual behavior
Nova reports a patch finalization with zero commits:
At the same time, Git clearly resolves the parent repository and the log contains breaking-change commits.
NovaModuleTools version
2.3.0
Where did you hit the issue?
nova CLI
Command or cmdlet
nova bump -wRelevant output or logs
Relevant commits visible from the same folder include:
Relevant
project.jsonsnippet{ "Version": "1.5.4-preview" }Operating system
macOS 26.4.1
PowerShell version
7.5.4
Shell
PowerShell
Installation method
Installed nova launcher
Regression?
Not sure
Additional context
This issue is about repository detection for bump inference.
The current behavior is risky because Nova silently produces a plausible but incorrect patch plan instead of using the same repository resolution model that Git uses from the same working directory.
I searched existing issues and did not find an existing bug report for this parent-repository detection case.