Преглед на файлове

Flesh out error handling for merge/rebase.

tags/v0.2
Ben Kurtovic преди 10 години
родител
ревизия
7953684627
променени са 1 файла, в които са добавени 13 реда и са изтрити 5 реда
  1. +13
    -5
      gitup/update.py

+ 13
- 5
gitup/update.py Целия файл

@@ -62,16 +62,17 @@ def _rebase(repo, name):
try:
res = repo.git.rebase(name)
except exc.GitCommandError as err:
if "unstaged changes" in err.stderr:
msg = err.stderr.replace("\n", " ").strip()
if "unstaged changes" in msg:
print(" error:", "unstaged changes.")
elif "uncommitted changes" in err.stderr:
elif "uncommitted changes" in msg:
print(" error:", "uncommitted changes.")
else:
try:
repo.git.rebase("--abort")
except exc.GitCommandError:
pass
print(" error:", err.stderr.replace("\n", " "))
print(" error:", msg if msg else "rebase conflict")
else:
print(" done.")

@@ -81,8 +82,15 @@ def _merge(repo, name):
try:
repo.git.merge(name)
except exc.GitCommandError as err:
print(err)
### TODO: etc
msg = err.stderr.replace("\n", " ").strip()
if "local changes" in msg and "would be overwritten" in msg:
print(" error:", "uncommitted changes.")
else:
try:
repo.git.merge("--abort")
except exc.GitCommandError:
pass
print(" error:", msg if msg else "merge conflict")
else:
print(" done.")



Зареждане…
Отказ
Запис