fix #125: handle 'git log' failures gracefully

This commit is contained in:
Ryan Hitchman 2014-11-26 15:58:28 -08:00
parent 5e21e1b7b5
commit d1a9309b03
1 changed files with 9 additions and 7 deletions

View File

@ -8,13 +8,15 @@ socket.setdefaulttimeout(10) # global setting
def get_version():
p = subprocess.Popen(['git', 'log', '--oneline'], stdout=subprocess.PIPE)
stdout, _ = p.communicate()
p.wait()
revnumber = len(stdout.splitlines())
shorthash = stdout.split(None, 1)[0]
try:
stdout = subprocess.check_output(['git', 'log', '--format=%h'])
except:
revnumber = 0
shorthash = '????'
else:
revs = stdout.splitlines()
revnumber = len(revs)
shorthash = revs[0]
http.ua_skybot = 'Skybot/r%d %s (http://github.com/rmmh/skybot)' \
% (revnumber, shorthash)