diff options
author | Andrew Robbins <contact@andrewrobbins.info> | 2019-04-23 22:08:02 -0400 |
---|---|---|
committer | Andrew Robbins <contact@andrewrobbins.info> | 2019-04-23 22:08:02 -0400 |
commit | 28725e6cbcd9adba3b1e07d1862fa3735b18b84d (patch) | |
tree | 2d0f4b4f3349cd038bfe46c90ec842df2f1e806b | |
parent | 8d3cd741781cab0d936814170df70f637bfd48b7 (diff) | |
download | librebootfr-28725e6cbcd9adba3b1e07d1862fa3735b18b84d.tar.gz librebootfr-28725e6cbcd9adba3b1e07d1862fa3735b18b84d.zip |
Respect blobs-ignore when removing blobs
-rwxr-xr-x | libs/git | 10 | ||||
-rwxr-xr-x | libs/project | 16 |
2 files changed, 18 insertions, 8 deletions
@@ -361,18 +361,12 @@ git_project_prepare_blobs() { shift local repository_path=$(git_project_repository_path "$repository") - local blobs_path=$(project_blobs_path "$project" "$@") local blob - if ! [[ -f "$blobs_path" ]] - then - return - fi - - while read blob + while read -r blob do git_remove "$repository_path" "$blob" - done < "$blobs_path" + done < <(project_blobs "$project" "$@") if ! git_diff_staged_check "$repository_path" then diff --git a/libs/project b/libs/project index dfb745a0..c830e1ee 100755 --- a/libs/project +++ b/libs/project @@ -535,6 +535,22 @@ project_sources_prepare_patch() { done } +project_blobs() { + local project=$1 + shift + + local blobs_path=$(project_blobs_path "$project" "$@") + local blobs_ignore_path=$(project_blobs_ignore_path "$project" "$@") + + if [[ -n $blobs_path ]]; then + if [[ -n $blobs_ignore_path ]]; then + comm -23 <(sort "$blobs_path") <(sort "$blobs_ignore_path") + else + cat "$blobs_path" + fi + fi +} + project_blobs_path() { local project=$1 shift |