1 |
Signed-off-by: Matt Turner <mattst88@g.o> |
2 |
--- |
3 |
catalyst/targets/snapshot.py | 34 ++++++++++++++++++++++------------ |
4 |
1 file changed, 22 insertions(+), 12 deletions(-) |
5 |
|
6 |
diff --git a/catalyst/targets/snapshot.py b/catalyst/targets/snapshot.py |
7 |
index b6c72c51..497b2918 100644 |
8 |
--- a/catalyst/targets/snapshot.py |
9 |
+++ b/catalyst/targets/snapshot.py |
10 |
@@ -10,7 +10,7 @@ from pathlib import Path |
11 |
from catalyst import log |
12 |
from catalyst.base.targetbase import TargetBase |
13 |
from catalyst.lock import write_lock |
14 |
-from catalyst.support import command |
15 |
+from catalyst.support import CatalystError, command |
16 |
|
17 |
class snapshot(TargetBase): |
18 |
""" |
19 |
@@ -52,17 +52,27 @@ class snapshot(TargetBase): |
20 |
repouri, self.gitdir], |
21 |
] |
22 |
|
23 |
- for cmd in git_cmds: |
24 |
- log.notice('>>> ' + ' '.join(cmd)) |
25 |
- subprocess.run(cmd, |
26 |
- encoding='utf-8', |
27 |
- close_fds=False) |
28 |
- |
29 |
- sp = subprocess.run([self.git, '-C', self.gitdir, 'rev-parse', 'stable'], |
30 |
- stdout=subprocess.PIPE, |
31 |
- encoding='utf-8', |
32 |
- close_fds=False) |
33 |
- return sp.stdout.rstrip() |
34 |
+ try: |
35 |
+ for cmd in git_cmds: |
36 |
+ log.notice('>>> ' + ' '.join(cmd)) |
37 |
+ subprocess.run(cmd, |
38 |
+ capture_output=True, |
39 |
+ check=True, |
40 |
+ encoding='utf-8', |
41 |
+ close_fds=False) |
42 |
+ |
43 |
+ sp = subprocess.run([self.git, '-C', self.gitdir, 'rev-parse', 'stable'], |
44 |
+ stdout=subprocess.PIPE, |
45 |
+ capture_output=True, |
46 |
+ check=True, |
47 |
+ encoding='utf-8', |
48 |
+ close_fds=False) |
49 |
+ return sp.stdout.rstrip() |
50 |
+ |
51 |
+ except subprocess.CalledProcessError as e: |
52 |
+ raise CatalystError(f'{e.cmd} failed with return code' |
53 |
+ f'{e.returncode}\n' |
54 |
+ f'{e.output}\n') |
55 |
|
56 |
def run(self): |
57 |
if self.settings['snapshot_treeish'] == 'stable': |
58 |
-- |
59 |
2.26.2 |