summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <[email protected]>2025-05-15 14:53:17 +0200
committerMichael Niedermayer <[email protected]>2025-05-15 16:19:58 +0200
commita06b86a09b23c4efc61653f2d526e1d8a803eef2 (patch)
treeae025cf3e3147917e81753950d14151cb79b2321
parent12b853530a6844a5aedcbd38e97a8621cf4d2f10 (diff)
tools/merge-all-source-plugins: Try merging a tag or branch matching the current version
Signed-off-by: Michael Niedermayer <[email protected]>
-rwxr-xr-x[-rw-r--r--]tools/merge-all-source-plugins26
1 files changed, 25 insertions, 1 deletions
diff --git a/tools/merge-all-source-plugins b/tools/merge-all-source-plugins
index 20764a0773..4dbfa89872 100644..100755
--- a/tools/merge-all-source-plugins
+++ b/tools/merge-all-source-plugins
@@ -1,3 +1,27 @@
#!/bin/sh
-git pull --no-rebase --log --stat --commit --no-edit https://github.com/michaelni/FFmpeg.git sourceplugin-libpostproc
+#If a version is set then we only try merging a source plugin with matching version as a generic one could change the ABI to master HEAD
+merge_internal(){ # $1=repository, $2=refspec
+ [ -n "$version" ] && git pull --no-rebase --log --stat --commit --no-edit $1 sourceplugin-$2-$version
+ [ -z "$version" ] && git pull --no-rebase --log --stat --commit --no-edit $1 sourceplugin-$2
+}
+
+unset suceeded failed version
+
+merge(){ # $1=repository, $2=refspec
+ merge_internal "$1" "$2" || {
+ git reset --hard
+ echo merge of $1 $2 failed, continuing with other plugins
+ failed="$failed $2"
+ return 0
+ }
+ suceeded="$suceeded $2"
+}
+
+#version="12.34"
+
+merge "https://github.com/michaelni/FFmpeg.git" "libpostproc"
+
+[ -n "$version" ] && echo version: $version
+[ -n "$suceeded" ] && echo Succeeded merging: $suceeded
+[ -n "$failed" ] && echo Failed merging: $failed