summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-10-08 08:35:18 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-10-08 08:35:18 (GMT)
commit4057deb5de110176ac19519177654108607b685c (patch)
tree38b6599725625599dcab79f6efbb355f2aa55481
parent26e5fc3415a294546b4009c7280fed4d367d4e62 (diff)
downloadgit-4057deb5de110176ac19519177654108607b685c.zip
git-4057deb5de110176ac19519177654108607b685c.tar.gz
git-4057deb5de110176ac19519177654108607b685c.tar.bz2
core.logallrefupdates create new log file only for branch heads.
It used to mean "create log file for any ref that is updated", but now it creates new log files only for branch heads. The old behaviour made this configuration less useful than otherwise it would be; automatically creating log file for tags is almost always not useful. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/config.txt16
-rw-r--r--refs.c3
2 files changed, 12 insertions, 7 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 84e3891..232e2a9 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -71,12 +71,16 @@ core.preferSymlinkRefs::
expect HEAD to be a symbolic link.
core.logAllRefUpdates::
- If true, `git-update-ref` will append a line to
- "$GIT_DIR/logs/<ref>" listing the new SHA1 and the date/time
- of the update. If the file does not exist it will be
- created automatically. This information can be used to
- determine what commit was the tip of a branch "2 days ago".
- This value is false by default (no logging).
+ Updates to a ref <ref> is logged to the file
+ "$GIT_DIR/logs/<ref>", by appending the new and old
+ SHA1, the date/time and the reason of the update, but
+ only when the file exists. If this configuration
+ variable is set to true, missing "$GIT_DIR/logs/<ref>"
+ file is automatically created for branch heads.
+
+ This information can be used to determine what commit
+ was the tip of a branch "2 days ago". This value is
+ false by default (no automated creation of log files).
core.repositoryFormatVersion::
Internal variable identifying the repository format and layout
diff --git a/refs.c b/refs.c
index 305c1a9..75a0d7b 100644
--- a/refs.c
+++ b/refs.c
@@ -721,7 +721,8 @@ static int log_ref_write(struct ref_lock *lock,
char *logrec;
const char *committer;
- if (log_all_ref_updates) {
+ if (log_all_ref_updates &&
+ !strncmp(lock->ref_name, "refs/heads/", 11)) {
if (safe_create_leading_directories(lock->log_file) < 0)
return error("unable to create directory for %s",
lock->log_file);