diff --git a/config/lang/de-de.json b/config/lang/de-de.json index 87765b902bc095e6d38e3c44d3c93987e6220407..89dfda1571de0c3ab5d673285d2b2fa5ffd441a1 100644 --- a/config/lang/de-de.json +++ b/config/lang/de-de.json @@ -79,6 +79,7 @@ "class-project-error-archivedir-empty": "FEHLER::KONFIGURATION: Das Archiv-Verzeichnis ($aConfig["archiveDir"]) ist leer; es muss auf ein Verzeichnis zeigen.", "class-project-error-build-dir-was-not-created": "Das Verzeichnis %s wurde nicht angelegt.", "class-project-error-build-type-not-supported": "Repository Typ %s wird nicht unterstützt.", + "class-project-error-unable-to-read-vcs-metadata": "Die VCS Metadaten zum Branch konnten nicht gelesen werden.", "class-project-error-build-docroot-not-found": "Es gibt kein Unterverzeichnis "public_html" oder "public" im Arbeitsverzeichnis.", "class-project-error-build-packaging-failed": "Build schlug beim Erstellen der Pakete fehl.", "class-project-error-command-failed": "Eines der Kommandos ist fehlgeschlagen (s. Fehlermeldung in der Ausgabe).<br>Frage ggf. den Administrator. Das Arbeitsverzeichnis wird für eine Analyse nicht gelöscht.", diff --git a/config/lang/en-en.json b/config/lang/en-en.json index a909472aa54a3fcdbcb4a2adf107d6975c4cb14c..c4a823bcd07e63dde2c677c47e2196c7cd0b8b01 100644 --- a/config/lang/en-en.json +++ b/config/lang/en-en.json @@ -78,6 +78,7 @@ "class-project-error-archivedir-empty": "ERROR::CONFIG: The archive directory ($aConfig["archiveDir"]) is empty; it must point to a directory.", "class-project-error-build-dir-was-not-created": "The directory %s was not created.", "class-project-error-build-type-not-supported": "Repository type %s is not supported.", + "class-project-error-unable-to-read-vcs-metadata": "Unable to read vcs metadata.", "class-project-error-build-docroot-not-found": "There is no subdirectory "public_html" or "public" in the working directory.", "class-project-error-build-packaging-failed": "Build failed while creating the packages.", "class-project-error-command-failed": "The execution of a command failed (see error message in the output below).<br>Ask your admin. The working directory was NOT deleted that you can analyze the problem.", diff --git a/public_html/deployment/classes/project.class.php b/public_html/deployment/classes/project.class.php index 3f2aa08f8876c1c72fc98a638cde91d1d9d7ded0..3b7e633a01d3797f0b2aee8c3db0bc0015e3ee24 100644 --- a/public_html/deployment/classes/project.class.php +++ b/public_html/deployment/classes/project.class.php @@ -1802,13 +1802,21 @@ class project extends base return $this->_oHtml->getBox("error", "" . $sReturn); } - + // read commit message and fetch meta data $aRepodata = $this->getRepoRevision(); - $sRevisionShort = substr($aRepodata['revision'], 0, 8); - $sReturn .= $this->_oHtml->getBox("info", t('commitmessage') . '<pre>' . htmlentities($aRepodata['message']) . '</pre>'); - $sReturn .= $this->_execAndSend("ls -lisa $sTempBuildDir"); + // #7706 check if a branch was detected + if(!isset($aRepodata['branch']) || !$aRepodata['branch']){ + $sError = t('class-project-error-unable-to-read-vcs-metadata'); + $this->_logaction($sError, __FUNCTION__, "error"); + $this->_TempFill($sError . $sReturn, $aActionList); + $this->_TempDelete($sTempBuildDir); + return $this->_oHtml->getBox("error", $sError . $sReturn); + } + $sRevisionShort = substr($aRepodata['revision'], 0, 8); + + $sReturn .= $this->_execAndSend("ls -lisa $sTempBuildDir"); if (!$this->_iRcAll == 0) { $sError = sprintf(t('class-project-error-command-failed'), $sTempBuildDir); $this->_logaction($sError, __FUNCTION__, "error"); diff --git a/public_html/deployment/classes/vcs.git.class.php b/public_html/deployment/classes/vcs.git.class.php index 00b5020ee8b57d9be548484cb9f3b8d788c3618d..9302e88fd39277ae5ef36697fcde4bcc332a5bc9 100644 --- a/public_html/deployment/classes/vcs.git.class.php +++ b/public_html/deployment/classes/vcs.git.class.php @@ -535,9 +535,10 @@ class vcs implements iVcs } // TODO: git 1.9 does needs only the line with --tags + // #7706 add --force $sGitCmd .= ' ( ' // . 'git fetch --update-head-ok --tags --depth 1 2>&1 ; ' // 1.5 s - . 'git fetch --update-head-ok --tags --depth 1 2>&1 ; ' // 1.5 s + . 'git fetch --update-head-ok --tags --depth 1 --force 2>&1 ; ' // 1.5 s //. 'git fetch --update-head-ok --depth 1 2>&1 ' // 1.5 s . ') && '; }