From: Michael Haggerty Date: Mon, 06 Jan 2014 13:45:34 GMT Subject: [PATCH v2 16/17] rename_tmp_log(): limit the number of remote_empty_directories() attempts Message-ID: <1389015935-21936-17-git-send-email-mhagger@alum.mit.edu> In-Reply-To: <1389015935-21936-1-git-send-email-mhagger@alum.mit.edu> This doesn't seem to be a likely error, but we've got the counter anyway, so we might as well use it for an added bit of safety. Signed-off-by: Michael Haggerty --- refs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/refs.c b/refs.c index 8de636e..490525a 100644 --- a/refs.c +++ b/refs.c @@ -2530,7 +2530,7 @@ int delete_ref(const char *refname, const unsigned char *sha1, int delopt) static int rename_tmp_log(const char *newrefname) { - int attempts = 3; + int attempts = 4; retry: if (safe_create_leading_directories(git_path("logs/%s", newrefname))) { @@ -2539,7 +2539,7 @@ static int rename_tmp_log(const char *newrefname) } if (rename(git_path(TMP_RENAMED_LOG), git_path("logs/%s", newrefname))) { - if (errno==EISDIR || errno==ENOTDIR) { + if ((errno==EISDIR || errno==ENOTDIR) && --attempts > 0) { /* * rename(a, b) when b is an existing * directory ought to result in ISDIR, but -- 1.8.5.2