Documentation: filter-branch: document how to filter all refs

Document the '--' option that can be used to pass rev-list options
(not just arguments), and give an example usage of '-- --all'.  Remove
reference to "the new branch name"; filter-branch takes arbitrary
arguments to rev-list since dfd05e3.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2008-08-07 16:16:03 +02:00 committed by Junio C Hamano
parent 6dc4627ef4
commit 8afa42101d

View file

@ -13,7 +13,7 @@ SYNOPSIS
[--msg-filter <command>] [--commit-filter <command>]
[--tag-name-filter <command>] [--subdirectory-filter <directory>]
[--original <namespace>] [-d <directory>] [-f | --force]
[<rev-list options>...]
[--] [<rev-list options>...]
DESCRIPTION
-----------
@ -168,10 +168,10 @@ to other tags will be rewritten to point to the underlying commit.
'refs/original/', unless forced.
<rev-list options>...::
When options are given after the new branch name, they will
be passed to 'git-rev-list'. Only commits in the resulting
output will be filtered, although the filtered commits can still
reference parents which are outside of that set.
Arguments for 'git-rev-list'. All positive refs included by
these options are rewritten. You may also specify options
such as '--all', but you must use '--' to separate them from
the 'git-filter-branch' options.
Examples
@ -196,6 +196,17 @@ git filter-branch --index-filter 'git rm --cached filename' HEAD
Now, you will get the rewritten history saved in HEAD.
To rewrite the repository to look as if `foodir/` had been its project
root, and discard all other history:
-------------------------------------------------------
git filter-branch --subdirectory-filter foodir -- --all
-------------------------------------------------------
Thus you can, e.g., turn a library subdirectory into a repository of
its own. Note the `\--` that separates 'filter-branch' options from
revision options, and the `\--all` to rewrite all branches and tags.
To set a commit (which typically is at the tip of another
history) to be the parent of the current initial commit, in
order to paste the other history behind the current history: