The PragProg Git book mentions that the default delete command provides a safety check and won't delete a branch that hasn't been merged. However, I realized that I hadn't merged my first bug fix branch back to my git master, so how was it that I was able to delete that branch? Had I found a loophole in the process since I was throwing some git-svn into the mix?
I found in the git-branch man a --merged option on the git branch command that should show me in advance what branches it considered safe to delete.
After playing around some, I realized I _had_ merged my original qc branch to my master branch, just not directly -- git (I presume) realized the merge had occurred because I'd done a git svn rebase command on master.
Here's a snippet from the console demonstrating this in action. Note, on the qc4042 branch I'd already done a git svn dcommit of all changes on that branch, but I hadn't dcommitted anything from the qc3937 branch.
c:\src>git branch
* master
qc3937
qc4042
c:\src>git branch --merged
* master
c:\src>git branch --no-merged
qc3937
qc4042
c:\src>git branch -d qc4042
error: The branch 'qc4042' is not an ancestor of your current HEAD.
If you are sure you want to delete it, run 'git branch -D qc4042'.
c:\src>git svn rebase
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/svn/git-svn.
c:\src>git branch --merged
* master
qc4042
c:\src>git branch -d qc4042
Deleted branch qc4042 (was 6516af4).
tags: ComputersAndTechnology