[pacman-dev] [PATCH] makepkg: fix svn repo extraction

Allan McRae allan at archlinux.org
Thu Apr 11 01:47:49 EDT 2013


Copy SVN repos rather than using "svn export" to keep all anotation
files in the repo for build scripts that use (e.g.) "svin info".

Signed-off-by: Allan McRae <allan at archlinux.org>
---
 scripts/makepkg.sh.in | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 2bafb24..143ce5f 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -742,7 +742,7 @@ extract_svn() {
 	if [[ -n $fragment ]]; then
 		case ${fragment%%=*} in
 			revision)
-				ref=('-r' "${fragment##*=}")
+				ref="${fragment##*=}"
 				;;
 			*)
 				error "$(gettext "Unrecognized reference: %s")" "${fragment}"
@@ -751,9 +751,14 @@ extract_svn() {
 		esac
 	fi
 
-	if ! svn export ${ref[@]} "$dir"; then
-		error "$(gettext "Failure while creating working copy of %s %s repo")" "${repo}" "svn"
-		plain "$(gettext "Aborting...")"
+	cp -a "$dir" .
+
+	if [[ -n ${ref} ]]; then
+		cd_safe "$(get_filename "$netfile")"
+		if ! svn update -r ${ref}; then
+			error "$(gettext "Failure while creating working copy of %s %s repo")" "${repo}" "svn"
+			plain "$(gettext "Aborting...")"
+		fi
 	fi
 
 	popd &>/dev/null
-- 
1.8.2.1



More information about the pacman-dev mailing list