Skip to content

Commit 243b8ab

Browse files
Ensure git configs if user does not have git settings
1 parent 4b8586c commit 243b8ab

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

git_utils.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,24 @@ def _get_full_commit_message(message, module_name, frid, render_id) -> str:
4242
return full_message
4343

4444

45+
def _ensure_git_config(repo: Repo) -> None:
46+
config = repo.config_reader()
47+
48+
try:
49+
config.get_value("user", "name")
50+
except Exception:
51+
# user.name not configured, set a default at repo level
52+
with repo.config_writer(config_level="repository") as writer:
53+
writer.set_value("user", "name", "Codeplain")
54+
55+
try:
56+
config.get_value("user", "email")
57+
except Exception:
58+
# user.email not configured, set a default at repo level
59+
with repo.config_writer(config_level="repository") as writer:
60+
writer.set_value("user", "email", "codeplain@localhost")
61+
62+
4563
def init_git_repo(
4664
path_to_repo: Union[str, os.PathLike], module_name: Optional[str] = None, render_id: Optional[str] = None
4765
) -> Repo:
@@ -56,6 +74,7 @@ def init_git_repo(
5674
os.makedirs(path_to_repo)
5775

5876
repo = Repo.init(path_to_repo)
77+
_ensure_git_config(repo)
5978
repo.git.commit(
6079
"--allow-empty", "-m", _get_full_commit_message(INITIAL_COMMIT_MESSAGE, module_name, None, render_id)
6180
)

0 commit comments

Comments
 (0)