Quoting Eric Engestrom (2018-08-14 10:24:11) > Signed-off-by: Eric Engestrom <eric.engest...@intel.com> > --- > bin/git_sha1_gen.py | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/bin/git_sha1_gen.py b/bin/git_sha1_gen.py > index 68a87e72ec563ce6298f..bc0279ccef16d42bb88d 100755 > --- a/bin/git_sha1_gen.py > +++ b/bin/git_sha1_gen.py > @@ -28,6 +28,18 @@ def get_git_sha1(): > git_sha1 = '' > return git_sha1 > > +def write_if_different(contents): > + """ > + Avoid touching the output file if it doesn't need modifications > + Useful to avoid triggering revuilds when nothing has changed. ^ b > + """ > + with open(args.output, 'r') as file: > + if file.read() == contents: > + return > + with open(args.output, 'w') as file: > + file.write(contents) > + > parser = argparse.ArgumentParser() > parser.add_argument('--output', help='File to write the #define in', > required=True) > @@ -39,11 +51,6 @@ def get_git_sha1(): > '..', 'src', 'git_sha1.h.in') > with open(git_sha1_h_in_path , 'r') as git_sha1_h_in: > new_sha1 = git_sha1_h_in.read().replace('@VCS_TAG@', git_sha1) > - if os.path.isfile(args.output): > - with open(args.output, 'r') as git_sha1_h: > - if git_sha1_h.read() == new_sha1: > - quit() > - with open(args.output, 'w') as git_sha1_h: > - git_sha1_h.write(new_sha1) > + write_if_different(new_sha1) > else: > - open(args.output, 'w').close() > + write_if_different('') > -- > Cheers, > Eric > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev