From c94d4a0566ebddbd8d1ff21e44daee8e637feda3 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sat, 3 May 2008 00:14:13 +0000 Subject: 2nd attempt to fix bug 414726: Bugzilla::Update never updates bugzilla-update.xml if the file already exists locally - Patch by me r=mkanat --- Bugzilla/Update.pm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'Bugzilla/Update.pm') diff --git a/Bugzilla/Update.pm b/Bugzilla/Update.pm index e9da91afb..d3f780570 100644 --- a/Bugzilla/Update.pm +++ b/Bugzilla/Update.pm @@ -40,20 +40,9 @@ sub get_notifications { if (!-e $local_file || (time() - (stat($local_file))[9] > TIME_INTERVAL)) { # Are we sure we didn't try to refresh this file already # but we failed because we cannot modify its timestamp? - my $can_alter = 1; - if (-e $local_file) { - # Try to alter its last modification time. We first save the - # access and modification times of the file to restore them - # right after our test. - my $atime = (stat($local_file))[8]; - my $mtime = (stat($local_file))[9]; - $can_alter = utime(undef, undef, $local_file); - # Restore the access and modification times to their - # original values, else LWP::UserAgent will never see the - # updated file on the server as newer than our local one. - utime($atime, $mtime, $local_file); - } + my $can_alter = (-e $local_file) ? utime(undef, undef, $local_file) : 1; if ($can_alter) { + unlink $local_file; # Make sure the old copy is away. my $error = _synchronize_data(); # If an error is returned, leave now. return $error if $error; @@ -156,8 +145,6 @@ sub _synchronize_data { else { $ua->env_proxy; } - # Download the file from the server if its modification time is newer - # than the local one. $ua->mirror(REMOTE_FILE, $local_file); # $ua->mirror() forces the modification time of the local XML file -- cgit v1.2.3-24-g4f1b