aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlibs/git10
-rwxr-xr-xlibs/project18
2 files changed, 18 insertions, 10 deletions
diff --git a/libs/git b/libs/git
index b5b2ffdb..429d4783 100755
--- a/libs/git
+++ b/libs/git
@@ -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..52888e32 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
@@ -564,8 +580,6 @@ project_blobs_path() {
return
fi
done
-
- printf '%s\n' "$blobs_path"
}
project_blobs_ignore_path() {