mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-14 02:50:12 +01:00
Merge branch 'master' into verbose-rewrite
This commit is contained in:
commit
223b0ea061
@ -5,21 +5,21 @@
|
||||
# 'fdroid' is aliased automatically, but aliases to it are not. For instance,
|
||||
# to alias 'fd' to 'fdroid' and have competion available:
|
||||
#
|
||||
# alias fd='fdroid'
|
||||
# complete -F _fdroid fd
|
||||
# alias fd='fdroid'
|
||||
# complete -F _fdroid fd
|
||||
#
|
||||
# One can use completion on aliased subcommands as follows:
|
||||
#
|
||||
# alias fbuild='fdroid build'
|
||||
# complete -F _fdroid_build fbuild
|
||||
# alias fbuild='fdroid build'
|
||||
# complete -F _fdroid_build fbuild
|
||||
#
|
||||
# There are also completion function for '-p com.some.app' aliases:
|
||||
#
|
||||
# alias fbld='fdroid build -v -l -p'
|
||||
# complete -F _fdroid_build_project fbld
|
||||
# alias fbld='fdroid build -v -l -p'
|
||||
# complete -F _fdroid_build_project fbld
|
||||
#
|
||||
# alias fcheckup='fdroid checkupdates -v -p'
|
||||
# complete -F _fdroid_checkupdates_project fcheckup
|
||||
# alias fcheckup='fdroid checkupdates -v -p'
|
||||
# complete -F _fdroid_checkupdates_project fcheckup
|
||||
#
|
||||
# This way, one can simply do 'fbld com.some.app' or 'fcheckup com.some.app'
|
||||
|
||||
@ -217,6 +217,11 @@ _fdroid_checkupdates_project() {
|
||||
__complete_checkupdates
|
||||
}
|
||||
|
||||
_fd-commit() {
|
||||
__package
|
||||
}
|
||||
|
||||
complete -F _fdroid fdroid
|
||||
complete -F _fd-commit fd-commit
|
||||
|
||||
return 0
|
||||
|
62
fd-commit
62
fd-commit
@ -5,41 +5,55 @@
|
||||
commands=()
|
||||
|
||||
while read line; do
|
||||
if [[ "$line" == *M*metadata/*.txt ]]; then
|
||||
file=${line##* }
|
||||
if [[ "$line" == *M*metadata/*.txt ]]; then
|
||||
file=${line##* }
|
||||
|
||||
while read l; do
|
||||
[[ "$l" == "Auto Name:"* ]] && name=${l##*:}
|
||||
done < "$file"
|
||||
id=${file##*/}
|
||||
id=${id%.txt*}
|
||||
if [ $# -gt 0 ]; then
|
||||
found=false
|
||||
for arg in "$@"; do
|
||||
if [ "$id" == "$arg" ]; then
|
||||
found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
$found || continue
|
||||
fi
|
||||
|
||||
id=${file##*/}
|
||||
id=${id%.txt*}
|
||||
[ -d metadata/$id ] && extra=metadata/$id
|
||||
[ -n "$name" ] && id="$name ($id)"
|
||||
[ -d metadata/$id ] && extra=metadata/$id
|
||||
|
||||
newbuild=0
|
||||
while read l; do
|
||||
if [[ "$l" == "+Build:"* ]]; then
|
||||
newbuild=1
|
||||
build=${l#*:}
|
||||
version=${build%%,*}
|
||||
build=${build#*,}
|
||||
vercode=${build%%,*}
|
||||
fi
|
||||
done < <(git diff HEAD -- "$file")
|
||||
while read l; do
|
||||
if [[ "$l" == "Auto Name:"* ]]; then
|
||||
name=${l##*:}
|
||||
break
|
||||
fi
|
||||
done < "$file"
|
||||
|
||||
if [ $newbuild -eq 0 ]
|
||||
then
|
||||
[ -n "$name" ] && id="$name ($id)"
|
||||
|
||||
newbuild=0
|
||||
while read l; do
|
||||
if [[ "$l" == "+Build:"* ]]; then
|
||||
newbuild=1
|
||||
build=${l#*:}
|
||||
version=${build%%,*}
|
||||
build=${build#*,}
|
||||
vercode=${build%%,*}
|
||||
fi
|
||||
done < <(git diff HEAD -- "$file")
|
||||
|
||||
if [ $newbuild -eq 0 ]; then
|
||||
message="$id:"
|
||||
else
|
||||
message="Update $id to $version ($vercode)"
|
||||
fi
|
||||
|
||||
commands+=("git commit -m '$message' -e -v -- $file $extra")
|
||||
fi
|
||||
commands+=("git commit -m '$message' -e -v -- $file $extra")
|
||||
fi
|
||||
done < <(git status --porcelain)
|
||||
|
||||
for cmd in "${commands[@]}"; do
|
||||
eval "$cmd"
|
||||
eval "$cmd"
|
||||
done
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user