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

Dan McGee dpmcgee at gmail.com
Mon Jul 25 13:45:44 EDT 2011


On Mon, Jul 25, 2011 at 11:00 AM, Pierre Schmitz <pierre at archlinux.de> wrote:
> 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".
OK, it was not documented with a comment or anything here so that was
hard to know. Feel free to omit this one line from the commit.

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

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


More information about the arch-projects mailing list