Opened 6 years ago

Closed 5 years ago

#9318 closed Bug report (fixed)

'Overwrite if newer' overwrites file even if they have the same timestamp while uploading.

Reported by: Jan K. Owned by:
Priority: normal Component: FileZilla Client
Keywords: upload newer timestamp Cc:
Component version: Operating system type: Windows
Operating system version: Vista Home Premium SP2

Description

Using version 3.7.3 the options 'Overwrite if newer' works correctly. However, after upgrading to version 3.7.4.1 all files are overwritten even if the files have the same timestamps.

I tested it with identical directories and files. First I uploaded files with version 3.7.3. Everything works as expected. Only files that actually were newer got transferred. Then I set-up exactly the same files and directories and use version 3.7.4.1. All files were transferred, even the files having identical timestamps.

I also noticed that the files have correct identical timestamps in the treeview (see attachment for just one file).

Settings the server timezone offset +1 solves the wrong file-overwrite behavior. However then the times in the treeview are not displayed correctly.

The logging for transferring 1 file that has identical timestamps at both the server and the client (test.txt) looks as follows:

Status:	Verbinding aangemaakt, welkomstbericht afwachten...
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	220 ProFTPD 1.3.4a Server (Debian) [::ffff:***.***.***.***]
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	USER ***
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	331 Password required for ***
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	PASS ********************
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	230 User *** logged in
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	SYST
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	215 UNIX Type: L8
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	FEAT
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	211-Features:
Antwoord:	 MDTM
Antwoord:	 MFMT
Antwoord:	 TVFS
Antwoord:	 UTF8
Antwoord:	 MFF modify;UNIX.group;UNIX.mode;
Antwoord:	 MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
Antwoord:	 LANG ru-RU;ja-JP.UTF-8;ja-JP;en-US*;fr-FR;bg-BG;ko-KR.UTF-8;ko-KR;it-IT;zh-TW;zh-CN
Antwoord:	 SITE MKDIR
Antwoord:	 SITE RMDIR
Antwoord:	 SITE UTIME
Antwoord:	 SITE SYMLINK
Antwoord:	 REST STREAM
Antwoord:	 SIZE
Antwoord:	211 End
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	OPTS UTF8 ON
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	200 UTF8 set to on
Status:	Verbonden
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	Measured latency of 32 ms
Status:	Mappenlijst ophalen...
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	CWD /***/*****
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	250 CWD command successful
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	PWD
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	257 "/***/*****" is the current directory
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	TYPE I
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	200 Type set to I
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	PASV
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	227 Entering Passive Mode (***,***,***,***,144,144).
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	MLSD
Opsporen:	CTransferSocket::OnConnect
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	150 Opening ASCII mode data connection for MLSD
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Opsporen:	CTransferSocket::TransferEnd(1)
Opsporen:	CFtpControlSocket::TransferEnd()
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	226 Transfer complete
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Status:	Mappenlijst succesvol ontvangen
Status:	Mappenlijst ophalen...
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	CWD temp
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	250 CWD command successful
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	PWD
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	257 "/***/*****/temp" is the current directory
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	PASV
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	227 Entering Passive Mode (***,***,***,***,143,207).
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	MLSD
Opsporen:	CTransferSocket::OnConnect
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	150 Opening ASCII mode data connection for MLSD
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Opsporen:	CTransferSocket::TransferEnd(1)
Opsporen:	CFtpControlSocket::TransferEnd()
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	226 Transfer complete
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Status:	Mappenlijst succesvol ontvangen
Status:	Adres oplossen van *****.******.***
Status:	Verbinden met ***.***.***.***:21...
Status:	Verbinding aangemaakt, welkomstbericht afwachten...
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	220 ProFTPD 1.3.4a Server (Debian) [::ffff:***.***.***.***]
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	USER ***
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	331 Password required for ***
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	PASS ********************
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	230 User *** logged in
Opsporen:	CFtpControlSocket::SendNextCommand()
Commando:	OPTS UTF8 ON
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	200 UTF8 set to on
Status:	Verbonden
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	Measured latency of 34 ms
Opsporen:	CFtpControlSocket::FileTransfer()
Status:	Upload starten van C:\***\***\*****\***\***\temp\test.txt
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	CWD /***/*****/temp
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	250 CWD command successful
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::ChangeDirSend()
Commando:	PWD
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	257 "/***/*****/temp" is the current directory
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	FileTransferSubcommandResult()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	FileTransferSend()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	TYPE A
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	200 Type set to A
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	PASV
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	227 Entering Passive Mode (***,***,***,***,144,220).
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	STOR test.txt
Opsporen:	CTransferSocket::OnConnect
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	150 Opening ASCII mode data connection for test.txt
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Opsporen:	CTransferSocket::TransferEnd(1)
Opsporen:	CFtpControlSocket::TransferEnd()
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	226 Transfer complete
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	FileTransferSubcommandResult()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	FileTransferSend()
Commando:	MFMT 20140225194803 test.txt
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	213 Modify=20140225194803; test.txt
Opsporen:	FileTransferParseResponse()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Status:	Bestandsoverdracht succesvol, 408.064 bytes in 6 seconden overgedragen
Status:	Mappenlijst ophalen...
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	TYPE I
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	200 Type set to I
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	PASV
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	227 Entering Passive Mode (***,***,***,***,176,72).
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Commando:	MLSD
Opsporen:	CTransferSocket::OnConnect
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	150 Opening ASCII mode data connection for MLSD
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::SendNextCommand()
Opsporen:	CFtpControlSocket::TransferSend()
Opsporen:	CTransferSocket::TransferEnd(1)
Opsporen:	CFtpControlSocket::TransferEnd()
Opsporen:	CFtpControlSocket::OnReceive()
Antwoord:	226 Transfer complete
Opsporen:	CFtpControlSocket::TransferParseResponse()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Opsporen:	CFtpControlSocket::ParseSubcommandResult(0)
Opsporen:	CFtpControlSocket::ListSubcommandResult()
Opsporen:	CFtpControlSocket::ResetOperation(0)
Opsporen:	CControlSocket::ResetOperation(0)
Status:	Mappenlijst succesvol ontvangen

Attachments (1)

FileZilla-Overwrite-if-newer-bug.png (83.9 KB) - added by Jan K. 6 years ago.

Download all attachments as: .zip

Change History (3)

Changed 6 years ago by Jan K.

comment:1 Changed 6 years ago by Jan K.

Summary: 'Overwrite if newer' overwrites file event if they have the same timestamp while uploading.'Overwrite if newer' overwrites file even if they have the same timestamp while uploading.

comment:2 Changed 5 years ago by Tim Kosse

Resolution: fixed
Status: newclosed

This should be fixed in 3.8.0-beta1 and newer.

Note: See TracTickets for help on using tickets.