fix: Error when image file is on first commit... why?
This commit is contained in:
parent
a9891a17d4
commit
f6902f3e50
17
scripts/run
17
scripts/run
|
@ -88,20 +88,25 @@ optimizer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
optimizer_git_image() {
|
optimizer_git_image() {
|
||||||
for file in $(git diff --name-only --diff-filter=M --ignore-submodules); do
|
first_commit_hash=$(git rev-list --max-parents=0 HEAD)
|
||||||
last_commit=`git log -n 1 --pretty=format:%H -- $file`
|
|
||||||
current_size=`cat $file | wc -c`
|
|
||||||
old_size=`git cat-file -p $last_commit:$file | wc -c`
|
|
||||||
|
|
||||||
# https://stackoverflow.com/a/48999882/6429616
|
# https://stackoverflow.com/a/48999882/6429616
|
||||||
|
# install git alias amend-to with auto stash
|
||||||
check_git_command=`git config --global --list | grep amend-to | wc -c`
|
check_git_command=`git config --global --list | grep amend-to | wc -c`
|
||||||
if [ "$check_git_command" -ne 187 ]; then
|
if [ "$check_git_command" -ne 187 ]; then
|
||||||
git config --global alias.amend-to '!f() { SHA=`git rev-parse "$1"`; git stash -k && git commit --fixup "$SHA" && GIT_SEQUENCE_EDITOR=true git rebase --interactive --autosquash "$SHA^" && git stash pop; }; f'
|
git config --global alias.amend-to '!f() { SHA=`git rev-parse "$1"`; git stash -k && git commit --fixup "$SHA" && GIT_SEQUENCE_EDITOR=true git rebase --interactive --autosquash "$SHA^" && git stash pop; }; f'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$current_size" -lt "$old_size" ]; then
|
for file in $(git diff --name-only --diff-filter=M --ignore-submodules); do
|
||||||
|
last_file_update_commit_hash=`git log -n 1 --pretty=format:%H -- $file`
|
||||||
|
current_size=`cat $file | wc -c`
|
||||||
|
old_size=`git cat-file -p $last_file_update_commit_hash:$file | wc -c`
|
||||||
|
|
||||||
|
if [ "$first_commit_hash" == "$last_file_update_commit_hash" ]; then
|
||||||
|
echo "💩 file '$file' is on first commit..."
|
||||||
|
elif [ "$current_size" -lt "$old_size" ]; then
|
||||||
git add $file
|
git add $file
|
||||||
git amend-to $last_commit
|
git amend-to $last_file_update_commit_hash
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue