Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

plsnhat

Oh, didn't see that, I'll try to look more precisely next time, thanks! (:
martin

Re: Watch more than 500 directories

I believe there's "Never ask me again" checkbox on the confirmation dialog.
Guest

Re: Watch more than 500 directories

martin wrote:

plsnhat wrote:

I am also very thankful for this great product (: At the moment I am looking for a possibility to keep more than 500 directories up to date and it seems that you, gavbaa, implemented a solution (: Would you mind to tell me how to do this?

Where does the 500 limit restrict you? I believe WinSCP asks you if you want to continue nevertheless.


I store my projects locally and on a webserver which needs to be updated everytime I want to see an online version of a project. It may happen that just one file in any subdirectory of the project changes. So in order to not have to copy the whole project again I use WinSCP which determines the files which changed.

Well, it asks me whether I want to select other directories to be monitored and also offers the possibility to say "no", but doing this just closes the "keep up to date"-dialogue.

Thanks a lot for your help ! (:
martin

Re: Watch more than 500 directories

plsnhat wrote:

I am also very thankful for this great product (: At the moment I am looking for a possibility to keep more than 500 directories up to date and it seems that you, gavbaa, implemented a solution (: Would you mind to tell me how to do this?

Where does the 500 limit restrict you? I believe WinSCP asks you if you want to continue nevertheless.
gavbaa

Re: Watch more than 500 directories

Unfortunately, I have since moved on from the company where I developed that, so I will be unable to produce any additional patches besides what was in this thread. However, I recall 99% of the work outside of applying the patch listed above just being finding the 500 constant in the source and increasing it, then re-compiling. Should be straightforward.
plsnhat

Watch more than 500 directories

Hey there,

I am also very thankful for this great product (: At the moment I am looking for a possibility to keep more than 500 directories up to date and it seems that you, gavbaa, implemented a solution (: Would you mind to tell me how to do this?

You would do me a great favor!

Thanks,
Phil
martin

gavbaa wrote:

First, I added the filter of ".svn". That didn't work, it still checked all the .svn folders. So I connected to the server, removed all the .svn folders on there. Be-yoooo-tiful! I don't know why that made a difference, but I believe that was the only change I had made up to that point.

Hm, strange, I do not think that it should make difference.
gavbaa

First, I added the filter of ".svn". That didn't work, it still checked all the .svn folders. So I connected to the server, removed all the .svn folders on there. Be-yoooo-tiful! I don't know why that made a difference, but I believe that was the only change I had made up to that point.

I do notice that there's more drive activity than I would suspect out of the small file tree, but it's a small price for now for the functionality.

Thank you!
George
martin

Re: Applying filters to directories in "Keep Remote Dir Updated"

If you are willing to apply the patch yourself, here is quick and dirty fix to TCustomScpExplorerForm::DoSynchronize in CustomScpExplorer.cpp:

void __fastcall TCustomScpExplorerForm::DoSynchronize(

  TSynchronizeController * /*Sender*/, const AnsiString LocalDirectory,
  const AnsiString RemoteDirectory, const TSynchronizeParamType & Params)
{
  try
  {
    TCopyParamType CopyParam = GUIConfiguration->CopyParam;
    CopyParam.PreserveTime = true;

    AnsiString Path = LocalDirectory;
    bool Allow = true;
    while (Allow && !Path.IsEmpty())
    {
      Path = ExcludeTrailingBackslash(Path);
      Allow = CopyParam.AllowTransfer(ExtractFileName(Path));
      AnsiString ParentPath = ExtractFilePath(Path);
      if (Path == ParentPath)
      {
        Path = "";
      }
      else
      {
        Path = ParentPath;
      }
    }
   
    if (Allow)