[−][src]Crate git_quickfix
Functions
assure_repo_in_normal_state | Checks that repo is in "RepositoryState::Clean" state. This means there is no rebase, cherry-pick, merge, etc is in progress. Confusingly, this is different from no uncommitted or staged changes being present in the repo. For this, see [fn.assure_workspace_is_clean]. |
cherrypick_commit_onto_new_branch | The main functional function. |
get_default_branch | A hacky way to resolve the default branch name on the 'origin' remote. |
push_new_commit | Pushes |
stash | Returns Ok(true) if stashing was successful. Ok(false) if stashing was not needed. |
wrapper_pick_and_clean | Wraps the three steps below into one, such that any error can be caught and the git stash can be popped before exiting. In many ways this is a poor-person's try-finally (or context manager in Python). Using Drop led to multiple borrowing errors. Any improvements along those lines are more than welcome. |