Topic "Keeping remote directories up to date... doesn't"

Author Message
FodderMK
[View user's profile]

Joined: 2005-07-09
Posts: 5
I have the following directory structure:

Code:
Local
C:\Development\ferrets.mywebsite.net\
C:\Development\ferrets.mywebsite.net\templates\pages\
C:\Development\shared_library\

Remote
/home/html/ferrets.mywebsite.net/
/home/html/ferrets.mywebsite.net/templates/pages
/home/html/shared_library


I point WinSCP to C:\Development\ and /home/html/, then highlight the three directories listed on my local machine and click on "Keep remote directories up to date". The options I have selected are:

- Update subdirectories
- Existing files only
- Selected files only

I also use Subversion, so like I good boy should I have the following mask to help WinSCP ignore useless directories:

Code:
Exclude */.svn/


Now all is usually fine and good; I make changes and they are automatically transferred - as they should be. However I've noticed a problem when I try to update templates and scripts with the same name.

For example, lets pretend I have the following files:
Code:
C:\Development\ferrets.mywebsite.net\import_new_orders.php
C:\Development\ferrets.mywebsite.net\templates\pages\import_new_orders.tmpl


I can edit the .tmpl file as much as I like, and each time I save it is uploaded correctly. Then I decide to edit the .php file. No problem! That too is uploaded correctly when I save. But now! Whenever I edit the .tmpl file and save WinSCP does nothing. It doesn't report detecting a change in my \templates\pages\ directory and it doesn't upload the changed file.

I have confirmed that the timestamp in the templates file is being updated. I have also tested and retested the order of events. If I start "Keep remote ..." update the .php file and then update the template, the template does not upload. If I then stop and restart "Keep remote ..." and re-save the template it uploads fine.

So in summary: this only occurs when I modify a script file with the same name as a template file. This affects multiple machines I have on hand (3 in total, WinXP and Win2K) so I'm sure it isn't something specific to my main box.

Some other stats that may help you:
WinSCP is monitoring 94 directories and approx 600 files

Any help would be appreciated!
Advertisements
duerra
[View user's profile]
Donor
Joined: 2004-10-06
Posts: 45
I can also verify that there are problems with the auto-upload functionality in the latest release. It only happens when directories are being monitored, and not when an individual file has been opened for editing from the remote system.

I stopped using the auto-sync because of this, so I can verify that something should be looked at here.
_________________
duerra wrote:
When you put everything into something, it means everything to you.
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
FodderMK wrote:
So in summary: this only occurs when I modify a script file with the same name as a template file. This affects multiple machines I have on hand (3 in total, WinXP and Win2K) so I'm sure it isn't something specific to my main box.

I have followed your instruction step by step. Unfortunatelly it works for me correctly. So there must be something else. When you edit the tmpl file, do you see at least the "change ... detected" message in the log? BTW, what version of WinSCP are you using?
_________________
Martin Prikryl
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
duerra wrote:
I can also verify that there are problems with the auto-upload functionality in the latest release. It only happens when directories are being monitored, and not when an individual file has been opened for editing from the remote system.

I stopped using the auto-sync because of this, so I can verify that something should be looked at here.

And what is it? Smile
_________________
Martin Prikryl
duerra
[View user's profile]
Donor
Joined: 2004-10-06
Posts: 45
Well, I can tell you this much - it only appears to happen *after* I have already monitored a directory on the same connection previously. It seems to work just fine the first time. WinSCP also seems to know that a file was modified in the bottom panel, but the file doesn't appear to be uploaded.
_________________
duerra wrote:
When you put everything into something, it means everything to you.
duerra
[View user's profile]
Donor
Joined: 2004-10-06
Posts: 45
Here's a screenshot. I can get it to happen pretty much every time (except for the first time, it seems, but don't rely on that too much).

<invalid link removed>

And just to anticipate a question.... yes, those files should be the exact same size if it was uploaded properly (no funny line ending rewrite settings or anything like that), it's not on the exclude list, etc.
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
duerra wrote:
Here's a screenshot. I can get it to happen pretty much every time (except for the first time, it seems, but don't rely on that too much).

From the screenshot I can see that the change time of local file is before the change time of remote file. Thus the file is naturally not uploaded. Have you any idea what may be cause for that?
_________________
Martin Prikryl
FodderMK
[View user's profile]

Joined: 2005-07-09
Posts: 5
prikryl wrote:
I have followed your instruction step by step. Unfortunatelly it works for me correctly. So there must be something else. When you edit the tmpl file, do you see at least the "change ... detected" message in the log? BTW, what version of WinSCP are you using?


I am using version 3.7.6 build 306.

I do not see the "change ... detected" message, so I can only assume WinSCP is not seeing the change for some reason.

To help debug the problem I tried several tests. In each case I modified and saved the .php file first and then the .tmpl file. (Also in each case I tried modifying the .tmpl file, the .php file and then the .tmpl file, for every case the .tmpl file would copy over the first time) After each test I undid any changes to the main directory by refreshing it against my SVN repository.

1) Removed all but view_client.php and templates/pages/view_client.tmpl.
Result: .tmpl file did not transfer

2) Renamed the directories on the local and remote sites from ferrets.mywebsite.com to testing.mywebsite.net
Result: .tmpl file did not transfer

3) Copied the directory structure, resulting in a directory called ferrets.mywebsite.com2, copied this new directory to the remote site.
Result: .tmpl file did not transfer

