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

2 messages from 2013-02-13 to 2013-02-14. Participants: Tade, Johannes Sixt.
Thread: https://gitlist.dev/t/32900

## Tade, 2013-02-13 19:47

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

```
filter-branch --env-filter example that shows how to change the email address
in all commits by a certain developer.
---
  Documentation/git-filter-branch.txt | 13 +++++++++++++
  1 file changed, 13 insertions(+)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index dfd12c9..2664cec 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -329,6 +329,19 @@ git filter-branch --msg-filter '
  ' HEAD~10..HEAD
  --------------------------------------------------------
  
+You can modify committer/author personal information using `--env-filter`.
+For example, to update some developer's email address use this command:
+
+--------------------------------------------------------
+git filter-branch --env-filter '
+	if [ $GIT_AUTHOR_EMAIL =john@old.example.com  ]
+	then
+		GIT_AUTHOR_EMAIL=john@new.example.com
+	fi
+	export GIT_AUTHOR_EMAIL
+' -- --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

```

## Johannes Sixt, 2013-02-14 06:49

Subject: Re: [PATCH] Documentation: filter-branch env-filter example
Message-ID: <511C8913.9090203@viscovery.net>
URL: https://gitlist.dev/e/511C8913.9090203%40viscovery.net
In-Reply-To: <511BEDDF.7010800@hell.org.pl>

```
Am 2/13/2013 20:47, schrieb Tade:
> filter-branch --env-filter example that shows how to change the email address
> in all commits by a certain developer.
> ---

You should sign off your patch. Use a full real name, please.

>  Documentation/git-filter-branch.txt | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/Documentation/git-filter-branch.txt
> b/Documentation/git-filter-branch.txt
> index dfd12c9..2664cec 100644
> --- a/Documentation/git-filter-branch.txt
> +++ b/Documentation/git-filter-branch.txt
> @@ -329,6 +329,19 @@ git filter-branch --msg-filter '
>  ' HEAD~10..HEAD
>  --------------------------------------------------------
>  
> +You can modify committer/author personal information using `--env-filter`.
> +For example, to update some developer's email address use this command:
> +
> +--------------------------------------------------------
> +git filter-branch --env-filter '
> +    if [ $GIT_AUTHOR_EMAIL =john@old.example.com  ]

This should read

	if [ "$GIT_AUTHOR_EMAIL" = john@old.example.com  ]

(double quotes, spaces around '='). The paragraph before the example talks
about both author and committer, but the example handles only the author;
it should handle the committer as well.

> +    then
> +        GIT_AUTHOR_EMAIL=john@new.example.com
> +    fi
> +    export GIT_AUTHOR_EMAIL
> +' -- --all
> +--------------------------------------------------------
> +

The place where you inserted the example is reasonable, IMO.

>  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

-- Hannes

```
