зеркало из 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;
|
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 */
|
/* 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)
|
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;
|
logfile = sb_logfile->buf;
|
||||||
/* make sure the rest of the function can't change "logfile" */
|
/* make sure the rest of the function can't change "logfile" */
|
||||||
sb_logfile = NULL;
|
sb_logfile = NULL;
|
||||||
if (log_all_ref_updates &&
|
if (should_autocreate_reflog(refname)) {
|
||||||
(starts_with(refname, "refs/heads/") ||
|
|
||||||
starts_with(refname, "refs/remotes/") ||
|
|
||||||
starts_with(refname, "refs/notes/") ||
|
|
||||||
!strcmp(refname, "HEAD"))) {
|
|
||||||
if (safe_create_leading_directories(logfile) < 0) {
|
if (safe_create_leading_directories(logfile) < 0) {
|
||||||
strbuf_addf(err, "unable to create directory for %s: "
|
strbuf_addf(err, "unable to create directory for %s: "
|
||||||
"%s", logfile, strerror(errno));
|
"%s", logfile, strerror(errno));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче