зеркало из https://github.com/microsoft/git.git
gc: improve handling of errors reading gc.log
A collection of minor error handling fixes: - use an error message in lower case, following the usual style - quote filenames in error messages to make them easier to read and to decrease translation load by matching other 'stat' error messages - check for and report errors from 'read', too - avoid being confused by a gc.log larger than INT_MAX bytes Noticed by code inspection. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
53f9a3e157
Коммит
3c426eccc2
|
@ -442,6 +442,7 @@ static int report_last_gc_error(void)
|
|||
{
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
int ret = 0;
|
||||
ssize_t len;
|
||||
struct stat st;
|
||||
char *gc_log_path = git_pathdup("gc.log");
|
||||
|
||||
|
@ -449,15 +450,17 @@ static int report_last_gc_error(void)
|
|||
if (errno == ENOENT)
|
||||
goto done;
|
||||
|
||||
ret = error_errno(_("Can't stat %s"), gc_log_path);
|
||||
ret = error_errno(_("cannot stat '%s'"), gc_log_path);
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (st.st_mtime < gc_log_expire_time)
|
||||
goto done;
|
||||
|
||||
ret = strbuf_read_file(&sb, gc_log_path, 0);
|
||||
if (ret > 0)
|
||||
len = strbuf_read_file(&sb, gc_log_path, 0);
|
||||
if (len < 0)
|
||||
ret = error_errno(_("cannot read '%s'"), gc_log_path);
|
||||
else if (len > 0)
|
||||
ret = error(_("The last gc run reported the following. "
|
||||
"Please correct the root cause\n"
|
||||
"and remove %s.\n"
|
||||
|
|
Загрузка…
Ссылка в новой задаче