From dc413989bb1178e9305a1b692e27ba162ad0cf4a Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Wed, 22 Aug 2012 14:04:43 +0200 Subject: WIP: switch from svn to git - archrelease not needed anymore? Signed-off-by: Florian Pritz --- archrelease.in | 55 ++++++++++++++----------------------------------------- 1 file changed, 14 insertions(+), 41 deletions(-) (limited to 'archrelease.in') diff --git a/archrelease.in b/archrelease.in index 533a547..2d68376 100644 --- a/archrelease.in +++ b/archrelease.in @@ -34,53 +34,26 @@ fi trunk=${PWD##*/} -# Normally this should be trunk, but it may be something -# such as 'gnome-unstable' -IFS='/' read -r -d '' -a parts <<< "$PWD" -if [[ "${parts[@]:(-2):1}" == "repos" ]]; then - die 'archrelease: Should not be in repos dir (try from trunk/)' -fi -unset parts - -if [[ $(svn status -q) ]]; then +if [[ $(git status -s | grep -v "^?? ") ]]; then die 'archrelease: You have not committed your changes yet!' fi -pushd .. >/dev/null -IFS=$'\n' read -r -d '' -a known_files < <(svn ls -r HEAD "$trunk") -for file in "${known_files[@]}"; do - if [[ ${file:(-1)} = '/' ]]; then - die "archrelease: subdirectories are not supported in package directories!" - fi -done - -# gracefully handle files containing an "@" character -known_files=("${known_files[@]/%/@}") - -for tag in "$@"; do - stat_busy "Copying ${trunk} to ${tag}" - - if [[ -d repos/$tag ]]; then - declare -a trash - trash=() - while read -r file; do - trash+=("repos/$tag/$file") - done < <(svn ls "repos/$tag") - [[ $trash ]] && svn rm -q "${trash[@]}" - else - mkdir -p "repos/$tag" - svn add --parents -q "repos/$tag" - fi - - # copy all files at once from trunk to the subdirectory in repos/ - svn copy -q -r HEAD ${known_files[@]/#/$trunk/} "repos/$tag/" - - stat_done -done +# TODO: merge with code from commitpkg +if [[ -z $server ]]; then + case "$repo" in + core|extra|testing|staging|kde-unstable|gnome-unstable) + server='gerolde.archlinux.org' ;; + community*|multilib*) + server='aur.archlinux.org' ;; + *) + server='gerolde.archlinux.org' + msg "Non-standard repository $repo in use, defaulting to server $server" ;; + esac +fi stat_busy "Releasing package" printf -v tag_list ", %s" "$@"; tag_list="${tag_list#, }" -svn commit -q -m "archrelease: copy ${trunk} to $tag_list" || abort +ssh $server commit -q -m "archrelease: copy ${trunk} to $tag_list" || abort stat_done popd >/dev/null -- cgit v1.2.3-24-g4f1b