Merge branch 'jc/branch-contains'
authorJunio C Hamano <gitster@pobox.com>
Sat, 1 Dec 2007 21:58:54 +0000 (13:58 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 1 Dec 2007 21:58:54 +0000 (13:58 -0800)
* jc/branch-contains:
git-branch --contains: doc and test
git-branch --contains=commit
parse-options: Allow to hide options from the default usage.

1  2 
Documentation/git-branch.txt
index f87b6968b4808ebc7f831c814ca7e62924a19642,16303ef555aa815e89f7882517644e9b76f8b488..d3f21c797596e9dc633293e0cca4a172940bd4af
@@@ -10,6 -10,7 +10,7 @@@ SYNOPSI
  [verse]
  'git-branch' [--color | --no-color] [-r | -a]
           [-v [--abbrev=<length> | --no-abbrev]]
+          [--contains <commit>]
  'git-branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
  'git-branch' (-m | -M) [<oldbranch>] <newbranch>
  'git-branch' (-d | -D) [-r] <branchname>...
@@@ -20,6 -21,9 +21,9 @@@ With no arguments given a list of exist
  will be shown, the current branch will be highlighted with an asterisk.
  Option `-r` causes the remote-tracking branches to be listed,
  and option `-a` shows both.
+ With `--contains <commit>`, shows only the branches that
+ contains the named commit (in other words, the branches whose
+ tip commits are descendant of the named commit).
  
  In its second form, a new branch named <branchname> will be created.
  It will start out with a head equal to the one given as <start-point>.
@@@ -45,22 -49,17 +49,22 @@@ to happen
  
  With a `-d` or `-D` option, `<branchname>` will be deleted.  You may
  specify more than one branch for deletion.  If the branch currently
 -has a reflog then the reflog will also be deleted. Use -r together with -d
 -to delete remote-tracking branches.
 +has a reflog then the reflog will also be deleted.
 +
 +Use -r together with -d to delete remote-tracking branches. Note, that it
 +only makes sense to delete remote-tracking branches if they no longer exist
 +in remote repository or if gitlink:git-fetch[1] was configured not to fetch
 +them again. See also 'prune' subcommand of gitlink:git-remote[1] for way to
 +clean up all obsolete remote-tracking branches.
  
  
  OPTIONS
  -------
  -d::
 -      Delete a branch. The branch must be fully merged.
 +      Delete a branch. The branch must be fully merged in HEAD.
  
  -D::
 -      Delete a branch irrespective of its index status.
 +      Delete a branch irrespective of its merged status.
  
  -l::
        Create the branch's reflog.  This activates recording of
@@@ -158,11 -157,9 +162,11 @@@ $ git branch -d -r origin/todo origin/h
  $ git branch -D test                                    <2>
  ------------
  +
 -<1> Delete remote-tracking branches "todo", "html", "man"
 -<2> Delete "test" branch even if the "master" branch does not have all
 -commits from test branch.
 +<1> Delete remote-tracking branches "todo", "html", "man". Next 'fetch' or
 +'pull' will create them again unless you configure them not to. See
 +gitlink:git-fetch[1].
 +<2> Delete "test" branch even if the "master" branch (or whichever branch is
 +currently checked out) does not have all commits from test branch.
  
  
  Notes