diff options
author | travis%sedsystems.ca <> | 2005-01-12 02:15:42 +0100 |
---|---|---|
committer | travis%sedsystems.ca <> | 2005-01-12 02:15:42 +0100 |
commit | 16101ff8da5257bbb86f30ff9dae08369e5dcd09 (patch) | |
tree | 91d90ac7b53a6290806ca32f376db9f39b1304c7 | |
parent | 4f5cad994b3786713c79b831e3af48ea7fe3a9b0 (diff) | |
download | bugzilla-16101ff8da5257bbb86f30ff9dae08369e5dcd09.tar.gz bugzilla-16101ff8da5257bbb86f30ff9dae08369e5dcd09.tar.xz |
Bug 276473: Show_activity merges incorrectly sometimes changesets into one changeset
Patch by vladd@bugzilla.org r=bugzilla@glob.com.au a=justdave
-rw-r--r-- | Bugzilla/Util.pm | 8 | ||||
-rw-r--r-- | CGI.pl | 5 | ||||
-rw-r--r-- | t/007util.t | 5 |
3 files changed, 12 insertions, 6 deletions
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 7ea9f02c9..0328c4f86 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; @@ -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 COALESCE(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 b15925480..48c925aa3 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")'); |