Skip to content

Commit

Permalink
(chocolatey#1760) config exit 2 if nothing to do
Browse files Browse the repository at this point in the history
If enhanced exit codes are enabled, this sets the config command to
exit with 2 if there is nothing to do (i.e. if NOCHANGEMESSAGE is
output).
  • Loading branch information
TheCakeIsNaOH committed Jun 27, 2022
1 parent 1550ce3 commit 118eb6f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,17 @@ Exit codes that normally result from running this command.
Normal:
- 0: operation was successful, no issues detected
- -1 or 1: an error has occurred
- 2: nothing to do, config already set/unset (enhanced)
NOTE: Starting in v0.10.12, if you have the feature '{0}'
turned on, then choco will provide enhanced exit codes that allow
better integration and scripting.
If you find other exit codes that we have not yet documented, please
file a ticket so we can document it at
https://github.com/chocolatey/choco/issues/new/choose.
");
".format_with(ApplicationParameters.Features.UseEnhancedExitCodes));

"chocolatey".Log().Info(ChocolateyLoggers.Important, "See It In Action");
"chocolatey".Log().Info(@"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,11 @@ public void config_set(ChocolateyConfiguration configuration)
if (configuration.ConfigCommand.ConfigValue.is_equal_to(currentValue.to_string()))
{
this.Log().Warn(NO_CHANGE_MESSAGE);

if (configuration.Features.UseEnhancedExitCodes && Environment.ExitCode == 0)
{
Environment.ExitCode = 2;
}
}
else
{
Expand All @@ -458,6 +463,11 @@ public void config_unset(ChocolateyConfiguration configuration)
if (config == null || string.IsNullOrEmpty(config.Value))
{
this.Log().Warn(NO_CHANGE_MESSAGE);

if (configuration.Features.UseEnhancedExitCodes && Environment.ExitCode == 0)
{
Environment.ExitCode = 2;
}
}
else
{
Expand Down

0 comments on commit 118eb6f

Please sign in to comment.