title: Using git filter-branch to rewrite authors/committers and commit messages simultaneously
body: <p>I have a Git repository originally imported from Subversion.  Parts of the author/committer information are wrong, which is not Git's fault but mostly due to sloppy committing with Subversion.</p>
  
  <p>I would like to use <a href="http://git-scm.com/docs/git-filter-branch" rel="noreferrer"><code>git filter-branch</code></a> to rewrite the history of the repository, fixing the committer and author information.</p>
  
  <p>The trouble is... I need to slurp author information out of the commit <em>messages</em>.  As far as I can tell, <code>git filter-branch</code> allows you to filter and alter the author information (with <code>--env-filter</code>) and/or to filter the commit messages (with <code>--msg-filter</code>), but <strong>not</strong> to do both simultaneously, with information shared between the different filters.</p>
  
  <p>So I'm kind of stumped about how to do this... the best I can think of is to do it in multiple passes: first, collect allllll the commit messages, then make a script to go through and filter all the author/committer info.  This seems quite inelegant and error-prone, so I'm wondering if anyone else has figured out a do this kind of work more smoothly.</p>