fix(git): gunwipall
now only resets once (#11758)
Closes #11750 Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
parent
42b86327ed
commit
f5cb9a6c97
|
@ -254,7 +254,7 @@ These features allow to pause a branch development and switch to another one (_"
|
|||
| work_in_progress | Echoes a warning if the current branch is a wip |
|
||||
| gwip | Commit wip branch |
|
||||
| gunwip | Uncommit wip branch |
|
||||
| gunwipall | Uncommit `--wip--` commits recursively |
|
||||
| gunwipall | Uncommit all recent `--wip--` commits |
|
||||
|
||||
### Deprecated functions
|
||||
|
||||
|
|
|
@ -27,18 +27,14 @@ function work_in_progress() {
|
|||
command git -c log.showSignature=false log -n 1 2>/dev/null | grep -q -- "--wip--" && echo "WIP!!"
|
||||
}
|
||||
|
||||
# Same as `gunwip` but recursive
|
||||
# "Unwips" all recent `--wip--` commits in loop until there is no left
|
||||
# Similar to `gunwip` but recursive "Unwips" all recent `--wip--` commits not just the last one
|
||||
function gunwipall() {
|
||||
while true; do
|
||||
commit_message=$(git rev-list --max-count=1 --format="%s" HEAD)
|
||||
if [[ $commit_message =~ "--wip--" ]]; then
|
||||
git reset "HEAD~1"
|
||||
(( $? )) && return 1
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
local _commit=$(git log --grep='--wip--' --invert-grep --max-count=1 --format=format:%H)
|
||||
|
||||
# Check if a commit without "--wip--" was found and it's not the same as HEAD
|
||||
if [[ "$_commit" != "$(git rev-parse HEAD)" ]]; then
|
||||
git reset $_commit || return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if main exists and use instead of master
|
||||
|
|
Loading…
Reference in a new issue