From: Matthew Monaco <matthew.mon...@0x01b.net>

EDITS:
  - user arithmetic contexts for integer comparison
  - use the regex comparison operator to test array membership

Rather than prioritizing an arbitrary VCS, collect all development
directives. If there is more than one, use the package name as a hint.
If that doesn't work, abort.
---
 scripts/makepkg.sh.in |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 05a611d..55df323 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1714,6 +1714,25 @@ devel_check() {
                # calls to makepkg via fakeroot will explicitly pass the version
                # number to avoid having to determine the version number twice.
                # Also do a check to make sure we have the VCS tool available.
+               local vcs=()
+
+               [[ -n ${_darcstrunk} && -n ${_darcsmod} ]] && vcs+=("darcs")
+               [[ -n ${_cvsroot}    && -n ${_cvsmod}   ]] && vcs+=("cvs")
+               [[ -n ${_gitroot}    && -n ${_gitname}  ]] && vcs+=("git")
+               [[ -n ${_svntrunk}   && -n ${_svnmod}   ]] && vcs+=("svn")
+               [[ -n ${_bzrtrunk}   && -n ${_bzrmod}   ]] && vcs+=("bzr")
+               [[ -n ${_hgroot}     && -n ${_hgrepo}   ]] && vcs+=("hg")
+
+               if (( ${#vcs[@]} == 0 )); then
+                       return
+               elif (( ${#vcs[@]} >= 2 )); then
+                       if [[ ${vcs[@]} =~ "${pkgname##*-}" ]]; then
+                               warning "$(gettext "Ambiguous VCS package. 
Cannot pick from: %s.")" "${vcs[*]}"
+                               return 0
+                       fi
+                       vcs=${pkgname##*-}
+               fi
+
                if [[ -n ${_darcstrunk} && -n ${_darcsmod} ]] ; then
                        if ! type -p darcs >/dev/null; then
                                warning "$(gettext "Cannot find the %s binary 
required to determine latest %s revision.")" "darcs" "darcs"
-- 
1.7.9.3


Reply via email to