[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