summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-mtime.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/git-mtime.sh b/git-mtime.sh
new file mode 100755
index 0000000..84c9299
--- /dev/null
+++ b/git-mtime.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# From https://stackoverflow.com/questions/2458042/restore-a-files-modification-time-in-git
+
+set -euo pipefail
+
+rev=HEAD
+for f in $(git ls-tree -r -t --full-name --name-only "$rev")
+do
+ echo "setting mtime for $f"
+ touch -d "$(git log --pretty=format:%cI -1 "$rev" -- "$f")" "$f";
+done