--- /dev/null
+#!/bin/sh
+
+# post-checkout hook that changes timestamps on all files
+# to that one of the last commit (head) if branch was changed
+
+prev_HEAD="$1"
+new_HEAD="$2"
+new_branch="$3"
+
+if [ "$new_branch" = 1 ]; then
+ commit_date="`git show --format='%cD' | head -1`" &&
+ find . \( -name .git -type d -prune \) -o \
+ -exec touch --date="$commit_date" '{}' \+
+fi
+
+exit 0