Skip to content

Commit d439f76

Browse files
author
Vladimir Kotal
committed
better command error logging
1 parent 3793254 commit d439f76

File tree

6 files changed

+27
-16
lines changed

6 files changed

+27
-16
lines changed

tools/sync/command.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,3 +277,13 @@ def getstate(self):
277277

278278
def getpid(self):
279279
return self.pid
280+
281+
def log_error(self, msg):
282+
if self.state is Command.FINISHED:
283+
self.logger.error("{}: command {} in directory {} exited with {}".
284+
format(msg, self.cmd, self.work_dir,
285+
self.getretcode()))
286+
else:
287+
self.logger.error("{}: command {} in directory {} ended with "
288+
"invalid state".
289+
format(msg, self.cmd, self.work_dir, self.state))

tools/sync/cvs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ def reposync(self):
4747
cmd.execute()
4848
self.logger.info(cmd.getoutputstr())
4949
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
50-
self.logger.error("failed to perform update for {}".
51-
format(self.path))
50+
self.logger.error("failed to perform update: command {}"
51+
"in directory {} exited with {}".
52+
format(hg_command, self.path, cmd.getretcode()))
5253
return 1
5354

5455
return 0

tools/sync/git.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ def reposync(self):
4747
cmd.execute()
4848
self.logger.info(cmd.getoutputstr())
4949
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
50-
self.logger.error("failed to perform pull for {}".
51-
format(self.path))
50+
cmd.log_error("failed to perform pull")
5251
return 1
5352

5453
return 0

tools/sync/mercurial.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,18 @@ def get_branch(self):
4545
cmd = self.getCommand(hg_command, work_dir=self.path,
4646
env_vars=self.env, logger=self.logger)
4747
cmd.execute()
48-
if cmd.getstate() != Command.FINISHED:
49-
self.logger.debug(cmd.getoutput())
50-
self.logger.error("failed to get branch for {}".
51-
format(self.path))
48+
self.logger.info(cmd.getoutputstr())
49+
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
50+
cmd.log_error("failed to get branch")
5251
return None
5352
else:
5453
if not cmd.getoutput():
54+
self.logger.error("no output from {}".
55+
format(hg_command))
5556
return None
5657
if len(cmd.getoutput()) == 0:
58+
self.logger.error("empty output from {}".
59+
format(hg_command))
5760
return None
5861
return cmd.getoutput()[0].strip()
5962

@@ -75,8 +78,8 @@ def reposync(self):
7578
# 'hg incoming' will return 1 if there are no incoming changesets,
7679
# so do not check the return value.
7780
#
78-
if cmd.getstate() != Command.FINISHED:
79-
self.logger.error("failed to run 'hg incoming'")
81+
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
82+
cmd.log_error("failed to get incoming changesets")
8083
return 1
8184

8285
hg_command = [self.command, "pull"]
@@ -88,7 +91,7 @@ def reposync(self):
8891
cmd.execute()
8992
self.logger.info(cmd.getoutputstr())
9093
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
91-
self.logger.error("failed to perform pull")
94+
cmd.log_error("failed to perform pull")
9295
return 1
9396

9497
hg_command = [self.command, "update"]
@@ -101,7 +104,7 @@ def reposync(self):
101104
cmd.execute()
102105
self.logger.info(cmd.getoutputstr())
103106
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
104-
self.logger.error("failed to perform pull and update")
107+
cmd.log_error("failed to perform pull and update")
105108
return 1
106109

107110
return 0

tools/sync/svn.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ def reposync(self):
7272
cmd.execute()
7373
self.logger.info(cmd.getoutputstr())
7474
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
75-
self.logger.error("failed to perform update for {}".
76-
format(self.path))
75+
cmd.log_error("failed to perform update")
7776
return 1
7877

7978
return 0

tools/sync/teamware.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ def reposync(self):
7474
cmd.execute()
7575
self.logger.info(cmd.getoutputstr())
7676
if cmd.getretcode() != 0 or cmd.getstate() != Command.FINISHED:
77-
self.logger.error("failed to perform bringover for {}".
78-
format(self.path))
77+
cmd.log_error("failed to perform bringover")
7978
return 1
8079

8180
return 0

0 commit comments

Comments
 (0)