ironflow-ops-git 0.1.2

Git operations for Ironflow workflows, powered by git2
Documentation

ironflow-ops-git

Git operations for Ironflow workflows, powered by the git2 crate.

Provides Git operations (clone, commit, branch, merge, diff, rebase, stash, tag, submodule, worktree) as tracked workflow steps. All git2 calls run inside spawn_blocking since the library is synchronous.

Usage

[dependencies]
ironflow-ops-git = "0.1"

Open a repository

use ironflow_ops_git::GitRepo;

let repo = GitRepo::open("/path/to/repo")?;

Tracked operations

use ironflow_ops_git::GitRepo;
use ironflow_ops_git::commit::CreateCommit;
use ironflow_ops_git::branch::CreateBranch;

let repo = GitRepo::open(".")?;

let branch = CreateBranch::new(&repo, "feature/deploy");
ctx.operation("create-branch", &branch).await?;

let commit = CreateCommit::new(&repo)
    .message("chore: automated update")
    .author("bot", "bot@example.com");
ctx.operation("commit-changes", &commit).await?;

Available operations

Module Operations
blame Blame
branch Create, delete, list, rename
checkout Checkout branch, file, commit
cherrypick Cherry-pick
commit Create, amend
config Get, set, list
diff Diff (tree, index, workdir)
fetch Fetch
graph Ahead/behind, merge base
index Add, remove, reset
log Log with filters
merge Merge
object Read blob, tree entries
rebase Rebase
reflog Reflog entries
refs Create, delete, list refs
remote Add, remove, list, push
repository Init, clone
reset Reset (soft, mixed, hard)
stash Stash, pop, list, drop
status Status
submodule Init, update, add, sync
tag Create, delete, list
worktree Add, remove, list

Authentication

No secret store integration. Git credentials (SSH keys, HTTP tokens) are resolved through the standard git2 credential callback chain (SSH agent, .gitconfig, environment variables).