From f38d7b2603ad225bf4e43480470956db9d8dc0f5 Mon Sep 17 00:00:00 2001 From: Mark Hall <mark.hall@work.room3b.eu> Date: Thu, 12 Mar 2020 10:07:45 +0000 Subject: [PATCH] Handle merge errors more cleanly --- CHANGES.md | 2 ++ editor/views/repository.py | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0c70ac6..944a7ae 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,8 @@ ## Development (): +* **Bugfix**: Handle git merge errors more cleanly + ## 0.9.4 (11.03.2020): * **New**: Added support for marking up signatures diff --git a/editor/views/repository.py b/editor/views/repository.py index 1dd45c2..8b6da68 100644 --- a/editor/views/repository.py +++ b/editor/views/repository.py @@ -51,6 +51,7 @@ def repository(request, rid): repo.remotes.origin.fetch() repo.remotes.origin.pull() except: + repo.git.checkout('--') errors.append({'msg': _('Fetching changes failed'), 'level': 'alert'}) try: @@ -107,10 +108,13 @@ def local_merge(request, rid): repository.heads.master.checkout() repository.remotes.origin.pull() repository.heads[request.user.username].checkout() - # Merge them in - repository.git.merge('master') - # Pull any branch changes - repository.remotes.origin.pull() - # Push all changes - repository.remotes.origin.push() + try: + # Merge them in + repository.git.merge('master') + # Pull any branch changes + repository.remotes.origin.pull() + # Push all changes + repository.remotes.origin.push() + except: + repository.git.merge('--abort') return HttpResponse('', status=200) -- GitLab