old_contents: from __future__ import print_function
  
  import argparse
  import sys
  
  CONFLICT_PATTERNS = [
      '<<<<<<< ',
      '=======',
      '>>>>>>> '
  ]
  WARNING_MSG = 'Merge conflict string "{0}" found in {1}:{2}'
  
  
  def detect_merge_conflict(argv=None):
      parser = argparse.ArgumentParser()
      parser.add_argument('filenames', nargs='*')
      args = parser.parse_args(argv)
  
      retcode = 0
      for filename in args.filenames:
          with open(filename) as inputfile:
              for i, line in enumerate(inputfile):
                  for pattern in CONFLICT_PATTERNS:
                      if line.startswith(pattern):
                          print(WARNING_MSG.format(pattern, filename, i))
                          retcode = 1
  
      return retcode
  
  if __name__ == '__main__':
      sys.exit(detect_merge_conflict())
  
new_contents: from __future__ import print_function
  
  import argparse
  import sys
  
  CONFLICT_PATTERNS = [
      '<<<<<<< ',
      '=======',
      '>>>>>>> '
  ]
  WARNING_MSG = 'Merge conflict string "{0}" found in {1}:{2}'
  
  
  def detect_merge_conflict(argv=None):
      parser = argparse.ArgumentParser()
      parser.add_argument('filenames', nargs='*')
      args = parser.parse_args(argv)
  
      retcode = 0
      for filename in args.filenames:
          with open(filename) as inputfile:
              for i, line in enumerate(inputfile):
                  for pattern in CONFLICT_PATTERNS:
                      if line.startswith(pattern):
                          print(WARNING_MSG.format(pattern, filename, i + 1))
                          retcode = 1
  
      return retcode
  
  if __name__ == '__main__':
      sys.exit(detect_merge_conflict())
  
subject: Fix off by one error in line number enumeration