tools/git/git-diff-ide.py
def PrintGitDiff(extra_args):
  """Outputs git diff extra_args with file:line inserted into relevant lines."""
  current_file = '';
  line_num = 0;
  lines = GitShell('git diff %s' % ' '.join(extra_args))
  for line in lines:
    # Pass-through lines:
    #  diff --git a/file.c b/file.c
    #  index 0e38c2d..8cd69ae 100644
    #  --- a/file.c
    if (line.startswith('diff ') or
        line.startswith('index ') or
        line.startswith('--- ')):
      print(line)
      continue

    # Get the filename from the +++ line:
    #  +++ b/file.c
    if line.startswith('+++ '):
      # Filename might be /dev/null or a/file or b/file.
      # Skip the first two characters unless it starts with /.
      current_file = line[4:] if line[4] == '/' else line[6:]
      print(line)
      continue

    # Update line number from the @@ lines:
    #  @@ -41,9 +41,9 @@ def MyFunc():
    #            ^^
    if line.startswith('@@ '):
      _, old_nr, new_nr, _ = line.split(' ', 3)
      line_num = int(new_nr.split(',')[0])
      print(line)
      continue
    print(current_file + ':' + repr(line_num) + ':' + line)

    # Increment line number for lines that start with ' ' or '+':
    #  @@ -41,4 +41,4 @@ def MyFunc():
    #  file.c:41: // existing code
    #  file.c:42: // existing code
    #  file.c:43:-// deleted code
    #  file.c:43:-// deleted code
    #  file.c:43:+// inserted code
    #  file.c:44:+// inserted code
    if line.startswith(' ') or line.startswith('+'):
      line_num += 1
Outputs git diff extra_args with file:line inserted into relevant lines.
Outputs git diff extra_args with file:line inserted into relevant lines.
Outputs git diff extra_args with file : line inserted into relevant lines .
def PrintGitDiff(extra_args):
  current_file = '';
  line_num = 0;
  lines = GitShell('git diff %s' % ' '.join(extra_args))
  for line in lines:
    if (line.startswith('diff ') or
        line.startswith('index ') or
        line.startswith('--- ')):
      print(line)
      continue
    if line.startswith('+++ '):
      current_file = line[4:] if line[4] == '/' else line[6:]
      print(line)
      continue
    if line.startswith('@@ '):
      _, old_nr, new_nr, _ = line.split(' ', 3)
      line_num = int(new_nr.split(',')[0])
      print(line)
      continue
    print(current_file + ':' + repr(line_num) + ':' + line)
    if line.startswith(' ') or line.startswith('+'):
      line_num += 1
def PrintGitDiff ( extra_args ) : current_file = '' ; line_num = 0 ; lines = GitShell ( 'git diff %s' % ' ' . join ( extra_args ) ) for line in lines : if ( line . startswith ( 'diff ' ) or line . startswith ( 'index ' ) or line . startswith ( '--- ' ) ) : print ( line ) continue if line . startswith ( '+++ ' ) : current_file = line [ 4 : ] if line [ 4 ] == '/' else line [ 6 : ] print ( line ) continue if line . startswith ( '@@ ' ) : _ , old_nr , new_nr , _ = line . split ( ' ' , 3 ) line_num = int ( new_nr . split ( ',' ) [ 0 ] ) print ( line ) continue print ( current_file + ':' + repr ( line_num ) + ':' + line ) if line . startswith ( ' ' ) or line . startswith ( '+' ) : line_num += 1
Outputs git diff extra_args with file:line inserted into relevant lines.
Outputs git diff extra_args with file : line inserted into relevant lines .
"""Outputs git diff extra_args with file:line inserted into relevant lines.""" # Pass-through lines: #  diff --git a/file.c b/file.c #  index 0e38c2d..8cd69ae 100644 #  --- a/file.c # Get the filename from the +++ line: #  +++ b/file.c # Filename might be /dev/null or a/file or b/file. # Skip the first two characters unless it starts with /. # Update line number from the @@ lines: #  @@ -41,9 +41,9 @@ def MyFunc(): #            ^^ # Increment line number for lines that start with ' ' or '+': #  @@ -41,4 +41,4 @@ def MyFunc(): #  file.c:41: // existing code #  file.c:42: // existing code #  file.c:43:-// deleted code #  file.c:43:-// deleted code #  file.c:43:+// inserted code #  file.c:44:+// inserted code
extra_args