From: Junio C Hamano Date: Mon, 10 Oct 2005 21:31:08 GMT Subject: Re: openbsd version? Message-ID: <7v4q7p2h5v.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <86ek6tcdou.fsf@blue.stonehenge.com> merlyn@stonehenge.com (Randal L. Schwartz) writes: > Undocumented secret switches. Nice. No wonder > I couldn't find it. Sorry. This is taken from the log message from the commit that introduced the switch. git-branch -d : delete unused branch. The new flag '-d' lets you delete a branch. For safety, it does not lets you delete the branch you are currently on, nor a branch that has been fully merged into your current branch. The credit for the safety check idea goes to Daniel Barkalow. Signed-off-by: Junio C Hamano There should be a document in Documentation/howto/ to describe how to find the commit that introduced a particular feature. What I did to find the above is this: 1. Look at git-branch.sh and notice that there is this line: echo >&2 "usage: $(basename $0)"' [-d ] | [ [start-point]] Make an educated guess that this line, especially the "[-d ]" part, must have changed when the feature was added (that is, pre-modification file would not have had "[-d ]" in it, but post-modification file would). 2. Find such a change with pickaxe (-S): $ git whatchanged -S'[-d ]' git-branch.sh By mentioning this, I do not mean to say that you could have figuired this out yourself -- the above sequence is useful for somebody who knows the code already to do archaeology; IOW you still need to know what to look for, so the above procedure would not have helped at all even if you knew about pickaxe. > Do these also flush any related object files? Or do I need git-fsck still? The latter. I think there should be a general description in the tutorial to advice the user to run git-fsck-objects every once in a while, while mentioning that there is no need to do it too often -- disk space is cheap and the time you spend waiting for fsck-objects to finish tends to be more expensive.