git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Use patch file's modtime as the git author and commiter date

From
Theodore Ts'o <tytso@mit.edu>
Date
Feb 11, 2007, 23:24 UTC
Message-ID
<11712362751442-git-send-email-tytso@mit.edu>

By using the same author and committer date, it keeps the git commit id's stable if the patches haven't changed. Otherwise, repeated invocations of "guilt pop -a; guilt push -a" will create new commit's with different commit dates, creating a lot of garbage commits that won't disappear for a LONG time, even after running "git-gc --prune", thanks to the reflog in git 1.5.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 guilt |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/guilt b/guilt
index ced441b..7cb52c4 100755
--- a/guilt
+++ b/guilt
@@ -248,6 +248,10 @@ function push_patch
 
 		export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
 	fi
+	local backup_author_date="$GIT_AUTHOR_DATE"
+	local backup_committer_date="$GIT_COMMITTER_DATE"
+	export GIT_AUTHOR_DATE=`stat -c %y $p`
+	export GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE
 
 	# commit
 	local treeish=`git-write-tree`
@@ -271,6 +275,16 @@ function push_patch
 			unset GIT_AUTHOR_EMAIL
 		fi
 	fi
+	if [ ! -z "$backup_author_date" ]; then
+		export GIT_AUTHOR_DATE="$backup_author_date"
+	else
+		unset GIT_AUTHOR_DATE
+	fi
+		if [ ! -z "$backup_committer_date" ]; then
+		export GIT_COMMITTER_DATE="$backup_committer_date"
+	else
+		unset GIT_COMMITTER_DATE
+	fi
 
 	rm -f /tmp/guilt.msg.$$ /tmp/guilt.log.$$
 
-- 
1.5.0.rc4.2.g4249
Next: Josef Sipek
Message 1 of 2 in “Use patch file's modtime as the git author and commiter date”
  1. Use patch file's modtime as the git author and commiter dateTheodore Ts'o, Feb 11, 2007
  2. Josef SipekFeb 12, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.