From 8513bd36d09f954181a9651b939a6ee8b600dd0859ebd55872da16fbdce7f9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 3 Jan 2012 07:34:00 +0000 Subject: [PATCH] Accepting request 98423 from home:dgollub:branches:openSUSE:Tools - make svn checkout --trust-server-cert option conditional, since this option is not supported by versions prior to subversion 1.6. - Trim user prefix from tarball filename. This enables tar_scm service to be used with git and ssh transport (in conjuction with a passphrase less ssh-pubkey). Example Git URL: git@gitrepo.tld:foobar.git - git 1.6.x and very likely other version only support "show --pretty=format:%at" as parameter with "format:" prefix. git show --pretty=%at is also support by recent git versions. OBS-URL: https://build.opensuse.org/request/show/98423 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-tar_scm?expand=0&rev=27 --- obs-service-tar_scm.changes | 21 +++++++++++++++++++++ tar_scm | 14 +++++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/obs-service-tar_scm.changes b/obs-service-tar_scm.changes index 7fa6fc9..2e1ca8b 100644 --- a/obs-service-tar_scm.changes +++ b/obs-service-tar_scm.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Thu Dec 29 13:39:35 UTC 2011 - gollub@b1-systems.de + +- make svn checkout --trust-server-cert option conditional, since + this option is not supported by versions prior to subversion 1.6. + +------------------------------------------------------------------- +Thu Dec 29 13:37:43 UTC 2011 - gollub@b1-systems.de + +- Trim user prefix from tarball filename. + This enables tar_scm service to be used with git and ssh transport + (in conjuction with a passphrase less ssh-pubkey). Example Git URL: + git@gitrepo.tld:foobar.git + +------------------------------------------------------------------- +Thu Dec 29 13:35:30 UTC 2011 - gollub@b1-systems.de + +- git 1.6.x and very likely other version only support + "show --pretty=format:%at" as parameter with "format:" prefix. + git show --pretty=%at is also support by recent git versions. + ------------------------------------------------------------------- Mon Aug 29 07:01:36 UTC 2011 - adrian@suse.de diff --git a/tar_scm b/tar_scm index 43202f5..ad333da 100644 --- a/tar_scm +++ b/tar_scm @@ -105,6 +105,7 @@ if [ -z "$FILE" -a "$MYSCM" == "git" ]; then FILE="${MYURL%/}" FILE="${FILE##*/}" FILE="${FILE%.git}" + FILE="${FILE#*@*:}" fi if [ -z "$FILE" -a "$MYSCM" == "svn" ]; then FILE="${MYURL%/}" @@ -140,6 +141,9 @@ else fi if [ "$MYSCM" == "svn" ]; then + if [[ $(svn --version --quiet) > "1.5.99" ]]; then + TRUST_SERVER_CERT="--trust-server-cert"; + fi if [ -z "$MYSUBDIR" -a -d "$TAR_DIRECTORY/.svn" ]; then # update existing content for speed/bandwidth reasons cd "$TAR_DIRECTORY" @@ -160,9 +164,9 @@ if [ "$MYSCM" == "svn" ]; then cd "$MYSUBDIR" fi if [ -n "$MYREVISION" ]; then - svn co --non-interactive --trust-server-cert -r"$MYREVISION" "$MYURL/$MYSUBDIR" "${FILE}" || exit 1 + svn co --non-interactive $TRUST_SERVER_CERT -r"$MYREVISION" "$MYURL/$MYSUBDIR" "${FILE}" || exit 1 else - svn co --non-interactive --trust-server-cert "$MYURL/$MYSUBDIR" "${FILE}" || exit 1 + svn co --non-interactive $TRUST_SERVER_CERT "$MYURL/$MYSUBDIR" "${FILE}" || exit 1 fi if [ -n "$MYSUBDIR" ]; then cd - @@ -178,12 +182,12 @@ elif [ "$MYSCM" == "git" ]; then if [ -z "$MYSUBDIR" -a -d "$TAR_DIRECTORY/.git" ]; then # update existing content for speed/bandwidth reasons cd "$TAR_DIRECTORY" - OLDVERSION=`git show --pretty=%at | head -n 1` + OLDVERSION=`git show --pretty=format:%at | head -n 1` git pull $MYGITARGS || exit 1 if [ -n "$MYREVISION" ]; then git checkout "$MYREVISION" || exit 1 fi - NEWVERSION=`git show --pretty=%at | head -n 1` + NEWVERSION=`git show --pretty=format:%at | head -n 1` cd - mv "$TAR_DIRECTORY" "${FILE}" || exit 1 else @@ -198,7 +202,7 @@ elif [ "$MYSCM" == "git" ]; then if [ "$VERSION" == "_auto_" ]; then cd "$FILE" [ -n "$MYPREFIX" ] && MYPREFIX="$MYPREFIX." - VERSION="$MYPREFIX"`git show --pretty=%at | head -n 1` + VERSION="$MYPREFIX"`git show --pretty=format:%at | head -n 1` cd - fi elif [ "$MYSCM" == "hg" ]; then