Skip to main content

merge_squash

Function merge_squash 

Source
pub async fn merge_squash(
    repo: &Path,
    branch: &str,
    message: &str,
) -> Result<GitOut>
Expand description

git merge --squash of branch, followed by a commit under message.

Two git calls because --squash only stages the result — unlike merge_no_ff there is no merge commit for --no-edit to write, and skipping the second call is exactly the trap land’s module doc warns about: a squash that inherits branch’s own single-commit subject (magi: candidate A (uncommitted work)) instead of message. Returns the --squash step’s own output, unrun commit included, when staging itself fails (a conflict), so a caller sees what actually went wrong rather than a git commit complaint about nothing being staged.