1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-13 02:30:11 +01:00

Merge branch 'master' into verbose-rewrite

This commit is contained in:
Daniel Martí 2013-11-03 11:53:36 +01:00
commit 223b0ea061
2 changed files with 51 additions and 32 deletions

View File

@ -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

View File

@ -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##* }
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
while read l; do
[[ "$l" == "Auto Name:"* ]] && name=${l##*:}
done < "$file"
[ -d metadata/$id ] && extra=metadata/$id
id=${file##*/}
id=${id%.txt*}
[ -d metadata/$id ] && extra=metadata/$id
[ -n "$name" ] && id="$name ($id)"
while read l; do
if [[ "$l" == "Auto Name:"* ]]; then
name=${l##*:}
break
fi
done < "$file"
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")
[ -n "$name" ] && id="$name ($id)"
if [ $newbuild -eq 0 ]
then
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