[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