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
This commit is contained in:
Adrian Schröter 2012-01-03 07:34:00 +00:00 committed by Git OBS Bridge
parent a9df595726
commit 8513bd36d0
2 changed files with 30 additions and 5 deletions

View File

@ -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

14
tar_scm
View File

@ -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