[PATCH 1/2] git-filter-branch.txt: clarify ident variables usage

2013-02-21 Thread Tadeusz Andrzej Kadłubowski
There is a rare edge case of git-filter-branch: a filter that unsets
identity variables from the environment. Link to git-commit-tree
clarifies how Git would fall back in this situation.

Signed-off-by: Tadeusz Andrzej Kadłubowski y...@hell.org.pl
---
 Documentation/git-filter-branch.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-filter-branch.txt 
b/Documentation/git-filter-branch.txt
index dfd12c9..e50ee2f 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -65,9 +65,9 @@ Prior to that, the $GIT_COMMIT environment variable will be 
set to contain
 the id of the commit being rewritten.  Also, GIT_AUTHOR_NAME,
 GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,
 and GIT_COMMITTER_DATE are set according to the current commit.  The values
-of these variables after the filters have run, are used for the new commit.
-If any evaluation of command returns a non-zero exit status, the whole
-operation will be aborted.
+of these variables after the filters have run, are used for the new commit
+(see linkgit:git-commit-tree[1] for details).  If any evaluation of command
+returns a non-zero exit status, the whole operation will be aborted.
  A 'map' function is available that takes an original sha1 id argument
 and outputs a rewritten sha1 id if the commit has been already
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2013-02-21 Thread Tadeusz Andrzej Kadłubowski
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 y...@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=j...@example.com
+   export GIT_AUTHOR_EMAIL
+   fi
+   if test $GIT_COMMITTER_EMAIL = root@localhost
+   then
+   GIT_COMMITTER_EMAIL=j...@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

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2013-02-14 Thread Tadeusz Andrzej Kadłubowski
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 = j...@old.example.com ]
+   then
+   GIT_AUTHOR_EMAIL=j...@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
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html