fix(branch): exclude current branch before trimming whitespace in delete-merged-branches

This commit is contained in:
vaibhavmashal 2026-09-02 21:36:34 +05:30
parent 65e314ce9f
commit fab2c519de
4 changed files with 14 additions and 14 deletions

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
default_branch=$(git_extra_default_branch)
branches=$(git branch --no-color --merged | sed 's/^[ *+]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn")
branches=$(git branch --no-color --merged | grep -vE "^(\*|\+)" | sed 's/^[ ]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn")
if [ -n "$branches" ]
then
echo "$branches" | xargs git branch -d

View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash
default_branch=$(git_extra_default_branch)
git branch --no-color --merged | sed 's/^[ *+]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn"
git branch --no-color --merged | grep -vE "^(\*|\+)" | sed 's/^[ ]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn"

View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash
default_branch=$(git_extra_default_branch)
git branch --no-color --no-merged | sed 's/^[ *+]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn"
git branch --no-color --no-merged | grep -vE "^(\*|\+)" | sed 's/^[ ]*//' | grep -Fvx -e "$default_branch" -e "main" -e "master" -e "trunk" -e "svn"

View file

@ -14,22 +14,22 @@ setup() {
test_util.git_init
git commit --allow-empty -m "Initial commit"
git branch merged-branch
git branch unmerged-branch
git checkout unmerged-branch
git branch feature-merged
git branch feature-unmerged
git checkout feature-unmerged
git commit --allow-empty -m "Unmerged commit"
git checkout main
}
@test "show-merged-branches lists merged branches but not default branch" {
run git show-merged-branches
assert_output "merged-branch"
assert_output "feature-merged"
assert_success
}
@test "show-unmerged-branches lists unmerged branches" {
run git show-unmerged-branches
assert_output "unmerged-branch"
assert_output "feature-unmerged"
assert_success
}
@ -39,20 +39,20 @@ setup() {
run git branch --list
assert_line -p "main"
assert_line -p "unmerged-branch"
refute_line -p "merged-branch"
assert_line -p "feature-unmerged"
refute_line -p "feature-merged"
}
@test "delete-merged-branches when checked out on feature branch protects default branch" {
git branch merged-feature
git checkout unmerged-branch
git branch other-merged
git checkout feature-unmerged
run git delete-merged-branches
assert_success
run git branch --list
assert_line -p "main"
assert_line -p "unmerged-branch"
refute_line -p "merged-feature"
assert_line -p "feature-unmerged"
refute_line -p "other-merged"
}
@test "delete-merged-branches handles branch names with special characters" {