]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 276473: Show_activity merges incorrectly sometimes changesets into one changeset
authortravis%sedsystems.ca <>
Wed, 12 Jan 2005 01:17:00 +0000 (01:17 +0000)
committertravis%sedsystems.ca <>
Wed, 12 Jan 2005 01:17:00 +0000 (01:17 +0000)
Patch by vladd@bugzilla.org   r=bugzilla@glob.com.au   a=justdave

Bugzilla/Util.pm
CGI.pl
t/007util.t

index 7ea9f02c90e702fdbab0a33d4208dc380049c5b0..0328c4f8686800b8ef85999df4cf7dfd76161094 100644 (file)
@@ -149,7 +149,7 @@ sub trim {
 sub format_time {
     my ($time) = @_;
 
-    my ($year, $month, $day, $hour, $min);
+    my ($year, $month, $day, $hour, $min, $sec);
     if ($time =~ m/^\d{14}$/) {
         # We appear to have a timestamp direct from MySQL
         $year  = substr($time,0,4);
@@ -158,12 +158,13 @@ sub format_time {
         $hour  = substr($time,8,2);
         $min   = substr($time,10,2);
     }
-    elsif ($time =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:\d{2})?$/) {
+    elsif ($time =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/) {
         $year  = $1;
         $month = $2;
         $day   = $3;
         $hour  = $4;
         $min   = $5;
+        $sec   = $7;
     }
     else {
         warn "Date/Time format ($time) unrecogonzied";
@@ -171,6 +172,9 @@ sub format_time {
 
     if (defined $year) {
         $time = "$year-$month-$day $hour:$min";
+        if (defined $sec) {
+            $time .= ":$sec";
+        }
         $time .= " " . &::Param('timezone') if &::Param('timezone');
     }
     return $time;
diff --git a/CGI.pl b/CGI.pl
index b96c5e948684723285c43e74524eece320fccc0e..e648bd64ca95ebd24cdc197534be9335f6e4d2b1 100644 (file)
--- a/CGI.pl
+++ b/CGI.pl
@@ -281,7 +281,8 @@ sub CheckIfVotedConfirmed {
 }
 sub LogActivityEntry {
     my ($i,$col,$removed,$added,$whoid,$timestamp) = @_;
-    # in the case of CCs, deps, and keywords, there's a possibility that someone    # might try to add or remove a lot of them at once, which might take more
+    # in the case of CCs, deps, and keywords, there's a possibility that someone
+    # might try to add or remove a lot of them at once, which might take more
     # space than the activity table allows.  We'll solve this by splitting it
     # into multiple entries if it's too long.
     while ($removed || $added) {
@@ -331,7 +332,7 @@ sub GetBugActivity {
         SELECT IFNULL(fielddefs.description, bugs_activity.fieldid),
                 fielddefs.name,
                 bugs_activity.attach_id,
-                DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i'),
+                DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i:%s'),
                 bugs_activity.removed, bugs_activity.added,
                 profiles.login_name
         FROM bugs_activity $suppjoins LEFT JOIN fielddefs ON 
index b1592548016c552ca718d73fdfc0c6f589993eb1..48c925aa33becdf81ef2ede707039bf4961839fb 100644 (file)
@@ -28,7 +28,7 @@ use lib 't';
 use Support::Files;
 
 BEGIN { 
-       use Test::More tests => 12;
+       use Test::More tests => 13;
        use_ok(Bugzilla::Util);
 }
 
@@ -69,6 +69,7 @@ is(trim(" fg<*\$%>+=~~ "),'fg<*$%>+=~~','trim()');
 
 #format_time();
 is(format_time("20021123140436"),'2002-11-23 14:04 TEST','format_time("20021123140436")');
-is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05:56")');
+is(format_time("2002.11.24 00:05"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05")');
+is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05:56 TEST','format_time("2002.11.24 00:05:56")');