Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin using reason leads to wrong error message #3420

Open
6 tasks done
Bluejanis opened this issue Apr 16, 2024 · 4 comments
Open
6 tasks done

Pin using reason leads to wrong error message #3420

Bluejanis opened this issue Apr 16, 2024 · 4 comments

Comments

@Bluejanis
Copy link

Bluejanis commented Apr 16, 2024

Checklist

  • I confirm there are no unresolved issues reported on the Chocolatey Status page.
  • I have verified this is the correct repository for opening this issue.
  • I have verified no other issues exist related to my problem.
  • I have verified this is not an issue for a specific package.
  • I have verified this issue is not security related.
  • I confirm I am using official, and not unofficial, or modified, Chocolatey products.

What You Are Seeing?

A single pin command must be listed. Please see the help menu for those commands

What is Expected?

Adding the pin or an error why it did nor work.

How Did You Get This To Happen?

I wanted to add a pin for a package like the documentation said:

choco pin add --name="'ums'" --version="'13.8.0'" --reason="'choco v14.0 is a beta version'"

This did not work, but showed the following error:
A single pin command must be listed. Please see the help menu for those commands
Well the help menu is where I got the commands from, so it was very confusing.

After some experimentaion I realized its because of the reason option. Leaving only that part out and it worked.

Back to the help page I noticed the original reason said something like "reasons available in business editions only", which I did not even read. It seemed like an example text, so why bother reading. I replaced it without thinking twice with my own text. Its probably not just an example text, but the reason the command failed I assume. So maybe that would be a good error message when using it anyways.

System Details

  • Operating System: Windows 10
  • Windows PowerShell version: 5.1.19041.4239
  • Chocolatey CLI Version: v2.2.2
  • Chocolatey Licensed Extension version: ?
  • Chocolatey License type: Community
  • Terminal/Emulator: PowerShell

Installed Packages

chocolatey 2.2.2
chocolatey-compatibility.extension 1.0.0
chocolatey-core.extension 1.4.0
chocolatey-dotnetfx.extension 1.0.1
chocolatey-misc-helpers.extension 0.0.4
chocolatey-visualstudio.extension 1.11.1
chocolatey-windowsupdate.extension 1.0.5
ums 13.8.0
[...]

Output Log

PS C:\WINDOWS\system32> choco pin add --name="'ums'" --version="'13.8.0'" --reason="'choco v14.0 is a beta version'" --debug --verbose
Chocolatey v2.2.2
Chocolatey is running on Windows v 10.0.19045.0
Attempting to delete file "C:/ProgramData/chocolatey/choco.exe.old".
Attempting to delete file "C:\ProgramData\chocolatey\choco.exe.old".
Command line: "C:\ProgramData\chocolatey\choco.exe" pin add --name='ums' --version='13.8.0' "--reason='choco v14.0 is a beta version'" --debug --verbose
Received arguments: pin add --name='ums' --version='13.8.0' --reason='choco v14.0 is a beta version' --debug --verbose
RemovePendingPackagesTask is now ready and waiting for PreRunMessage.
Sending message 'PreRunMessage' out if there are subscribers...
[Pending] Removing all pending packages that should not be considered installed...
Sending message 'PostRunMessage' out if there are subscribers...
Chocolatey had an error occur:
System.ApplicationException: A single pin command must be listed. Please see the help menu for those commands
   bei chocolatey.infrastructure.app.commands.ChocolateyPinCommand.ParseAdditionalArguments(IList`1 unparsedArguments, ChocolateyConfiguration configuration)
   bei chocolatey.infrastructure.app.runners.ConsoleApplication.<>c__DisplayClass0_1.<Run>b__5(IList`1 unparsedArgs)
   bei chocolatey.infrastructure.app.configuration.ConfigurationOptions.ParseArgumentsAndUpdateConfiguration(ICollection`1 args, ChocolateyConfiguration configuration, Action`1 setOptions, Action`1 afterParse, Action validateConfiguration, Action helpMessage)
   bei chocolatey.infrastructure.app.runners.ConsoleApplication.<>c__DisplayClass0_0.<Run>b__3(ICommand command)
   bei chocolatey.infrastructure.app.runners.GenericRunner.FindCommand(ChocolateyConfiguration config, Container container, Boolean isConsole, Action`1 parseArgs)
   bei chocolatey.infrastructure.app.runners.GenericRunner.Run(ChocolateyConfiguration config, Container container, Boolean isConsole, Action`1 parseArgs)
   bei chocolatey.infrastructure.app.runners.ConsoleApplication.Run(String[] args, ChocolateyConfiguration config, Container container)
   bei chocolatey.console.Program.Main(String[] args)
Exiting with 1

Additional Context

I would also suggest to add a highlight to the wrong parameter in the help page and command help.

@Bluejanis Bluejanis added the Bug label Apr 16, 2024
@pauby
Copy link
Member

pauby commented Apr 16, 2024

Is the example text on this page? For example:

choco pin add --name="'git'" --version="'1.2.3'" --reason="'reasons available in business editions only'"

To have Chocolatey CLI ignore unavailable options, enable the ignoreInvalidOptionsSwitches feature.

Copy link

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?
This issue will be closed in 14 days if it continues to be inactive.

@github-actions github-actions bot added the Pending Closure This issue has been marked as having no response or is stale and will soon be closed. label May 18, 2024
@tbeckenhauer
Copy link

This is still a valid issue.

@pauby
Copy link
Member

pauby commented May 24, 2024

@tbeckenhauer this issue is waiting on a response to the last comment. Without that, it will be closed.

@github-actions github-actions bot removed the Pending Closure This issue has been marked as having no response or is stale and will soon be closed. label May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants