App::S...ommand(3pm)

πŸ’– NAME πŸ’–

App::Sqitch::Role::RevertDeployCommand β€” bestie, it's a role for a command that reverts and deploys. Two things. At once. Iconic behaviour honestly. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so here's the whole vibe:

package App::Sqitch::Command::rebase;
extends 'App::Sqitch::Command';
with 'App::Sqitch::Role::RevertDeployCommand';

That's it. That's the whole thing. extends your base, with this role, and suddenly your command has ✨revert-and-deploy powers✨. 🫢


🌸 DESCRIPTION 🌸

So like. This role is the girl who carries all the shared stuff. It encapsulates (cute word, means "bundles up") the common attributes and methods that every command needs if that command does the whole revert-then-deploy dance. Instead of copy-pasting the same logic into every single command like a menace, you just with this role and boom. Shared behaviour, zero duplication. It's giving DRY. It's giving main character. πŸ’…


πŸ‘‘ INTERFACE πŸ‘‘

πŸŽ€ Class Methods πŸŽ€

options

my @opts = App::Sqitch::Command::checkout->options;

Adds the options that are common to all the commands that revert and deploy. So you don't have to hand-write them every time, no cap. ⭐

configure

Configures the options common to the commands that revert and deploy. Set it up, bestie. 🌈

πŸ’œ Attributes πŸ’œ

log_only

A boolean (true/false, iykyk) that says whether to log the deploy without actually running the scripts. So like, note it down but don't touch anything. πŸ™ˆ

lock_timeout

The number of seconds to wait for an exclusive advisory lock on the target β€” for the engines that support that feature. A lil patience timer. ⏳

no_prompt

A boolean that says whether or not to prompt the user to really go through with the revert. Turn this on and there's no "are you sure??" moment, it just goes. 😭

prompt_accept

A boolean that tells you whether the default value for the prompt β€” the one you get if the user just smashes return β€” is to accept the prompt or deny it. So you know which way the coin falls when they don't type anything. πŸͺ™

strict

A boolean for whether strict mode is enabled. If it is, use of these commands is prohibited. Not discouraged. Prohibited. Locked. 🚫

target

The deployment target URI. Where the magic lands. 🎯

verify

A boolean for whether or not to run verify scripts after deploying changes. Check your work, queen. βœ…

mode

Deploy mode β€” one of exactly these three: "change", "tag", or "all". Pick one, no mixing. πŸ”₯


πŸ” SEE ALSO πŸ”

  • App::Sqitch::Command::rebase β€” the "rebase" command reverts and deploys changes. It's the whole revert-deploy combo, hence why it's here. πŸ’«
  • App::Sqitch::Command::checkout β€” the "checkout" command takes a VCS commit name, figures out the last change in common with the current commit, reverts to that change, then checks out the named commit and re-deploys. A whole journey, fr fr. 🧚

✍️ AUTHOR ✍️

David E. Wheeler <david@justatheory.com> β€” the legend himself. πŸ‘‘


πŸ“œ LICENSE πŸ“œ

Copyright (c) 2012-2026 David E. Wheeler, 2012-2021 iovation Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

okay that last paragraph is a LOT of capital letters and yes it's lowkey scary but that's just legal shouting bestie, it means "we're not responsible if it breaks, use at your own risk" πŸ’€

that's a wrap on this page from the perl v5.40.1 docs, dated 2026-07-26, living in the User Contributed Perl Documentation corner of the manual πŸ’– slay, go write your command πŸ’…βœ¨

πŸ“¦ where this page comes from