diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2010-02-11 14:25:20 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2010-02-11 14:25:20 +0100 |
commit | f09baea3922d6c9365d267700bafc5bf37338e0f (patch) | |
tree | bb515916415f088be2f79b9733695917805ac593 | |
parent | d68e7cb031b3ef0743deb853261356590d1a1abe (diff) |
Replace expensive merge with delete and copy
-rwxr-xr-x | archrelease | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/archrelease b/archrelease index 6ba6efb..52ec8f8 100755 --- a/archrelease +++ b/archrelease @@ -21,35 +21,11 @@ if [ "$(svn diff)" != "" ]; then exit 1 fi -if [ ! -d ../repos/$1 ]; then - pushd .. - [ -d repos ] || mkdir repos - svn copy -r HEAD trunk repos/$1 - svn commit -m "archrelease: new repo $1" - pushd repos/$1 - svnmerge init - svn commit -F svnmerge-commit-message.txt - rm svnmerge-commit-message.txt - popd - popd -else - svnmerge merge ../repos/$1 - pushd .. - if [ -f trunk/svnmerge-commit-message.txt ]; then - svn commit -F trunk/svnmerge-commit-message.txt - if [ $? -ne 0 ]; then - # The user is going to have to clean things up a bit - echo "*** ATTENTION: There was a problem merging the package changes ***" - echo "To fix it, edit the conflicting files in repos/$1 (the ones that are C in svn status)." - echo "Once you have resolved conflicts, execute 'svn resolved <path to file>' to tell svn the error was resolved." - echo "Then to finish the merge commit, execute 'svn commit -F trunk/svnmerge-commit-message.txt' and, if there are no problems, delete trunk/svnmerge-commit-message.txt" - exit $? - fi - rm trunk/svnmerge-commit-message.txt - else - echo "Nothing to commit" - fi - popd +pushd .. +if [ -d repos/$1 ]; then + svn rm --force -q repos/$1 + svn commit -q -m "archrelease: remove $1" fi - -echo "===> Tagged for $1" +svn copy -q -r HEAD trunk repos/$1 +svn commit -q -m "archrelease: copy trunk to $1" +popd |