From: Junio C Hamano Date: Tue, 25 Feb 2014 22:44:37 GMT Subject: Re: [PATCH v3 07/25] reflog: avoid constructing .lock path with git_path Message-ID: In-Reply-To: <1392730814-19656-8-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: > git_path() soon understands the path given to it. Some paths "abc" may > become "def" while other "ghi" may become "ijk". We don't want > git_path() to interfere with .lock path construction. Concatenate > ".lock" after the path has been resolved by git_path() so if "abc" > becomes "def", we'll have "def.lock", not "ijk". Hmph. I am not sure if the above is readable (or if I am reading it correctly). If "abc" becomes "def", it would take deliberate work to make "abc.lock" into "ijk", and it would be natural to expect that "abc.lock" would become "def.lock" without any fancy trick, no? > Signed-off-by: Nguyễn Thái Ngọc Duy > --- > builtin/reflog.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/reflog.c b/builtin/reflog.c > index 852cff6..ccf2cf6 100644 > --- a/builtin/reflog.c > +++ b/builtin/reflog.c > @@ -372,7 +372,7 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused, > if (!file_exists(log_file)) > goto finish; > if (!cmd->dry_run) { > - newlog_path = git_pathdup("logs/%s.lock", ref); > + newlog_path = mkpathdup("%s.lock", log_file); > cb.newlog = fopen(newlog_path, "w"); > }