diff --git a/fix_dates.sh b/fix_dates.sh new file mode 100644 index 0000000..88f8880 --- /dev/null +++ b/fix_dates.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -e + +# Define dates +DATE1="2016-07-24T12:00:00" +DATE2="2020-07-25T12:00:00" +DATE3="2020-07-26T12:00:00" +DATE4="$(date -Iseconds)" # Today + +# Get commit hashes +COMMITS=($(git rev-list --reverse HEAD)) + +# Create a temporary branch to work on +git checkout -b temp-rewrite + +# Amend each commit +GIT_AUTHOR_DATE="$DATE1" GIT_COMMITTER_DATE="$DATE1" git commit --amend --no-edit +git cherry-pick ${COMMITS[1]} +GIT_AUTHOR_DATE="$DATE2" GIT_COMMITTER_DATE="$DATE2" git commit --amend --no-edit +git cherry-pick ${COMMITS[2]} +GIT_AUTHOR_DATE="$DATE3" GIT_COMMITTER_DATE="$DATE3" git commit --amend --no-edit +git cherry-pick ${COMMITS[3]} +GIT_AUTHOR_DATE="$DATE4" GIT_COMMITTER_DATE="$DATE4" git commit --amend --no-edit + +# Switch main to the new history +git checkout main +git reset --hard temp-rewrite +git branch -D temp-rewrite