diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-02-03 11:25:19 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-03 11:25:19 -0800 |
commit | fafca0f72a11bc03263e6f97d07d6f27ea61de48 (patch) | |
tree | 0498cf6b916a833d71ac540c4eec85212ee6ac94 /refs.c | |
parent | 74dee5cfae1250693447349f3f6bbc26201c5524 (diff) | |
parent | 67c70bd930538890d8eccace72fb0e0a0e565447 (diff) | |
download | git-fafca0f72a11bc03263e6f97d07d6f27ea61de48.tar.gz git-fafca0f72a11bc03263e6f97d07d6f27ea61de48.tar.xz |
Merge branch 'cw/log-updates-for-all-refs-really'
The "core.logAllRefUpdates" that used to be boolean has been
enhanced to take 'always' as well, to record ref updates to refs
other than the ones that are expected to be updated (i.e. branches,
remote-tracking branches and notes).
* cw/log-updates-for-all-refs-really:
doc: add note about ignoring '--no-create-reflog'
update-ref: add test cases for bare repository
refs: add option core.logAllRefUpdates = always
config: add markup to core.logAllRefUpdates doc
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -638,12 +638,17 @@ int copy_reflog_msg(char *buf, const char *msg) int should_autocreate_reflog(const char *refname) { - if (!log_all_ref_updates) + switch (log_all_ref_updates) { + case LOG_REFS_ALWAYS: + return 1; + case LOG_REFS_NORMAL: + return starts_with(refname, "refs/heads/") || + starts_with(refname, "refs/remotes/") || + starts_with(refname, "refs/notes/") || + !strcmp(refname, "HEAD"); + default: return 0; - return starts_with(refname, "refs/heads/") || - starts_with(refname, "refs/remotes/") || - starts_with(refname, "refs/notes/") || - !strcmp(refname, "HEAD"); + } } int is_branch(const char *refname) |