summaryrefslogtreecommitdiffstats
path: root/manifest_xml.py
diff options
context:
space:
mode:
authorEmily Shaffer <nasamuffin@google.com>2023-09-15 13:26:38 -0700
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-11-09 22:13:17 +0000
commit8a6d1724d9d9f4598d15338be9723542ba79467e (patch)
tree952ef4c542e5ef711bb675e6d9c8949efa30ae6f /manifest_xml.py
parent3652b497bbbd6227b2cb84bb61a0fe8d21ba20d6 (diff)
downloadgit-repo-8a6d1724d9d9f4598d15338be9723542ba79467e.tar.gz
git_superproject: tell git that superproject is bare
The superproject is initialized as a bare repo in Superproject:_Init(). That means that later operations must treat it as a bare repository, specifying the gitdir and setting 'bare' appropriately when launching GitCommand()s. It's also OK not to specify cwd here because GitCommand() will drop cwd if bare == True anyways. With this change, it's possible to run `repo init` and `repo sync` with the Git config 'safe.bareRepository' set to 'explicit'. This config strengthens Git's security posture against embedded bare repository attacks like https://github.com/justinsteven/advisories/blob/main/2022_git_buried_bare_repos_and_fsmonitor_various_abuses.md. Bug: b/227257481 Change-Id: I954a64c6883d2ca2af9c603e7076fd83b52584e9 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/389794 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Jason R. Coombs <jaraco@google.com> Tested-by: Emily Shaffer <emilyshaffer@google.com> Reviewed-by: Emily Shaffer <emilyshaffer@google.com> Commit-Queue: Jason R. Coombs <jaraco@google.com>
Diffstat (limited to 'manifest_xml.py')
0 files changed, 0 insertions, 0 deletions