summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortravis%sedsystems.ca <>2005-01-12 02:15:42 +0100
committertravis%sedsystems.ca <>2005-01-12 02:15:42 +0100
commit16101ff8da5257bbb86f30ff9dae08369e5dcd09 (patch)
tree91d90ac7b53a6290806ca32f376db9f39b1304c7
parent4f5cad994b3786713c79b831e3af48ea7fe3a9b0 (diff)
downloadbugzilla-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.pm8
-rw-r--r--CGI.pl5
-rw-r--r--t/007util.t5
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;
diff --git a/CGI.pl b/CGI.pl
index ecfa670a4..822002957 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 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")');