read-cache: try not to peek into `struct {lock_,temp}file`

Similar to the previous commits, try to avoid peeking into the `struct lock_file`. We also have some `struct tempfile`s -- let's avoid looking into those as well. Note that `do_write_index()` takes a tempfile and that when we call it, we either have a tempfile which we can easily hand down, or we have a lock file, from which we need to somehow obtain the internal tempfile. So we need to leave that one instance of peeking-into. Nevertheless, this commit leaves us not relying on exactly how the path of the tempfile / lock file is stored internally. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Reviewed-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Martin Ågren committed Jan 5, 2021 at 20:23 UTC 6a8c89d053059b97adb846fce1d22f6d7704c56a
1 file changed +6 -6
read-cache.c
+6 -6
@@ -3014,10 +3014,10 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
3014 if (ce_flush(&c, newfd, istate->oid.hash))
3015 return -1;
3016 if (close_tempfile_gently(tempfile)) {
3017 - error(_("could not close '%s'"), tempfile->filename.buf);
3017 + error(_("could not close '%s'"), get_tempfile_path(tempfile));
3018 return -1;
3019 }
3020 - if (stat(tempfile->filename.buf, &st))
3020 + if (stat(get_tempfile_path(tempfile), &st))
3021 return -1;
3022 istate->timestamp.sec = (unsigned int)st.st_mtime;
3023 istate->timestamp.nsec = ST_MTIME_NSEC(st);
@@ -3058,10 +3058,10 @@ static int do_write_locked_index(struct index_state *istate, struct lock_file *l
3058 * that is associated with the given "istate".
3059 */
3060 trace2_region_enter_printf("index", "do_write_index", the_repository,
3061 - "%s", lock->tempfile->filename.buf);
3061 + "%s", get_lock_file_path(lock));
3062 ret = do_write_index(istate, lock->tempfile, 0);
3063 trace2_region_leave_printf("index", "do_write_index", the_repository,
3064 - "%s", lock->tempfile->filename.buf);
3064 + "%s", get_lock_file_path(lock));
3065
3066 if (ret)
3067 return ret;
@@ -3158,10 +3158,10 @@ static int write_shared_index(struct index_state *istate,
3158 move_cache_to_base_index(istate);
3159
3160 trace2_region_enter_printf("index", "shared/do_write_index",
3161 - the_repository, "%s", (*temp)->filename.buf);
3161 + the_repository, "%s", get_tempfile_path(*temp));
3162 ret = do_write_index(si->base, *temp, 1);
3163 trace2_region_leave_printf("index", "shared/do_write_index",
3164 - the_repository, "%s", (*temp)->filename.buf);
3164 + the_repository, "%s", get_tempfile_path(*temp));
3165
3166 if (ret)
3167 return ret;