Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Tested-by: Jason R. Coombs <[email protected]> Tested-by: Emily Shaffer <[email protected]> Reviewed-by: Emily Shaffer <[email protected]> Commit-Queue: Jason R. Coombs <[email protected]>
- Loading branch information