File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ # coding=utf-8
2+ # Copyright 2020 The HuggingFace Inc. team.
3+ #
4+ # Licensed under the Apache License, Version 2.0 (the "License");
5+ # you may not use this file except in compliance with the License.
6+ # You may obtain a copy of the License at
7+ #
8+ # http://www.apache.org/licenses/LICENSE-2.0
9+ #
10+ # Unless required by applicable law or agreed to in writing, software
11+ # distributed under the License is distributed on an "AS IS" BASIS,
12+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ # See the License for the specific language governing permissions and
14+ # limitations under the License.
15+
16+ # this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
17+ # python ./utils/get_modified_files.py utils src tests examples
18+ #
19+ # it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
20+ # since the output of this script is fed into Makefile commands it doesn't print a newline after the results
21+
22+ import re
23+ import subprocess
24+ import sys
25+
26+
27+ fork_point_sha = subprocess .check_output ("git merge-base main HEAD" .split ()).decode ("utf-8" )
28+ modified_files = subprocess .check_output (f"git diff --name-only { fork_point_sha } " .split ()).decode ("utf-8" ).split ()
29+
30+ joined_dirs = "|" .join (sys .argv [1 :])
31+ regex = re .compile (rf"^({ joined_dirs } ).*?\.py$" )
32+
33+ relevant_modified_files = [x for x in modified_files if regex .match (x )]
34+ print (" " .join (relevant_modified_files ), end = "" )
You can’t perform that action at this time.
0 commit comments