Skip to content

Commit 4d98a1b

Browse files
committed
refactor(commit): simplify call
1 parent a0cc490 commit 4d98a1b

File tree

1 file changed

+20
-31
lines changed

1 file changed

+20
-31
lines changed

commitizen/commands/commit.py

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -94,39 +94,31 @@ def manual_edit(self, message: str) -> str:
9494

9595
def __call__(self):
9696
extra_args: str = self.arguments.get("extra_cli_args", "")
97-
98-
allow_empty: bool = "--allow-empty" in extra_args
99-
10097
dry_run: bool = self.arguments.get("dry_run")
10198
write_message_to_file: bool = self.arguments.get("write_message_to_file")
102-
manual_edit: bool = self.arguments.get("edit")
99+
signoff: bool = self.arguments.get("signoff")
103100

104-
is_all: bool = self.arguments.get("all")
105-
if is_all:
106-
c = git.add("-u")
101+
if self.arguments.get("all"):
102+
git.add("-u")
107103

108-
if git.is_staging_clean() and not (dry_run or allow_empty):
104+
if git.is_staging_clean() and not (dry_run or "--allow-empty" in extra_args):
109105
raise NothingToCommitError("No files added to staging!")
110106

111107
if write_message_to_file is not None and write_message_to_file.is_dir():
112108
raise NotAllowed(f"{write_message_to_file} is a directory")
113109

114-
retry: bool = self.arguments.get("retry")
115-
no_retry: bool = self.arguments.get("no_retry")
116-
retry_after_failure: bool = self.config.settings.get("retry_after_failure")
117-
118-
if retry:
110+
if self.arguments.get("retry"):
119111
m = self.read_backup_message()
120112
if m is None:
121113
raise NoCommitBackupError()
122-
elif retry_after_failure and not no_retry:
123-
m = self.read_backup_message()
124-
if m is None:
125-
m = self.prompt_commit_questions()
126-
else:
114+
elif (
115+
not self.config.settings.get("retry_after_failure")
116+
or self.arguments.get("no_retry")
117+
or self.read_backup_message() is None
118+
):
127119
m = self.prompt_commit_questions()
128120

129-
if manual_edit:
121+
if self.arguments.get("edit"):
130122
m = self.manual_edit(m)
131123

132124
out.info(f"\n{m}\n")
@@ -138,19 +130,15 @@ def __call__(self):
138130
if dry_run:
139131
raise DryRunExit()
140132

141-
always_signoff: bool = self.config.settings["always_signoff"]
142-
signoff: bool = self.arguments.get("signoff")
143-
144133
if signoff:
145134
out.warn(
146135
"signoff mechanic is deprecated, please use `cz commit -- -s` instead."
147136
)
148137

149-
if always_signoff or signoff:
138+
if self.config.settings["always_signoff"] or signoff:
150139
extra_args = f"{extra_args} -s".strip()
151140

152141
c = git.commit(m, args=extra_args)
153-
154142
if c.return_code != 0:
155143
out.error(c.err)
156144

@@ -160,11 +148,12 @@ def __call__(self):
160148

161149
raise CommitError()
162150

163-
if "nothing added" in c.out or "no changes added to commit" in c.out:
151+
if any(s in c.out for s in ("nothing added", "no changes added to commit")):
164152
out.error(c.out)
165-
else:
166-
with contextlib.suppress(FileNotFoundError):
167-
os.remove(self.temp_file)
168-
out.write(c.err)
169-
out.write(c.out)
170-
out.success("Commit successful!")
153+
return
154+
155+
with contextlib.suppress(FileNotFoundError):
156+
os.remove(self.temp_file)
157+
out.write(c.err)
158+
out.write(c.out)
159+
out.success("Commit successful!")

0 commit comments

Comments
 (0)