Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 71e0e32

Browse files
refactor(commit): simplify call
1 parent a0cc490 commit 71e0e32

File tree

1 file changed

+28
-36
lines changed

1 file changed

+28
-36
lines changed

‎commitizen/commands/commit.py‎

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -92,41 +92,36 @@ def manual_edit(self, message: str) -> str:
9292
os.unlink(file.name)
9393
return message
9494

95-
def __call__(self):
96-
extra_args: str = self.arguments.get("extra_cli_args", "")
95+
def _get_message(self) -> str:
96+
if self.arguments.get("retry"):
97+
m = self.read_backup_message()
98+
if m is None:
99+
raise NoCommitBackupError()
100+
return m
97101

98-
allow_empty: bool = "--allow-empty" in extra_args
102+
if self.config.settings.get("retry_after_failure") and not self.arguments.get(
103+
"no_retry"
104+
):
105+
return self.prompt_commit_questions()
106+
return self.read_backup_message() or self.prompt_commit_questions()
99107

108+
def __call__(self):
109+
extra_args: str = self.arguments.get("extra_cli_args", "")
100110
dry_run: bool = self.arguments.get("dry_run")
101111
write_message_to_file: bool = self.arguments.get("write_message_to_file")
102-
manual_edit: bool = self.arguments.get("edit")
112+
signoff: bool = self.arguments.get("signoff")
103113

104-
is_all: bool = self.arguments.get("all")
105-
if is_all:
106-
c = git.add("-u")
114+
if self.arguments.get("all"):
115+
git.add("-u")
107116

108-
if git.is_staging_clean() and not (dry_run or allow_empty):
117+
if git.is_staging_clean() and not (dry_run or "--allow-empty"inextra_args):
109118
raise NothingToCommitError("No files added to staging!")
110119

111120
if write_message_to_file is not None and write_message_to_file.is_dir():
112121
raise NotAllowed(f"{write_message_to_file} is a directory")
113122

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:
119-
m = self.read_backup_message()
120-
if m is None:
121-
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:
127-
m = self.prompt_commit_questions()
128-
129-
if manual_edit:
123+
m = self._get_message()
124+
if self.arguments.get("edit"):
130125
m = self.manual_edit(m)
131126

132127
out.info(f"\n{m}\n")
@@ -138,19 +133,15 @@ def __call__(self):
138133
if dry_run:
139134
raise DryRunExit()
140135

141-
always_signoff: bool = self.config.settings["always_signoff"]
142-
signoff: bool = self.arguments.get("signoff")
143-
144136
if signoff:
145137
out.warn(
146138
"signoff mechanic is deprecated, please use `cz commit -- -s` instead."
147139
)
148140

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

152144
c = git.commit(m, args=extra_args)
153-
154145
if c.return_code != 0:
155146
out.error(c.err)
156147

@@ -160,11 +151,12 @@ def __call__(self):
160151

161152
raise CommitError()
162153

163-
if "nothing added"in c.out or"no changes added to commit"inc.out:
154+
if any(sin c.out forsin ("nothing added", "no changes added to commit")):
164155
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!")
156+
return
157+
158+
with contextlib.suppress(FileNotFoundError):
159+
os.remove(self.temp_file)
160+
out.write(c.err)
161+
out.write(c.out)
162+
out.success("Commit successful!")

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /