From 13576a8cafb1369e978c03c7f73053c8ab015e4b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 20 Dec 2021 18:02:14 -0500 Subject: [PATCH] project: stop symlinking info dir under .git/ Unsharing this directory shouldn't be a problem. The current repo code treated it as a file, and while that's actually incorrect, files & dirs are basically treated the same, so it's practically the same. Let's enumerate each subpath since there aren't that many. info/refs: Only used when the project is exported over git dumb transports (i.e. a http:// server). Repo never does this, and it's extremely unlikely any user has ever done this. Plus, this proposal talks about unsharing project refs, so this file should get unshared too. info/grafts: A user-configurable file that repo never touches. Might be useful to share across projects, but probably rarely (if ever) used by developers, and forcing them to configure it for each project isn't that big of a deal. info/exclude: info/attributes: User-configurable files that repo never touches. Doesn't seem like most users ever touch these, and if they do, having them do it for each shared project isn't a big deal. info/sparse-checkout: Repo doesn't use sparse checkouts, and it's extremely unlikely to even work if a user tried doing something themselves. Bug: https://crbug.com/gerrit/15460 Change-Id: I53e44d73a6d7a92da615b46600d8ea51cb46e3ac Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/327519 Reviewed-by: Jonathan Nieder Tested-by: Mike Frysinger --- project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project.py b/project.py index a764b95..de593c8 100644 --- a/project.py +++ b/project.py @@ -457,7 +457,7 @@ class RemoteSpec(object): class Project(object): # These objects can be shared between several working trees. - shareable_files = ['info'] + shareable_files = [] shareable_dirs = ['hooks', 'objects', 'rr-cache'] def __init__(self,