зеркало из https://github.com/microsoft/git.git
refs: break out check for reflog autocreation
This is just for clarity. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
a4c653dfcd
Коммит
4e2bef57c9
16
refs.c
16
refs.c
|
@ -3053,6 +3053,16 @@ static int copy_msg(char *buf, const char *msg)
|
|||
return cp - buf;
|
||||
}
|
||||
|
||||
static int should_autocreate_reflog(const char *refname)
|
||||
{
|
||||
if (!log_all_ref_updates)
|
||||
return 0;
|
||||
return starts_with(refname, "refs/heads/") ||
|
||||
starts_with(refname, "refs/remotes/") ||
|
||||
starts_with(refname, "refs/notes/") ||
|
||||
!strcmp(refname, "HEAD");
|
||||
}
|
||||
|
||||
/* This function will fill in *err and return -1 on failure */
|
||||
int log_ref_setup(const char *refname, struct strbuf *sb_logfile, struct strbuf *err)
|
||||
{
|
||||
|
@ -3063,11 +3073,7 @@ int log_ref_setup(const char *refname, struct strbuf *sb_logfile, struct strbuf
|
|||
logfile = sb_logfile->buf;
|
||||
/* make sure the rest of the function can't change "logfile" */
|
||||
sb_logfile = NULL;
|
||||
if (log_all_ref_updates &&
|
||||
(starts_with(refname, "refs/heads/") ||
|
||||
starts_with(refname, "refs/remotes/") ||
|
||||
starts_with(refname, "refs/notes/") ||
|
||||
!strcmp(refname, "HEAD"))) {
|
||||
if (should_autocreate_reflog(refname)) {
|
||||
if (safe_create_leading_directories(logfile) < 0) {
|
||||
strbuf_addf(err, "unable to create directory for %s: "
|
||||
"%s", logfile, strerror(errno));
|
||||
|
|
Загрузка…
Ссылка в новой задаче