text: """
  A script that replaces an old file with a new one, only if the contents
  actually changed.  If not, the new file is simply deleted.
  
  This avoids wholesale rebuilds when a code (re)generation phase does not
  actually change the in-tree generated code.
  """
  
  import os
  import sys
  
  
  def main(old_path, new_path):
      with open(old_path, 'rb') as f:
          old_contents = f.read()
      with open(new_path, 'rb') as f:
          new_contents = f.read()
      if old_contents != new_contents:
          os.replace(new_path, old_path)
      else:
          os.unlink(new_path)
  
  
  if __name__ == '__main__':
      if len(sys.argv) != 3:
          print "Usage: %s <path to be updated> <path with new contents>" % (sys.argv[0],)
          sys.exit(1)
      main(sys.argv[1], sys.argv[2])
  