summaryrefslogtreecommitdiff
path: root/src/fileops.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fileops.c')
-rw-r--r--src/fileops.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/fileops.c b/src/fileops.c
index 22868b489..ce64934ea 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -837,6 +837,22 @@ int git_futils_cp(const char *from, const char *to, mode_t filemode)
return cp_by_fd(ifd, ofd, true);
}
+int git_futils_touch(const char *path)
+{
+ struct p_timeval times[2];
+ time_t now = time(NULL);
+ int ret;
+
+ times[0].tv_sec = now;
+ times[0].tv_usec = 0;
+ times[1].tv_sec = now;
+ times[1].tv_usec = 0;
+
+ ret = p_utimes(path, times);
+
+ return (ret < 0) ? git_path_set_error(errno, path, "touch") : 0;
+}
+
static int cp_link(const char *from, const char *to, size_t link_size)
{
int error = 0;