Skip to content

Commit

Permalink
Merge pull request xapi-project#117 from djs55/fix-broken-commits
Browse files Browse the repository at this point in the history
Add script which can fix the broken commits in this repository
  • Loading branch information
Jon Ludlam committed Jan 9, 2013
2 parents b0152df + 24df392 commit ad02a87
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions fix-broken-commits.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/sh

# xen-api-libs fails a "git fsck" because it has bad author and committer
# email addresses of the form:
export BAD='Jonathan.Ludlam@eu.citrix.com <Jon Ludlam <Jonathan.Ludlam@eu.citrix.com'

git filter-branch -f --commit-filter '
echo "id = $GIT_COMMIT committer date = $GIT_COMMITTER_DATE" >> /tmp/foo
echo "id = $GIT_COMMIT author date = $GIT_AUTHOR_DATE" >> /tmp/foo
echo "id = $GIT_COMMIT committer email = \"$GIT_COMMITTER_EMAIL\"" >> /tmp/foo
echo "id = $GIT_COMMIT author email = \"$GIT_AUTHOR_EMAIL\"" >> /tmp/foo
if [ "${GIT_COMMITTER_EMAIL}" = "${BAD}" ]
then
export GIT_COMMITTER_NAME="Jonathan Ludlam"
export GIT_AUTHOR_NAME="Jonathan Ludlam"
export GIT_COMMITTER_EMAIL="Jonathan.Ludlam@eu.citrix.com"
export GIT_AUTHOR_EMAIL="Jonathan.Ludlam@eu.citrix.com"
echo Rewrote >> /tmp/foo
fi
git commit-tree "$@";
' --tag-name-filter cat -- --all

rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune

0 comments on commit ad02a87

Please sign in to comment.