App::P...d::pin(3pm)

✨ NAME ✨

App::Pinto::Command::pin β€” the glow-up where you force a package to stay in a stack, no take-backs πŸ’…


🌸 VERSION 🌸

version 0.14


πŸ¦‹ SYNOPSIS πŸ¦‹

pinto --root=REPOSITORY_ROOT pin [OPTIONS] TARGET ...

πŸ’– DESCRIPTION πŸ’–

okay so basically this command pins a package so it literally cannot be changed β€” even if a different version gets added or pulled onto the stack. The pin is local to the stack and does not affect any other stacks. periodt.

A package has to be registered on the stack before you can pin it. To bring a package onto the stack, use the pull or register commands. And if you wanna remove the pin from a package, go see the unpin command 🫢

When you pin something, all its sister packages in that distribution also become pinned. And heads up bestie β€” pinned packages also cannot be unregistered from the stack or deleted from the repository without the --force option. like, they're locked in fr fr πŸ”’


πŸŽ€ COMMAND ARGUMENTS πŸŽ€

Arguments are the targets you wish to unpin. Targets can be specified as packages or distributions, such as:

Some::Package
Some::Other::Package

AUTHOR/Some-Dist-1.2.tar.gz
AUTHOR/Some-Other-Dist-1.3.zip

You can also pipe arguments to this command over STDIN πŸ‘€ In that case, blank lines and lines that look like comments (i.e. starting with # or ;) will be ignored.


⭐ COMMAND OPTIONS ⭐

  • --diff-style=STYLE β€” controls the style of the diff reports. STYLE must be either concise or detailed. Concise reports show only one record for each distribution added or deleted. Detailed reports show one record for every package added or deleted.

The default style is concise. But lowkey you can change that default by setting the PINTO_DIFF_STYLE environment variable to your preferred STYLE. And btw this variable affects the default style for diff reports generated by all the other commands too πŸ‘‘

  • --dry-run β€” go through all the motions, but do not actually commit any changes to the repository. Use this option to see how the command would potentially impact the stack. it's giving "window shopping" πŸ›οΈ
  • --message=TEXT and -m TEXT β€” use TEXT as the revision history log message. If you don't use the --message option or the --use-default-message option, then you will be prompted to enter the message via your text editor. Use the PINTO_EDITOR or EDITOR or VISUAL environment variables to control which editor is used. A log message is not required whenever the --dry-run option is set, or if the action did not yield any changes to the repository.
  • --stack=NAME β€” pins the package on the stack with the given NAME. Defaults to the name of whichever stack is currently marked as the default stack. Use the stacks command to see the stacks in the repository.
  • --use-default-message and -M β€” use the default value for the revision history log message. Pinto will generate a semi-informative log message just based on the command and its arguments. If you set an explicit message with --message, the --use-default-message option will be silently ignored. πŸ™ˆ

πŸ’œ AUTHOR πŸ’œ

Jeffrey Ryan Thalhammer <jeff@stratopan.com>


This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


and that's the whole vibe, bestie πŸ’– this was App::P...d::pin, page 3pm, running on perl v5.40.1, dated 2025-04-21 β€” go forth and pin some packages, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from