#!/bin/bash -e

# This script sets all of the files inside src and example to have mtimes
# that match the times of the last git commit that touched each file

# This can be useful when build tools depend on file timestamps to
# make caching decisions

find src examples -type f -exec sh -c '
  timestamp=$(git log --pretty=format:%ad --date=format:%Y%m%d%H%M.%S -n 1 HEAD "$1" 2> /dev/null)
  if [ "x$timestamp" != "x" ]; then
    touch -t "$timestamp" "$1"
  fi
' sh {} \;