[arch-projects] [devtools] [PATCH 2/2] archrelease: remove extra SVN commit

Pierre Schmitz pierre at archlinux.de
Mon Jul 25 12:00:23 EDT 2011


On Tue, 28 Jun 2011 22:00:07 -0500, Dan McGee wrote:
> This relies on the fact that trunk/ never has any subdirectories, so we
> can simply copy all the files in it to the relevant repos/xxx/ directory
> after removing all existing files in that directory.
> 
> Signed-off-by: Dan McGee <dan at archlinux.org>
> ---
>  archrelease |   19 ++++++++++++++-----
>  1 files changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/archrelease b/archrelease
> index baaf6cf..1e54c8d 100755
> --- a/archrelease
> +++ b/archrelease
> @@ -9,13 +9,15 @@ if [ "$1" = '' ]; then
>  	abort 'Usage: archrelease <repo>'
>  fi
>  
> +# TODO: validate repo is really repo-arch
> +
>  if [ ! -f PKGBUILD ]; then
>  	abort 'archrelease: PKGBUILD not found'
>  fi
>  
>  trunk=$(basename $(pwd))
>  
> -if [ "$(basename $(dirname $(pwd)))" == "repos" ]; then
> +if [ "$trunk" != "trunk" ]; then
>  	abort 'archrelease: Not in a package trunk dir'
>  fi

This was intended so we can use e.g. a separate branch for repos like
kde- or gnome-unstable. Means, we should not enforce the name "trunk".

> @@ -26,14 +28,21 @@ fi
>  echo -n "releasing package to ${1}..."
>  pushd .. >/dev/null
>  if [ -d "repos/${1}" ]; then
> -	svn rm --force -q "repos/${1}"
> -	svn commit -q -m "archrelease: remove ${1}" || abort
> +	for file in $(svn ls "repos/${1}"); do
> +		svn rm -q "$file"
> +	done
>  fi
>  if [ ! -d repos ]; then
>  	mkdir repos
>  	svn add repos
>  fi
> -svn copy -q -r HEAD "${trunk}" "repos/${1}"
> -svn commit -q -m "archrelease: copy ${trunk} to ${1}" || abort
> +if [ ! -d "repos/${1}" ]; then
> +	mkdir "repos/${1}"
> +	svn add "repos/${1}"
> +fi
> +for file in $(svn ls "trunk"); do
> +	svn copy -q -r HEAD "trunk/$file" "repos/${1}/"
> +done
> +svn commit -q -m "archrelease: copy trunk to ${1}" || abort
>  popd >/dev/null
>  echo 'done'

I like the idea as it would reduce the amount of commits needed. Maybe
it would be a good idea to check if $file ends in a / just in case
someone really adds a sbudir here.

-- 
Pierre Schmitz, https://users.archlinux.de/~pierre


More information about the arch-projects mailing list