Attached Files | patch_CDash_loggerhead_support.diff [^] (4,477 bytes) 2008-08-25 07:53 [Show Content] [Hide Content]Index: common.php
===================================================================
--- common.php (revision 1087)
+++ common.php (working copy)
@@ -2319,6 +2319,21 @@
return make_cdash_url($diff_url);
}
+/** Return the Loggerhead URL */
+function get_loggerhead_diff_url($projecturl, $directory, $file, $revision)
+{
+ if($revision != '')
+ {
+ $diff_url = $projecturl."/revision/".$revision.($directory ? ("/".$directory) : "")."/".$file;
+ }
+ else
+ {
+ $diff_url .= $projecturl."/changes/head:/".($directory ? ($directory) : "")."/".$file;
+ }
+
+ return make_cdash_url($diff_url);
+}
+
/** Get the diff url based on the type of viewer */
function get_diff_url($projectid,$projecturl, $directory, $file, $revision='')
{
@@ -2354,6 +2369,10 @@
{
return get_websvn_diff_url($projecturl, $directory, $file, $revision);
}
+ elseif($project_array["cvsviewertype"] == "loggerhead")
+ {
+ return get_loggerhead_diff_url($projecturl, $directory, $file, $revision);
+ }
else // default is viewcvs
{
return get_viewcvs_diff_url($projecturl, $directory, $file, $revision);
Index: createProject.php
===================================================================
--- createProject.php (revision 1087)
+++ createProject.php (working copy)
@@ -543,6 +543,7 @@
$xml .= AddCVSViewer("viewvc","ViewVC",$project_array['cvsviewertype']);
$xml .= AddCVSViewer("viewvc1.1","ViewVC1.1",$project_array['cvsviewertype']);
$xml .= AddCVSViewer("websvn","WebSVN",$project_array['cvsviewertype']);
+$xml .= AddCVSViewer("loggerhead","Loggerhead",$project_array['cvsviewertype']);
$xml .= add_XML_value("nrepositories",$nRepositories); // should be at the end
Index: dailyupdates.php
===================================================================
--- dailyupdates.php (revision 1087)
+++ dailyupdates.php (working copy)
@@ -454,6 +454,46 @@
}
+function get_bzr_repository_commits($bzrroot, $dates)
+{
+ $commits = array();
+
+ $fromtime = gmdate("Y-m-d H:i:s", $dates['nightly-1']+1) . " GMT";
+ $totime = gmdate("Y-m-d H:i:s", $dates['nightly-0']) . " GMT";
+
+ $raw_output = `bzr log -v --xml -r date:"$fromtime"..date:"$totime" $bzrroot 2>&1`;
+
+ $doc = new DomDocument;
+ $doc->loadXML($raw_output);
+ $logs = $doc->getElementsByTagName("log");
+
+ foreach ($logs as $log) {
+ $current_author = $log->getElementsByTagName("committer")->item(0)->nodeValue;
+ // remove email from author and strip result
+ $current_author = trim(substr($current_author, 0, strpos($current_author, "<")));
+
+ $current_comment = $log->getElementsByTagName("message")->item(0)->nodeValue;
+ $current_time = gmdate("Y-m-d H:i:s.u",strtotime($log->getElementsByTagName("timestamp")->item(0)->nodeValue));
+ $current_revision = $log->getElementsByTagName("revno")->item(0)->nodeValue;
+
+ $files = $log->getElementsByTagName("file");
+ foreach ($files as $file) {
+ $current_filename = $file->nodeValue;
+ $current_directory = remove_directory_from_filename($current_filename);
+ $commit = array();
+ $commit['directory'] = $current_directory;
+ $commit['filename'] = $current_filename;
+ $commit['revision'] = $current_revision;
+ $commit['time'] = $current_time;
+ $commit['author'] = $current_author;
+ $commit['comment'] = $current_comment;
+ $commits[$current_directory . "/" . $current_filename . ";" . $current_revision] = $commit;
+ }
+ }
+
+ return $commits;
+}
+
// Return an array of arrays. Each entry in the returned array will
// have the following named elements:
// directory, filename, revision, time, author, comment
@@ -474,6 +514,12 @@
$roots[] = $repositories_array["url"];
}
+ $cvsviewers = pdo_query("SELECT cvsviewertype FROM project
+ WHERE id='$projectid'");
+
+ $cvsviewers_array = pdo_fetch_array($cvsviewers);
+ $cvsviewer = $cvsviewers_array[0];
+
// Start with an empty array:
$commits = array();
@@ -485,7 +531,14 @@
}
else
{
- $new_commits = get_svn_repository_commits($root, $dates);
+ if ($cvsviewer == "loggerhead")
+ {
+ $new_commits = get_bzr_repository_commits($root, $dates);
+ }
+ else
+ {
+ $new_commits = get_svn_repository_commits($root, $dates);
+ }
}
if (count($new_commits)>0)
loggerhead_changes_path.diff [^] (733 bytes) 2008-08-25 07:53 [Show Content] [Hide Content]--- loggerhead-1.6-orig/loggerhead/controllers/changelog_ui.py 2008-08-15 18:25:26.000000000 +0200
+++ loggerhead-1.6/loggerhead/controllers/changelog_ui.py 2008-08-25 11:41:55.000000000 +0200
@@ -33,7 +33,16 @@
else:
revid = None
+ path = None
+ if len(args) > 1:
+ path = '/'.join(args[1:])
+ if not path.startswith('/'):
+ path = '/' + path
+
filter_file_id = kw.get('filter_file_id', None)
+ if filter_file_id is None and not path is None:
+ filter_file_id = h.get_file_id(revid, path)
+
query = kw.get('q', None)
start_revid = h.fix_revid(kw.get('start_revid', None))
orig_start_revid = start_revid
|