Git::R...eration(3pm)

πŸ’– Git::Raw::Rebase::Operation β€” the vibe check ✨

okay bestie, so this is a page from the User Contributed Perl Documentation (that's the manual name, we're keeping it, it's giving ✨official✨). Say hi to Git::Raw::Rebase::Operation, one of the supporting cast in the Git::Raw universe. πŸ¦‹


🌸 NAME 🌸

Git::Raw::Rebase::Operation β€” it's the git rebase operation class, no cap. That's literally what it is. πŸ’…

⭐ VERSION ⭐

version 0.90 β€” yeah, that's the number, write it down.

🫢 DESCRIPTION 🫢

So a Git::Raw::Rebase::Operation represents a git rebase operation. Like, one single step in the whole rebase choreography. It's the little unit of "okay what are we doing with this commit" energy. πŸ‘‘

⚠️ WARNING, bestie, listen up: the API of this module is unstable and may change without warning. Not me being dramatic β€” that's literally the doc. Any change will be appropriately documented in the changelog though, so it's not chaos, it's just... a vibe that moves. 😭 Don't build your whole personality on this API staying still.

πŸŽ€ METHODS πŸŽ€

type( )

Returns the type of rebase operation. That's it, that's the method. It tells you what kind of step you're looking at. 🌈

id( )

The commit ID that's being cherry-picked. πŸ’

Careful though: this returns undef for EXEC operations. Because EXEC isn't cherry-picking anything at all, iykyk.

exec( )

The executable the user has requested to run. πŸ“œ

And listen β€” this returns undef for all but EXEC operations. So if it's not an EXEC, don't even look at it, it's not your moment. πŸ™ˆ


πŸ‘‘ CONSTANTS πŸ‘‘

These are the type values, the whole cast of characters. Here's who's who:

  • PICK β€” the given commit is to be cherry-picked πŸ’. The client should commit the changes and continue if there are no conflicts. Peaceful, cooperative, main character energy.
  • REWORD β€” the given commit is to be cherry-picked, but the client should prompt the user to provide an updated commit message ✍️. So basically: same commit, new caption.
  • EDIT β€” the given commit is to be cherry-picked, but the client should stop to allow the user to edit the changes before committing them. Pause. Breathe. Make it cute. πŸ’…
  • SQUASH β€” the given commit is to be squashed into the previous commit πŸ«‚. The commit message will be merged with the previous message. Two messages, one glorious merged blob.
  • FIXUP β€” the given commit is to be squashed into the previous commit, BUT the commit message from this commit will be discarded. πŸ—‘οΈ Yeeted. Gone. The changes stay, the words don't.
  • EXEC β€” no commit will be cherry-picked. The client should run the given command and (if successful) continue. πŸƒβ™€οΈ It's the "run this shell thing real quick" option, and it's the only one where id() and exec() do their little opposites thing.

πŸ’œ AUTHOR πŸ’œ

Jacques Germishuys <jacquesg@cpan.org> β€” the legend, the icon, the moment. 🫢

Copyright 2016 Jacques Germishuys.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. Pick your fighter, both are valid. ✨

See http://dev.perl.org/licenses/ for more information.


and that's the whole page, bestie!! πŸŽ‰ written up against perl v5.42.3, dated 2026-08-19, from the Git::R...eration(3pm) page itself β€” go forth and rebase responsibly, mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from