If the patch is changed in the editor in such a way that cg-patch can not apply it, all changes made since the last commit are irrecoverably lost, which is _really_ bad.
This patch lets cg-commit reapply the old patch and keep the edited patch for manual fix-up.
Signed-off-by: Dennis Stosberg <dennis@stosberg.net> --- cg-commit | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
Show changes to cg-commit +5 −2
diff --git a/cg-commit b/cg-commit index 0cec58f..9604ad7 100755 --- a/cg-commit +++ b/cg-commit @@ -524,8 +524,11 @@ if [ "$review" ]; then fi echo "Applying the edited patch..." if ! cg-patch < "$PATCH2"; then - rm "$PATCH" "$PATCH2" "$LOGMSG" - die "unable to apply the edited patch" + echo "The edited patch does not apply. Reapplying old patch." + cg-patch <"$PATCH" >/dev/null + edited_patch="$(mktemp -t edited-patch.XXXXXX)" + mv "$PATCH2" "$edited_patch" + die "You can find the edited patch in \"$edited_patch\" for manual review." fi fi fi
-- 1.4.1