summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/sync-ggml-am.sh46
1 files changed, 30 insertions, 16 deletions
diff --git a/scripts/sync-ggml-am.sh b/scripts/sync-ggml-am.sh
index 83abe368..93aad88a 100755
--- a/scripts/sync-ggml-am.sh
+++ b/scripts/sync-ggml-am.sh
@@ -26,22 +26,36 @@ echo "Syncing ggml changes since commit $lc"
cd $SRC_GGML
-git log --oneline $lc..HEAD
-
-git format-patch $lc --stdout -- \
- include/ggml/ggml*.h \
- src/ggml*.h \
- src/ggml*.c \
- src/ggml*.cpp \
- src/ggml*.m \
- src/ggml*.metal \
- src/ggml*.cu \
- tests/test-opt.cpp \
- tests/test-grad0.cpp \
- tests/test-quantize-fns.cpp \
- tests/test-quantize-perf.cpp \
- tests/test-backend-ops.cpp \
- > $SRC_LLAMA/ggml-src.patch
+git log --oneline $lc..HEAD | grep -v "(llama/[0-9]*)" | cut -d' ' -f1 > $SRC_LLAMA/ggml-commits
+
+if [ ! -s $SRC_LLAMA/ggml-commits ]; then
+ rm -v $SRC_LLAMA/ggml-commits
+ echo "No new commits"
+ exit 0
+fi
+
+if [ -f $SRC_LLAMA/ggml-src.patch ]; then
+ rm -v $SRC_LLAMA/ggml-src.patch
+fi
+
+while read c; do
+ git format-patch -k $c~1..$c --stdout -- \
+ include/ggml/ggml*.h \
+ src/ggml*.h \
+ src/ggml*.c \
+ src/ggml*.cpp \
+ src/ggml*.m \
+ src/ggml*.metal \
+ src/ggml*.cu \
+ tests/test-opt.cpp \
+ tests/test-grad0.cpp \
+ tests/test-quantize-fns.cpp \
+ tests/test-quantize-perf.cpp \
+ tests/test-backend-ops.cpp \
+ >> $SRC_LLAMA/ggml-src.patch
+done < $SRC_LLAMA/ggml-commits
+
+rm -v $SRC_LLAMA/ggml-commits
# delete files if empty
if [ ! -s $SRC_LLAMA/ggml-src.patch ]; then