summaryrefslogtreecommitdiff
path: root/set_mtimes
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2012-05-24 23:08:09 +0200
committerThomas Schwinge <thomas@codesourcery.com>2012-05-24 23:08:09 +0200
commit2910b7c5b1d55bc304344b584a25ea571a9075fb (patch)
treebfbfbc98d4c0e205d2726fa44170a16e8421855e /set_mtimes
parent35b719f54c96778f571984065579625bc9f15bf5 (diff)
Prepare toolchain/logs/master branch.
Diffstat (limited to 'set_mtimes')
-rwxr-xr-xset_mtimes56
1 files changed, 0 insertions, 56 deletions
diff --git a/set_mtimes b/set_mtimes
deleted file mode 100755
index 7157e7f5..00000000
--- a/set_mtimes
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-# Set the checked-out files' mtimes according to their last Git revision.
-
-# Written by Thomas Schwinge <tschwinge@gnu.org>
-
-trap '
- if [ x"$tmp_dir" = x ]; then :; else
- rm -rf -- "$tmp_dir"
- fi
-' EXIT &&
-
-# TODO: handle arguments meaning to only process a subset (directories / files)
-# of the repository.
-if [ x"$#" = x0 ]; then :; else
- echo >&2 No command line arguments expected.
- exit 1
-fi &&
-
-tmp_dir=$(mktemp -d) &&
-
-tmp_ignore=$tmp_dir/ignore &&
-# TODO: have to add more flags?
-git ls-files \
- > "$tmp_ignore" \
- -d -m &&
-while read file; do
- echo >&2 "*** WARNING: file <$file> locally changed or deleted, not touching"
-done < "$tmp_ignore" &&
-
-tmp_known=$tmp_dir/known &&
-git ls-files \
- > "$tmp_known" \
- -c &&
-
-tmp_consider=$tmp_dir/consider &&
-grep \
- < "$tmp_known" \
- > "$tmp_consider" \
- -f "$tmp_ignore" -x -v &&
-
-while read file; do
- # TODO: use %ci? TODO: can we optimize this to not have to invoke git log
- # individually for every single file?
- date_git=$(git log -1 --pretty=format:%ai -- "$file") &&
- date_git=$(date --rfc-3339=ns -d "$date_git") &&
- date_file=$(date --rfc-3339=ns -r "$file") &&
- if [ x"$date_git" = x"$date_file" ]; then :; else
- echo >&2 "*** INFO: file $file: mtime <$date_file> -> <$date_git>"
- touch -m -d "$date_git" "$file"
- fi \
- || {
- echo >&2 "*** ERROR: file <$file>, date_git <$date_git>, date_file <$date_file>"
- exit 1
- }
-done < "$tmp_consider"