diff options
-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 |