diff --git a/src/lando/main/scm/git.py b/src/lando/main/scm/git.py index 64d96282..69ef52ed 100644 --- a/src/lando/main/scm/git.py +++ b/src/lando/main/scm/git.py @@ -13,7 +13,10 @@ from simple_github import AppAuth, AppInstallationAuth from lando.main.scm.consts import SCM_TYPE_GIT -from lando.main.scm.exceptions import SCMException +from lando.main.scm.exceptions import ( + PatchConflict, + SCMException, +) from lando.settings import LANDO_USER_EMAIL, LANDO_USER_NAME from .abstract_scm import AbstractSCM @@ -177,7 +180,11 @@ def apply_patch( ] for c in cmds: - self._git_run(*c, cwd=self.path) + try: + self._git_run(*c, cwd=self.path) + except SCMException as exc: + if "patch does not apply" in exc.err: + raise PatchConflict(exc.err) from exc @contextmanager def for_pull(self) -> ContextManager: