[arch-projects] [dbscripts] [PATCH 2/2] db-move: remove one svn commit per package

Dan McGee dan at archlinux.org
Tue Jun 28 22:58:15 EDT 2011

Precondition: trunk/ directory never has any subdirectories. This is
true across our entire svn-packages repository, although I did not check
svn-community. The following command was used:

    find -mindepth 3 -type d ! -wholename '*/.svn*' -wholename *trunk*

This should really help a variety of things- reduce the number of
commits, reduce the number of emails to arch-commits, make mass package
moves faster, etc.

The entire dbscripts test suite still passes after this change.

Signed-off-by: Dan McGee <dan at archlinux.org>
 db-move |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/db-move b/db-move
index ff1b0e2..e3467e8 100755
--- a/db-move
+++ b/db-move
@@ -78,11 +78,18 @@ for pkgbase in ${args[@]:2}; do
 			pkgver=$(. "${svnrepo_from}/PKGBUILD"; echo $(get_full_version ${epoch:-0} ${pkgver} ${pkgrel}))
 			if [ -d "${svnrepo_to}" ]; then
-				/usr/bin/svn rm --force -q "${svnrepo_to}"
-				/usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "$(basename $0): ${pkgbase} removed by $(id -un) for move to [${repo_to}] (${pkgarch})"
+				for file in $(svn ls "${svnrepo_to}"); do
+					svn rm -q "$file"
+				done
+			else
+				mkdir "${svnrepo_to}"
+				svn add "${svnrepo_to}"
-			/usr/bin/svn mv -q -r HEAD "${svnrepo_from}" "${svnrepo_to}"
+			for file in $(svn ls "${svnrepo_from}"); do
+				svn mv -q -r HEAD "${svnrepo_from}/$file" "${svnrepo_to}/"
+			done
+			/usr/bin/svn rm --force -q "${svnrepo_from}"
 			/usr/bin/svn commit -q "${WORKDIR}/svn/${pkgbase}" -m "$(basename $0): moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${pkgarch})"
 			for pkgname in ${pkgnames[@]}; do

More information about the arch-projects mailing list