Created
February 16, 2024 15:59
-
-
Save ckerr/fa922ba91dcc06484cf9da6fc9f86ddf to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/scripts/patch.py b/scripts/patch.py | |
index 62dd248b..e4b7da1f 100755 | |
--- a/scripts/patch.py | |
+++ b/scripts/patch.py | |
@@ -29,6 +29,10 @@ def parse_args(): | |
type=boolean_string, nargs='?', | |
default=False, const=True, | |
help="dry run") | |
+ parser.add_argument('--remove', | |
+ type=boolean_string, nargs='?', | |
+ default=True, const=True, | |
+ help="remove old files when exporting patches") | |
parser.add_argument('-f', '--apply-ffmpeg-patches', | |
type=boolean_string, nargs='?', | |
@@ -144,7 +148,7 @@ def get_config_targets(config, patch_source_project_root=PROJECT_ROOT_DIR): | |
return json.loads(config_data) | |
-def export_patches(config, dry_run, | |
+def export_patches(config, dry_run, remove_old_patches, | |
patch_source_project_root=PROJECT_ROOT_DIR, | |
patch_target_project_root=PROJECT_ROOT_DIR): | |
for target in get_config_targets( | |
@@ -164,6 +168,7 @@ def export_patches(config, dry_run, | |
out_dir=out_dir, | |
patch_range=None, | |
dry_run=dry_run, | |
+ remove_old_patches=remove_old_patches, | |
grep="Patch-Dir: {}".format(out_dir), | |
ref="refs/{}/upstream-head".format(patch_dir)) | |
@@ -227,7 +232,7 @@ def get_target_repo_and_directory(repo_path, is_snapshot): | |
# Let's exclude "src/" from a path, | |
# e.g. "src/third_party/ffmpeg" -> "third_party/ffmpeg". | |
directory, top_level_dir = exclude_top_level_dir(repo_path) | |
- assert(top_level_dir == src_repo) | |
+ assert (top_level_dir == src_repo) | |
return src_repo, directory | |
@@ -250,7 +255,9 @@ def main(): | |
configs = get_configs_list(script_args.apply_ffmpeg_patches, is_snapshot) | |
for config in configs: | |
if script_args.export: | |
- export_patches(config, dry_run=script_args.dry_run) | |
+ export_patches(config, | |
+ dry_run=script_args.dry_run, | |
+ remove_old_patches=script_args.remove), | |
else: | |
apply_patches(config, is_snapshot) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/script/lib/git.py b/script/lib/git.py | |
index 3153c6ad4..178d736df 100644 | |
--- a/script/lib/git.py | |
+++ b/script/lib/git.py | |
@@ -231,7 +231,8 @@ def remove_patch_location(patch): | |
def export_patches(repo, out_dir, | |
patch_range=None, ref=UPSTREAM_HEAD, | |
- dry_run=False, grep=None): | |
+ dry_run=False, remove_old_patches=True, | |
+ grep=None): | |
if not os.path.exists(repo): | |
sys.stderr.write( | |
"Skipping patches in {} because it does not exist.\n".format(repo) | |
@@ -275,9 +276,10 @@ def export_patches(repo, out_dir, | |
else: | |
# Remove old patches so that deleted commits are correctly reflected in the | |
# patch files (as a removed file) | |
- for p in os.listdir(out_dir): | |
- if p.endswith('.patch'): | |
- os.remove(posixpath.join(out_dir, p)) | |
+ if remove_old_patches: | |
+ for p in os.listdir(out_dir): | |
+ if p.endswith('.patch'): | |
+ os.remove(posixpath.join(out_dir, p)) | |
with io.open( | |
posixpath.join(out_dir, '.patches'), | |
'w', |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment