Restored check of git status after a committ, but only for the one file being committed

This commit is contained in:
Martin Green 2023-05-01 22:06:48 +01:00
parent 40126f6e2f
commit 783154d24a

View File

@ -145,22 +145,21 @@ def write_and_commit(files, message):
else:
print(f"No change {filepath}")
subprocess.run([git, "commit", filename, "-m", message], cwd=cwd, capture_output=True, text=True)
#cp_status = subprocess.run([git, "status"], cwd=cwd, capture_output=True, text=True)
# This produces return code = 1 if it commits OK, but when the repo still needs to be pushed to origin/expoweb
#if cp_status.stdout.split("\n")[-2] != "nothing to commit, working tree clean":
# print("FOO: ", cp_status.stdout.split("\n")[-2])
# msgdata = (
# "Ask a nerd to fix this.\n\n"
# + cp_status.stderr
# + "\n\n"
# + cp_status.stdout
# + "\n\nreturn code: "
# + str(cp_status.returncode)
# )
# raise WriteAndCommitError(
# f"Error code with git on server for this file {filename}. Edits saved, added to git, but NOT committed.\n\n"
# + msgdata
# )
cp_status = subprocess.run([git, "status", filename], cwd=cwd, capture_output=True, text=True)
#This produces return code = 1 if it commits OK, but when the repo still needs to be pushed to origin/expoweb
if cp_status.stdout.split("\n")[-2] != "nothing to commit, working tree clean":
msgdata = (
"Ask a nerd to fix this.\n\n"
+ cp_status.stderr
+ "\n\n"
+ cp_status.stdout
+ "\n\nreturn code: "
+ str(cp_status.returncode)
)
raise WriteAndCommitError(
f"Error code with git on server for this file {filename}. Edits saved, added to git, but NOT committed.\n\n"
+ msgdata
)
except subprocess.SubprocessError:
raise WriteAndCommitError(
f"CANNOT git on server for this file {filename}. Subprocess error. Edits not saved.\nAsk a nerd to fix this."