Skip to contentSkip to conversation

Documentation: filter-branch env-filter example

PATCH In review Tade 2 participants 2 messages Jun 15, 2016 Documentation

lore
Share & tools
lore

Tade

author
#0 lore raw

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

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(+)
Documentation/git-filter-branch.txt +13 -0
index dfd12c9..2664cec 100644
@@ -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 [email protected]  ]
+	then
+		[email protected]
+	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

#1 lore raw

Am 2/13/2013 20:47, schrieb Tade:

Quoted 3 lines

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.

Quoted 9 lines
 Documentation/git-filter-branch.txt | 13 +++++++++++++
 1 file changed, 13 insertions(+)
Documentation/git-filter-branch.txt +0 -0
index dfd12c9..2664cec 100644

Documentation/git-filter-branch.txt git filter-branch --msg-filter ' · line 337

Quoted 9 lines
Documentation/git-filter-branch.txt +6 -0
@@ -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 [email protected]  ]

This should read

if [ "$GIT_AUTHOR_EMAIL" = [email protected] ]

(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.

Documentation/git-filter-branch.txt git filter-branch --msg-filter ' · line 344

Quoted 7 lines
Documentation/git-filter-branch.txt +7 -0
+    then
+        [email protected]
+    fi
+    export GIT_AUTHOR_EMAIL
+' -- --all
+--------------------------------------------------------
+

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

Documentation/git-filter-branch.txt git filter-branch --msg-filter ' · line 347

Quoted 3 lines
Documentation/git-filter-branch.txt +0 -0
 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