git: Update the mtime of the just-updated checkout.
Reported by zimoun <zimon.toutoune@gmail.com>. Previously, the mtime of CACHE-DIRECTORY may or may not have been updated after a pull. Thus, 'maybe-remove-expired-cache-entries' could potentially delete CACHE-DIRECTORY right before it's returned. * guix/git.scm (update-cached-checkout): Call 'utime' on CACHE-DIRECTORY.master
parent
6a9abdcd5d
commit
baf0a42882
|
@ -424,6 +424,14 @@ it unchanged."
|
|||
;; REPOSITORY as soon as possible.
|
||||
(repository-close! repository)
|
||||
|
||||
;; Update CACHE-DIRECTORY's mtime to so the cache logic sees it.
|
||||
(match (gettimeofday)
|
||||
((seconds . microseconds)
|
||||
(let ((nanoseconds (* 1000 microseconds)))
|
||||
(utime cache-directory
|
||||
seconds seconds
|
||||
nanoseconds nanoseconds))))
|
||||
|
||||
;; When CACHE-DIRECTORY is a sub-directory of the default cache
|
||||
;; directory, remove expired checkouts that are next to it.
|
||||
(let ((parent (dirname cache-directory)))
|
||||
|
|
Reference in New Issue