File tree Expand file tree Collapse file tree 1 file changed +3
-11
lines changed Expand file tree Collapse file tree 1 file changed +3
-11
lines changed Original file line number Diff line number Diff line change @@ -364,6 +364,7 @@ class RemoteProgress(object):
364364                 '_seen_ops' ,
365365                 'error_lines' ,  # Lines that started with 'error:' or 'fatal:'. 
366366                 'other_lines' )  # Lines not denoting progress (i.e.g. push-infos). 
367+     re_ansi_escape  =  re .compile (r'\x1B[@-_][0-?]*[ -/]*[@-~]' )
367368    re_op_absolute  =  re .compile (r"(remote: )?([\w\s]+):\s+()(\d+)()(.*)" )
368369    re_op_relative  =  re .compile (r"(remote: )?([\w\s]+):\s+(\d+)% \((\d+)/(\d+)\)(.*)" )
369370
@@ -392,17 +393,8 @@ def _parse_progress_line(self, line):
392393
393394        # find escape characters and cut them away - regex will not work with 
394395        # them as they are non-ascii. As git might expect a tty, it will send them 
395-         last_valid_index  =  None 
396-         for  i , c  in  enumerate (reversed (line )):
397-             if  ord (c ) <  32 :
398-                 # its a slice index 
399-                 last_valid_index  =  - i  -  1 
400-             # END character was non-ascii 
401-         # END for each character in line 
402-         if  last_valid_index  is  not None :
403-             line  =  line [:last_valid_index ]
404-         # END cut away invalid part 
405-         line  =  line .rstrip ()
396+         line  =  self .re_ansi_escape .sub ('' , line )
397+         line .strip ()
406398
407399        cur_count , max_count  =  None , None 
408400        match  =  self .re_op_relative .match (line )
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments