@@ -68,6 +68,8 @@ def main():
68
68
update_or_generate_group .add_argument ("--update" , help = "Update the file in-place" , action = "store_true" )
69
69
update_or_generate_group .add_argument ("--opts" , help = "other options" ,
70
70
action = "store" , default = '' , type = str )
71
+ parser .add_argument ("--update-manual" , help = "When using --update, also update files that do not have the "
72
+ "autogenerated disclaimer" , action = "store_true" )
71
73
args = parser .parse_args ()
72
74
73
75
if not args .source :
@@ -89,17 +91,20 @@ def main():
89
91
# When updating the first line of the test must be a RUN: line
90
92
with open (args .source , "r" ) as srcf :
91
93
first_line = srcf .readline ()
92
- filters_line_next = False
94
+ found_autogenerated_line = False
93
95
filters_line = None
94
96
for i , line in enumerate (srcf .readlines ()):
95
- if filters_line_next :
97
+ if found_autogenerated_line :
96
98
# print("Filters line: '", line.rstrip(), "'", sep="")
97
99
if line .startswith (filters_line_prefix ):
98
100
filters_line = line [len (filters_line_prefix ):].rstrip ()
99
101
break
100
102
if line .startswith (note_firstline ):
101
- filters_line_next = True
103
+ found_autogenerated_line = True
102
104
# print("Found autogenerated disclaimer at line", i + 1)
105
+ if not found_autogenerated_line and not args .update_manual :
106
+ print ("Not updating" , args .source , "since it is not autogenerated." )
107
+ sys .exit (0 )
103
108
if not args .filters and filters_line :
104
109
args .filters = filters_line
105
110
print ("Inferred filters as '" + args .filters + "'" )
0 commit comments