diff options
Diffstat (limited to 'src/fileops.c')
-rw-r--r-- | src/fileops.c | 16 |
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; |