libnetwork.lib: new helper function: 'git.download'

Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
This commit is contained in:
Davide Madrisan 2012-10-29 22:55:49 +01:00
parent b8c8ce7fbe
commit dfbd94458e
2 changed files with 71 additions and 0 deletions

View File

@ -52,6 +52,10 @@ Changes in version 1.12.6
Update some requirements of the autospec subpackages in order to always use Update some requirements of the autospec subpackages in order to always use
the real package names instead of their aliases ('Provides' tag). the real package names instead of their aliases ('Provides' tag).
+ update
* lib/libnetwork.lib - Davide Madrisan:
New helper function: 'git.download()'.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Changes in version 1.12.5 Changes in version 1.12.5

View File

@ -842,6 +842,73 @@ curl $options --user \"***:***\" --quote \"DELE $deletefile\" $1"
[[ "$retval" != "0" && "$exitonerror" = 1 ]] && exit 1 [[ "$retval" != "0" && "$exitonerror" = 1 ]] && exit 1
} }
# function git.download
# helper for creating a tarball from a git repository
# args:
# -d, --destdir : target directory
# -p, --proxy : proxy server
# -u, --proxy-user : proxy user
# $@ : git repository
#
# return value:
# 0
function git.download() {
local ARGS
ARGS=`LC_ALL=C getopt \
-o d:p:u: \
--long destdir:,proxy:,proxy-user: \
-n "$FUNCNAME" -- "$@"`
[ $? = 0 ] || notify.error $"(bug)"" -- $FUNCNAME: "$"\`getopt' error"
local destdir
local proxy proxy_user
eval set -- "$ARGS"
while :; do
case "$1" in
-d|--destdir)
destdir="$2"; shift
notify.debug "$FUNCNAME: destdir = \"$destdir\""
;;
-p|--proxy)
proxy="$2"; shift
notify.debug "$FUNCNAME: proxy = \"$proxy\""
;;
-u|--proxy-user)
proxy_user="$2"; shift
notify.debug "$FUNCNAME: proxy_user = \"$proxy_user\""
;;
--) shift; break;;
*) notify.error $"\
(bug)"" -- $FUNCNAME: "$"\`getopt' error: bad command \`$1'" ;;
esac
shift
done
local giturl_and_branch="$1"
notify.debug "$FUNCNAME: giturl_and_branch = \"$giturl_and_branch\""
[ "$giturl_and_branch" ] || notify.error $"\
(bug)"" -- $FUNCNAME: "$"missing mandatory arg"" (#1)"
[ "$destdir" ] || notify.error $"\
(bug)"" -- $FUNCNAME: "$"missing mandatory arg"" (--destdir)"
local token_dirname="${giturl_and_branch%/*}"
local token_basename="${giturl_and_branch##*/}"
notify.debug "$FUNCNAME: token_dirname = \"$token_dirname\""
notify.debug "$FUNCNAME: token_basename = \"$token_basename\""
local git_branch="${token_dirname##*/}"
notify.debug "$FUNCNAME: git_branch = \"$git_branch\""
git.create_tarball \
--destdir "$destdir" \
--preserve-dot-git "0" --git-branch "$git_branch" \
"${token_dirname%/*}"
}
# function git.create_tarball # function git.create_tarball
# clone a git repository and convert is into a tarball file # clone a git repository and convert is into a tarball file
# #