Maxime Devos writes:
> Maybe 'latest-repository-commit' and 'update-cached-checkout' commit > can be modified to not use 'switch-to-ref', and instead directly ask > libgit ‘what's the tree structure of commit cabba9e’ and call a > procedure like 'add-file-tree-to-store'. That would avoid lock files, > creating separate directories for concurrent checkouts, ... Thanks Maxime - I'll take a look at this as an option. One option I was thinking of is to make this SHA call dependent on the branch as well as the URL: https://github.com/guix-mirror/guix/blob/9f526f5dad5f4af69d158c50369e182305147f3b/guix/git.scm#L131-L133 Technically this still leaves a race condition if someone were to do parallel builds on the same branch however, so to completely solve the problem I think we'd have make the SHA call on repo+commit-id. This obviously limit the utility of the cache. To mitigate performance concerns, I think it's possible to set the branches and depth in git such that we only clone the bare-bones only?.