Bug with Timezone on windows 7 on WinSCP 4.2.9
Hey everyone, I've found a follow up to but the timezone bug even with the current version. I'm running winscp to syncronize my local system, with a remote linux install (if it matters, it is on a different timezone). The project uses GIT so I do have a .git folder on my local filesystem, but that didn't matter until 4.2.7, as I have my transfer configured to ignore the .git folder (together with some other folders and files). I will try to give all the info needed. I won't show the behavior on 4.2.8 as it is already known to be buggy.
Local System
------------
Windows 7 Ultimate x64 English
Timezone São Paulo/Brazil with DST
Local system has a GIT repository on it
WinSCP configure to ignore the .git folder and a few other files and folder
WinSCP running on background with "Keep Remote Directory Up-to-date"
Remote System
-------------
Linux running kernel 2.6.32.12-115.fc12.x86_64
Other timezone without DST
< 4.2.8 Behavior
-----------------
If I changed a file it would get it and update to the remote server. And only that file. It would show too that the was a change to the .git directory, but it would ignore and not upload
4.2.9 Behavior
--------------
When I change a file, all the files on that directory and on any sub-directory are re-uploaded even if they just got uploaded. Let me give an example to show easier. Based on the following setup
/a.php
/b.php
/sub/sub1.php
/sub/sub2.php
/sub/sub3.php
Change sub1.php -> sub1.php gets upload once
Change sub2.php -> sub2.php and sub1.php gets upload TWICE
Change a.php -> a.php, sub2.php and sub1.php gets upload TWICE
Restarting WinSCP doesn't fix it, nor does comiting the git changes.
After I few more tests I think the fix for the incorrect timestamp broke something with the relation of winscp with git. Everytime you change a file on a git repository, it marks a change to the .git directory on the root dir, winscp now is seeing this change (even with .git on the ignore list) as meaning that it needs to recheck everything from the current directory and downwards for changes. And for some reason it is not understanding that a given file has already been uploaded to the remote and doesn't need to be changed.
Local System
------------
Windows 7 Ultimate x64 English
Timezone São Paulo/Brazil with DST
Local system has a GIT repository on it
WinSCP configure to ignore the .git folder and a few other files and folder
WinSCP running on background with "Keep Remote Directory Up-to-date"
Remote System
-------------
Linux running kernel 2.6.32.12-115.fc12.x86_64
Other timezone without DST
< 4.2.8 Behavior
-----------------
If I changed a file it would get it and update to the remote server. And only that file. It would show too that the was a change to the .git directory, but it would ignore and not upload
4.2.9 Behavior
--------------
When I change a file, all the files on that directory and on any sub-directory are re-uploaded even if they just got uploaded. Let me give an example to show easier. Based on the following setup
/a.php
/b.php
/sub/sub1.php
/sub/sub2.php
/sub/sub3.php
Change sub1.php -> sub1.php gets upload once
Change sub2.php -> sub2.php and sub1.php gets upload TWICE
Change a.php -> a.php, sub2.php and sub1.php gets upload TWICE
Restarting WinSCP doesn't fix it, nor does comiting the git changes.
After I few more tests I think the fix for the incorrect timestamp broke something with the relation of winscp with git. Everytime you change a file on a git repository, it marks a change to the .git directory on the root dir, winscp now is seeing this change (even with .git on the ignore list) as meaning that it needs to recheck everything from the current directory and downwards for changes. And for some reason it is not understanding that a given file has already been uploaded to the remote and doesn't need to be changed.