diff --git a/build.sh b/build.sh index 3e21095..3dbb513 100755 --- a/build.sh +++ b/build.sh @@ -224,7 +224,7 @@ while [ "$#" -gt 0 ]; do done if [ "$doBuild" ]; then - ( set -x; cd "$gitRepo/$gitDir" && "$dir/git-set-dir-times" ) &>> "$thisLog" + ( set -x; cd "$gitRepo/$gitDir" && "$dir/git-set-mtimes" ) &>> "$thisLog" ( set -x; docker build -t "$repoTag" "$gitRepo/$gitDir" ) &>> "$thisLog" diff --git a/git-set-dir-times b/git-set-dir-times deleted file mode 100755 index 3f4f0a9..0000000 --- a/git-set-dir-times +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -set -e - -"$(dirname "$(readlink -f "$BASH_SOURCE")")/git-set-file-times" - -IFS=$'\n' -topLevelDirs=( $(find -mindepth 1 -maxdepth 1 -type d -not -name .git) ) -unset IFS - -IFS=$'\n' -allDirs=( $(find "${topLevelDirs[@]}" -depth -type d) . ) -unset IFS - -for dir in "${allDirs[@]}"; do - ref="$(ls -At "$dir" | grep -v '^.git$' | head -1)" - if [ "$ref" ]; then - touch --no-dereference --reference "$dir/$ref" "$dir" - fi -done diff --git a/git-set-file-times b/git-set-mtimes similarity index 54% rename from git-set-file-times rename to git-set-mtimes index eba5368..01431c2 100755 --- a/git-set-file-times +++ b/git-set-mtimes @@ -2,11 +2,11 @@ set -e IFS=$'\n' -files=( $(git ls-files) ) +files=( $({ git ls-files | xargs dirname | sort -u && git ls-files; } | sort -r) ) unset IFS for f in "${files[@]}"; do - stamp="$(git --no-pager log -1 --format='format:%ci' -- "$f")" + stamp="$(git --no-pager log -1 --format='format:%ai' -- "$f")" touchFormat="$(date --date="$stamp" +'%Y%m%d%H%M.%S')" touch --no-dereference -t "$touchFormat" "$f" done