| 12345678910111213141516171819202122232425262728 |
- """
- 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])
|