From: travis%sedsystems.ca <> Date: Wed, 12 Jan 2005 01:17:00 +0000 (+0000) Subject: Bug 276473: Show_activity merges incorrectly sometimes changesets into one changeset X-Git-Tag: bugzilla-2.18~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=548edb7f1778945ca785bb0e0d04920337d610df;p=thirdparty%2Fbugzilla.git Bug 276473: Show_activity merges incorrectly sometimes changesets into one changeset Patch by vladd@bugzilla.org r=bugzilla@glob.com.au a=justdave --- diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 7ea9f02c90..0328c4f868 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -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 b96c5e9486..e648bd64ca 100644 --- 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 diff --git a/t/007util.t b/t/007util.t index b159254801..48c925aa33 100644 --- a/t/007util.t +++ b/t/007util.t @@ -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")');