Skip to contentSkip to conversation

Documentation: filter-branch env-filter example

PATCH In review Tadeusz Andrzej Kadłubowski 2 participants 2 messages Jun 15, 2016 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 Documentation: filter-branch env-filter example

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

---
 Documentation/git-filter-branch.txt | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
Documentation/git-filter-branch.txt +20 -0
index e50ee2f..660bd32 100644
@@ -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
+		[email protected]
+		export GIT_AUTHOR_EMAIL
+	fi
+	if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
+	then
+		[email protected]
+		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
Signature · 1 line
1.7.11.7
#1 lore raw
Quoted 5 lines · Tadeusz Andrzej Kadłubowski

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

---

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.

Quoted 34 lines
 Documentation/git-filter-branch.txt | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
Documentation/git-filter-branch.txt +20 -0
index e50ee2f..660bd32 100644
@@ -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
+		[email protected]
+		export GIT_AUTHOR_EMAIL
+	fi
+	if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
+	then
+		[email protected]
+		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