Merge branch 'develop' of git://projects.ceondo.com/indefero into develop

This commit is contained in:
Thomas Keller 2011-03-01 00:02:17 +01:00
commit 23d2bd552c
8 changed files with 281 additions and 282 deletions

View File

@ -37,6 +37,7 @@ docroot.
$ sudo pear upgrade-all
$ sudo pear install --alldeps Mail
$ sudo pear install --alldeps Mail_mime
$ sudo pear install --alldeps Console_Getopt
If you already have some of the PEAR packages installed with your
distribution, the `Mail` package is often not up-to-date,
@ -222,4 +223,4 @@ functions. You need to prevent the overload as it does not make sense
anyway (magic in the background is bad!).
See the [corresponding ticket][reglink].
[reglink]: http://projects.ceondo.com/p/indefero/issues/481/
[reglink]: http://projects.ceondo.com/p/indefero/issues/481/

View File

@ -41,6 +41,60 @@ class IDF_Scm_Git extends IDF_Scm
$this->project = $project;
}
/**
* @see IDF_Scm::getChanges()
*
* Git command output is like :
* M doc/Guide utilisateur/Manuel_distrib.tex
* M doc/Guide utilisateur/Manuel_intro.tex
* M doc/Guide utilisateur/Manuel_libpegase_exemples.tex
* M doc/Guide utilisateur/Manuel_page1_version.tex
* A doc/Guide utilisateur/images/ftp-nautilus.png
* M doc/Guide utilisateur/textes/log_boot_PEGASE.txt
*
* Status letters mean : Added (A), Deleted (D), Modified (M), Renamed (R)
*/
public function getChanges($commit)
{
$cmd = sprintf('GIT_DIR=%s '.Pluf::f('git_path', 'git').' show %s --name-status --pretty="format:" --diff-filter="[A|D|M|R]" -M',
escapeshellarg($this->repo),
escapeshellarg($commit));
$out = array();
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
self::exec('IDF_Scm_Git::getChanges', $cmd, $out);
$return = (object) array(
'additions' => array(),
'deletions' => array(),
'renames' => array(),
'patches' => array(),
'properties' => array(),
);
foreach ($out as $line) {
$line = trim($line);
if ($line != '') {
$action = $line[0];
if ($action == 'A') {
$filename = trim(substr($line, 1));
$return->additions[] = $filename;
} else if ($action == 'D') {
$filename = trim(substr($line, 1));
$return->deletions[] = $filename;
} else if ($action == 'M') {
$filename = trim(substr($line, 1));
$return->patches[] = $filename;
} else if ($action == 'R') {
$matches = split ("\t", $line);
$return->renames[$matches[1]] = $matches[2];
}
}
}
return $return;
}
public function getRepositorySize()
{
if (!file_exists($this->repo)) {

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@
{/block}
{block context}
<p><strong>{trans 'Number of files:'}</strong> {$downloads.nb_items}</p>
{assign $cloud_url = 'IDF_Views_Download::listLabel'}
{assign $cloud = 'downloads'}
{include 'idf/tags-cloud.html'}
{if $deprecated > 0}

View File

@ -12,6 +12,7 @@
{aurl 'closed_url', 'IDF_Views_Issue::listStatus', array($project.shortname, 'closed')}
{blocktrans}<p><strong>Open issues:</strong> <a href="{$open_url}">{$open}</a></p>
<p><strong>Closed issues:</strong> <a href="{$closed_url}">{$closed}</a></p>{/blocktrans}
{assign $cloud_url = 'IDF_Views_Issue::listLabel'}
{assign $cloud = 'issues'}
{include 'idf/tags-cloud.html'}
{/block}

View File

@ -23,7 +23,7 @@
</tr>{/if}
<tr>
<th><strong>{trans 'Message:'}</strong></th><td>{issuetext $cobject.title, $request}{if isset($cobject.full_message)}<br/><br/>{issuetext $cobject.full_message, $request, true, false, true, true, true}{/if}</td>
</tr>{if count($changes)}
</tr>{if count($cobject.parents) < 2 and count($changes)}
<tr>
<th><strong>{trans 'Changes:'}</strong></th>
<td>
@ -61,11 +61,13 @@
</tr>{/if} {* End of the if count($changes) *}
</table>
{if count($diff.files)}
{if count($cobject.parents) < 2 and count($diff.files)}
<h2>{trans 'File differences'}</h2>
{$diff.as_html()}
{/if}{if count($diff.files) or $large_commit}
{/if}
{if count($cobject.parents) < 2 and (count($diff.files) or $large_commit)}
{aurl 'url', 'IDF_Views_Source::downloadDiff', array($project.shortname, $commit)}
<p class="right soft"><a href="{$url}"><img style="vertical-align: text-bottom;" src="{media '/idf/img/package-grey.png'}" alt="{trans 'Archive'}" align="bottom"/></a> <a href="{$url}">{trans 'Download the corresponding diff file'}</a></p>
{/if}

View File

@ -1,6 +1,6 @@
{assign $class = ''}{assign $i = 0}
<div id="tagscloud" class="smaller"><dl>{foreach $project.getTagCloud($cloud) as $label}
{aurl 'url', 'IDF_Views_Issue::listLabel', array($project.shortname, $label.id, 'open')}
{aurl 'url', $cloud_url, array($project.shortname, $label.id, 'open')}
{if $class != $label.class}<dt class="label">{$label.class}</dt>{assign $i = 0}{/if}
<dd><a href="{$url}" class="label">{$label.name},</a></dd>
{assign $class = $label.class}

View File

@ -9,6 +9,7 @@
{/block}
{block context}
<p><strong>{trans 'Number of pages:'}</strong> {$pages.nb_items}</p>
{assign $cloud_url = 'IDF_Views_Wiki::listLabel'}
{assign $cloud = 'wiki'}
{include 'idf/tags-cloud.html'}
{if $deprecated > 0}