4) Created a brand new directory called testing.mywebsite.net, created the files testing.php and templates/pages/testing.tmpl.
Result: .tmpl file did transfer.

5) Copied the files from the original ferrets.mywebsite.com to the directory testing.mywebsite.net created in test #4.
Result: .tmpl file did transfer.

That one confused me even more. So I wiped out the remote directory entirely, re-copied the files over and turned on the sync. The files transferred correctly.

Keeping in mind that my local files were still in their original state, I am no closer to figuring out why this works. When I have more time I'll test it out on the other boxes and see what happens. Had I know it would be that simple to resolve I would have done it weeks ago!
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
Thanks for your tests. Can you tell, what's the difference between point 3) and 5)?
_________________
Martin Prikryl
FodderMK
[View user's profile]

Joined: 2005-07-09
Posts: 5
As far as I could tell the only difference was the testing.php and testing.tmpl files that were still in the directory from test #4. Unfortunately I do not have the older, unworking directory on the remote site anymore in order to re-verify this.

There must have been something in that remote directory though...
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
Please come back, if it ever happens again.
_________________
Martin Prikryl
duerra
[View user's profile]
Donor
Joined: 2004-10-06
Posts: 45
prikryl wrote:
duerra wrote:
Here's a screenshot. I can get it to happen pretty much every time (except for the first time, it seems, but don't rely on that too much).

From the screenshot I can see that the change time of local file is before the change time of remote file. Thus the file is naturally not uploaded. Have you any idea what may be cause for that?

Wow. Interesting. Maybe the server time is a bit off...?

Yep. The server appears to be running a couple minutes fast. I'm guessing this makes a difference? =/
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
duerra wrote:
Wow. Interesting. Maybe the server time is a bit off...?

Yep. The server appears to be running a couple minutes fast. I'm guessing this makes a difference? =/

WinSCP should set the timestamp of uploaded file to the same as original one. BTW, if you upload file manually (not via synchronisation) and check "preserve timestamp", is the file of the uploaded file the same as the original one?
duerra
[View user's profile]
Donor
Joined: 2004-10-06
Posts: 45
I'm sure it is, but right now I don't own the files I'm writing, and the server doesn't allow setting the timestamp on files you don't own, so that's where my problem is.

I would like to ask for the time not to be considered when a changed file is detected like that, but that's a call I think you're better left to make, based on the overall needs of the people using WinSCP. While I can't think of any reason why the timestamp should be considered (and like this situation, there are times when it causes problems), you may have ideas why this could cause problems.
_________________
duerra wrote:
When you put everything into something, it means everything to you.
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24996
Location: Prague, Czechia
duerra wrote:
I would like to ask for the time not to be considered when a changed file is detected like that, but that's a call I think you're better left to make, based on the overall needs of the people using WinSCP. While I can't think of any reason why the timestamp should be considered (and like this situation, there are times when it causes problems), you may have ideas why this could cause problems.

Problem is that Windows provides mechanism for watching for changes of whole directory only. It won't tell you what file has changed. I detect it by comparing the timestamps against the remote directory.
_________________
Martin Prikryl
Advertisements

You can post new topics in this forum






Search Site

What is WinSCP?

It is award-winning SFTP client, SCP client, FTPS client and FTP client integrated into one software program for file transfer to FTP server or secure SFTP server. [More]

And it's free!

Donate

About donations

$9   $19   $49   $99

About donations

Recommend

WinSCP Privacy Policy

WinSCP License