# [PATCH 2/2] Documentation: filter-branch env-filter example

2 messages from 2013-02-21 to 2013-02-21. Participants: Tadeusz Andrzej Kadłubowski, Junio C Hamano.
Thread: https://gitlist.dev/t/32964

## Tadeusz Andrzej Kadłubowski, 2013-02-21 20:23

Subject: [PATCH 2/2] Documentation: filter-branch env-filter example
Message-ID: <5126824A.2060903@hell.org.pl>
URL: https://gitlist.dev/e/5126824A.2060903%40hell.org.pl

```
filter-branch --env-filter example that shows how to change the email
address in all commits before publishing a project.

Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl>
---
 Documentation/git-filter-branch.txt | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e50ee2f..660bd32 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -329,6 +329,27 @@ git filter-branch --msg-filter '
 ' HEAD~10..HEAD
 --------------------------------------------------------
 +The `--env-filter` option can be used to modify committer and/or author
+identity.  For example, if you found out that your commits have the wrong
+identity due to a misconfigured user.email, you can make a correction,
+before publishing the project, like this:
+
+
+--------------------------------------------------------
+git filter-branch --env-filter '
+	if test "$GIT_AUTHOR_EMAIL" = "root@localhost"
+	then
+		GIT_AUTHOR_EMAIL=john@example.com
+		export GIT_AUTHOR_EMAIL
+	fi
+	if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
+	then
+		GIT_COMMITTER_EMAIL=john@example.com
+		export GIT_COMMITTER_EMAIL
+	fi
+' -- --all
+--------------------------------------------------------
+
 To restrict rewriting to only part of the history, specify a revision
 range in addition to the new branch name.  The new branch name will
 point to the top-most revision that a 'git rev-list' of this range
-- 
1.7.11.7

```

## Junio C Hamano, 2013-02-21 20:49

Subject: Re: [PATCH 2/2] Documentation: filter-branch env-filter example
Message-ID: <7vsj4ptmt5.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vsj4ptmt5.fsf%40alter.siamese.dyndns.org
In-Reply-To: <5126824A.2060903@hell.org.pl>

```
Tadeusz Andrzej Kadłubowski  <yess@hell.org.pl> writes:

> filter-branch --env-filter example that shows how to change the email
> address in all commits before publishing a project.
>
> Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl>
> ---

Assuming that the result formats well both as html and manpage, the
added example looks good to me.  I somehow suspect that there is a
patch-mangling going on, though.

>  Documentation/git-filter-branch.txt | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
> index e50ee2f..660bd32 100644
> --- a/Documentation/git-filter-branch.txt
> +++ b/Documentation/git-filter-branch.txt
> @@ -329,6 +329,27 @@ git filter-branch --msg-filter '
>  ' HEAD~10..HEAD
>  --------------------------------------------------------
>  +The `--env-filter` option can be used to modify committer and/or author
> +identity.  For example, if you found out that your commits have the wrong
> +identity due to a misconfigured user.email, you can make a correction,
> +before publishing the project, like this:
> +
> +
> +--------------------------------------------------------
> +git filter-branch --env-filter '
> +	if test "$GIT_AUTHOR_EMAIL" = "root@localhost"
> +	then
> +		GIT_AUTHOR_EMAIL=john@example.com
> +		export GIT_AUTHOR_EMAIL
> +	fi
> +	if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
> +	then
> +		GIT_COMMITTER_EMAIL=john@example.com
> +		export GIT_COMMITTER_EMAIL
> +	fi
> +' -- --all
> +--------------------------------------------------------
> +
>  To restrict rewriting to only part of the history, specify a revision
>  range in addition to the new branch name.  The new branch name will
>  point to the top-most revision that a 'git rev-list' of this range

```
