' . "\n";
+ $result[$r] = eregi_replace("(User|Date):{1}", '\\1 ", $result[$r]);
- $webcvs = 'http://www.mozdev.org/source/browse/' . $project; // . '/';
+ $result[$r] .= "\n\n" .
+ '' . "\n" .
+ ' ' . "\n";
+
+ $webcvs = 'http://www.' . HOST . '/source/browse/' . $project;
for($l=$i+1;$l<$len;$l++) {
if(ereg(" Revision Changes Path", $contents[$l]))
@@ -145,102 +145,173 @@ cvs -d :pserver:guest@mozdev.org:/cvs co
if(ereg(" User:", $contents[$l]))
break;
- $checkins = eregi_replace("((https|http|mailto|ftp):\/\/[^[:space:]<>]{1,})",
- " \\1", htmlspecialchars($contents[$l]));
+ $checkins = eregi_replace("((https|http|mailto|ftp):\/\/[^[:space:]<>]{1,})",
+ " \\1", htmlspecialchars($contents[$l]));
// ' Added: www/img background.png'
// ' Modified: www cdn.css'
// ' Removed: www/protected sources.html'
- // ' www/compact index.html' ?
+ // ' www/compact index.html'
+ // ' mozpos/downloads - New directory'
+
+ if ( ereg("^[[:space:]]{1,3}Log\:", $checkins) ) {
+ $idRemoved = false; $_log_section = true;
+ // $checkins = eregi_replace("(Log):{1}", ' \\1", $checkins);
+ $checkins = ' ' . "\n" . ' ' . "\n" .
+ '' . $checkins;
+ }
+
+ if ( ereg("^[[:space:]]{1,3}((Added|Modified|Removed):)", $checkins) || ereg("^[[:space:]]{9}", $checkins) ||
+ strstr($checkins, "New directory")
+ ) {
+
+ if ( !strstr($checkins, "New directory") ) {
+ $identifier = trim(substr($checkins, 0, 15)); // may change to group
+
+ $checkins = substr($checkins, 15);
- if ( ereg("((Added|Modified|Removed):)", $checkins) || ereg("[[:space:]]{9}", $checkins) )
- {
+ $_New_directory = false;
+ }
+ else {
+ $checkins = str_replace('- New directory', '-_New_directory', $checkins);
- $identifier = trim(substr($checkins, 0, 15)); // may change to group
+ $webcvs = 'http://www.' . HOST . '/source/browse';
- $checkins = substr($checkins, 15);
+ unset($identifier);
- // find first non-space character
- // if > 16, chances are the files are in the directory defined in the previous line ?
+ $_New_directory = true;
+ }
$_16 = strpos($checkins, ' ');
$_path = substr( $checkins, 0, $_16);
- $checkins = ereg_replace('[[:space:]]{1,}', ' ', trim( substr ( $checkins, $_16 ) ) );
+ $checkins = ereg_replace('[[:space:]]{1,}', ' ',
+ trim( substr ( $checkins, $_16 ) ) );
$checkinsA = explode(' ', $checkins);
unset($checkins);
for($z=0; $z < count($checkinsA); ++$z)
- {
$checkinsA[$z] = trim($checkinsA[$z]);
- }
if ( !empty($identifier) )
- $checkins = $identifier;
+ $checkins = ' ' . $identifier . '';
- if ( !empty($_path))
- {
- $webcvs = 'http://www.mozdev.org/source/browse/' . $project; // reset important !
+ if ( !empty($_path)) {
+ // reset, important !
+ $webcvs = 'http://www.' . HOST . '/source/browse/' . $project;
$webcvs .= '/' . $_path;
- $_path_ = $_path;
- $checkins .= ' ' . $_path . '';
+ $checkins .= ' ' . $_path . '';
}
- for($y=0; $y < count($checkinsA); ++$y)
- {
+ $Y = count($checkinsA);
+
+ for($y=0; $y < $Y; ++$y) {
- if (ereg('Tag:', $checkinsA[$y]) || ereg('Tag:', $checkinsA[$y-1]))
- {
+ if ( ereg('Tag:', $checkinsA[$y]) || ereg('Tag:', $checkinsA[$y-1]) || $_tag ||
+ strstr($checkinsA[$y], '-_New_directory')
+ )
$TAG = true;
- }
else
- {
$TAG = false;
- }
- if(!$TAG)
- {
- $checkins .= ' ';
}
- else
- {
- $checkins .= ' '; ++$_tagtracker;
+
+ if ( !$_New_directory ) {
+ $checkins .= ''; // $project / $_path
+ $_webcvs = str_replace('http://www.' . HOST . '/source/browse/', '', $webcvs);
+
+ if ( strlen($_webcvs) > 15 )
+ $checkins .= substr($_webcvs, 0, 12) . '...' . substr($_webcvs, strrpos($_webcvs, '/'));
+ else
+ $checkins .= $_webcvs;
+
+ if( $identifier == 'Removed:' || $idRemoved )
+ $checkins .= '/Attic';
+
+ $checkins .= '/';
}
+ $checkinsA[$y] = str_replace('-_New_directory', '- New directory', $checkinsA[$y]);
+
$checkins .= $checkinsA[$y];
- if(!$TAG): $checkins .= ''; endif;
+ if (ereg("Tag\:$", trim($checkinsA[$y])) &&
+ empty($checkinsA[$y+1]))
+ $_tag = true;
+ else
+ $_tag = false;
+
+ if (!$TAG)
+ $checkins .= '';
+
+ $checkins .= '';
}
+ if ( $identifier == 'Removed:' || $idRemoved )
+ $idRemoved = true;
+ else
+ $idRemoved = false;
+
}
- $result[$r] .= ' ' . $checkins .
- " \n"; // what
+ $checkins = trim( str_replace(' ', ' ', $checkins) );
+
+ if ( !ereg('^' . $checkins;
+// what
+ if ( !empty( $checkins ) )
+ $result[$r] .= $checkins . "\n"; // what
+
+
}
- $result[$r] .= " |
\n";
+ if ( $_log_section ) {
+ $_log_section = false;
+ $result[$r] .= '