6
6
7
7
from TarSCM .scm .base import Scm
8
8
9
+ def color_red (s ):
10
+ if not os .isatty (1 ):
11
+ return s
12
+ return "\033 [0;31m" + s + "\033 [0m"
9
13
10
14
class Git (Scm ):
11
15
scm = 'git'
@@ -200,9 +204,8 @@ def _detect_parent_tag(self, args):
200
204
201
205
def _detect_version_parent_tag (self , parent_tag , versionformat ): # noqa pylint: disable=no-self-use
202
206
if not parent_tag :
203
- sys .exit ("\033 [31mNo parent tag present for the checked out "
204
- "revision, thus @PARENT_TAG@ cannot be expanded."
205
- "\033 [0m" )
207
+ sys .exit (color_red ("No parent tag present for the checked out "
208
+ "revision, thus @PARENT_TAG@ cannot be expanded." ))
206
209
207
210
versionformat = re .sub ('@PARENT_TAG@' , parent_tag ,
208
211
versionformat )
@@ -214,15 +217,14 @@ def check_ancestry(self, parent_tag):
214
217
self .clone_dir
215
218
)
216
219
if rcode :
217
- sys .exit (" \033 [31m `git rev-parse " + parent_tag + "` failed: " +
218
- tgcommit + " \033 [0m" )
220
+ sys .exit (color_red ( " `git rev-parse " + parent_tag + "` failed: " +
221
+ tgcommit ) )
219
222
rcode , head = self .helpers .run_cmd (
220
223
["git" , "rev-parse" , "HEAD" ],
221
224
self .clone_dir
222
225
)
223
226
if rcode :
224
- sys .exit ("\033 [31m`git rev-parse HEAD` failed: " +
225
- head + "\033 [0m" )
227
+ sys .exit (color_red ("`git rev-parse HEAD` failed: " + head ))
226
228
rcode , mgbase = self .helpers .run_cmd (
227
229
["git" , "merge-base" , parent_tag , "HEAD" ],
228
230
self .clone_dir
@@ -231,24 +233,20 @@ def check_ancestry(self, parent_tag):
231
233
head = head .strip ()
232
234
mgbase = mgbase .strip ()
233
235
if mgbase != tgcommit :
234
- sys .exit (" \033 [31mparent_tag is not an ancestor of HEAD. " +
235
- "Cannot compute a (meaningful) distance.\033 [0m" )
236
+ sys .exit (color_red ( "parent_tag is not an ancestor of HEAD. " +
237
+ "Cannot compute a (meaningful) distance." ) )
236
238
237
239
def _detect_version_tag_offset (self , parent_tag , versionformat ):
238
240
if not parent_tag :
239
- sys .exit ("\033 [31m@TAG_OFFSET@ cannot be expanded, "
240
- "as no parent tag was discovered.\033 [0m" )
241
-
241
+ sys .exit (color_red ("@TAG_OFFSET@ cannot be expanded, as no parent tag was discovered." ))
242
242
self .check_ancestry (parent_tag )
243
243
rcode , output = self .helpers .run_cmd (
244
244
self ._get_scm_cmd () + ['rev-list' , '--count' , parent_tag + '..HEAD' ],
245
245
self .clone_dir
246
246
)
247
247
248
248
if rcode :
249
- msg = "\033 [31m@TAG_OFFSET@ can not be expanded: %s\033 [0m"
250
- msg .format (out )
251
- sys .exit (msg )
249
+ sys .exit (color_red ("@TAG_OFFSET@ can not be expanded: " + output ))
252
250
253
251
tag_offset = out .strip ()
254
252
versionformat = re .sub ('@TAG_OFFSET@' , tag_offset ,
0 commit comments