inossidabile / grunt-ftpush

Grunt task for incremental code deployment over ftp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not doing anything [no errors]

mirague opened this issue · comments

With the exact same configuration, grunt-ftp-deploy works just fine. But when calling grunt ftpush, this is all that happens:

C:\wamp\www\site>grunt ftpush
Running "ftpush:build" (ftpush) task
C:\wamp\www\site>

Configuration:

'ftp-deploy': {
    build: {
        auth: {
            host: '127.0.0.1',
            port: 21
        },
        src: 'app',
        dest: 'root',
        exclusions: [
            'app/tmp',
            'app/node_modules',
            'app/composer.*',
            'app/webroot/.sass-cache',
            'app/webroot/config.rb',
            'app/webroot/js/full',
            'app/webroot/css/sass',
            '*.sql',
            '*.svn',
            '*.git',
        ],
        keep: [
            'app/webroot/img/uploads/*',
            'app/webroot/community/*',
        ]
    }
}       

Another thing I noticed was that I cannot seem to be able to set the current folder as src. How is this possible? I've tried setting src to '/', '', '', '*' but nothing has worked.

First of all, you use ftp-deploy as the configuration key. Is that a typo? It should be ftpush. Secondary – do you actually have authkey named 127.0.0.1 at .ftppass.json? Also please run with --debug and show me the output.


To set current folder as src, use './`.

First of all, you use ftp-deploy as the configuration key. Is that a typo? It should be ftpush. Secondary – do you actually have authkey named 127.0.0.1 at .ftppass.json? Also please run with --debug and show me the output.

@inossidabile, thank you for your reply! I must state my gratitude for you building on such a useful plugin and making it even better.

The key was indeed set to ftp-deploy in my previous post, but during the testing it was correctly set to ftpush. This was to demonstrate that using the exact same configuration ftp-deploy worked, but ftpush unfortunately did not.

I merely had an .ftppass file, which is what ftp-deploy required. When trying to append .json to the filename, it does not seem to read .ftppass.json.
This is the content of .ftppass:

{
  "127.0.0.1": {
    "username": "melvin",
    "password": "melvin"
  }
}

Running it with --debug yields me this:

C:\wamp\www\site>grunt ftpush --debug
Running "ftpush:build" (ftpush) task
[D] Task source: C:\wamp\www\site\node_modules\grunt-ftpush\tasks\ftpush.
coffee

C:\wamp\www\site>

To set current folder as src, use './`.

Much obliged, thanks!

Yep, my bad. It should not have '.json' extension. Nevermind about it.

Can you install master of this repository and try --debug again? I've added more points to output.

Please note that I've just renamed the repo to grunt-contrib-ftpush. And this will be the name of the package in future (to match newer Grunt conventions).

Can you install master of this repository and try --debug again? I've added more points to output.

How would I best go about doing this? I've tried C:\wamp\www\site>npm install https://github.com/inossidabile/grunt-contrib-ftpush.git

But that doesn't work:

C:\wamp\www\site>npm install https://github.com/inossidabile/grunt-contrib-ftpush.git
npm WARN package.json site@0.1.0 No repository field.
npm http GET https://github.com/inossidabile/grunt-contrib-ftpush.git
npm http 200 https://github.com/inossidabile/grunt-contrib-ftpush.git
npm ERR! not a package C:\Users\MELVIN~1\AppData\Local\Temp\npm-6056\13769911808
10-0.24725565989501774\tmp.tgz
npm ERR! Error: ENOENT, open 'C:\Users\MELVIN~1\AppData\Local\Temp\npm-6056\1376
991180810-0.24725565989501774\package\package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "https://github.c
om/inossidabile/grunt-contrib-ftpush.git"
npm ERR! cwd C:\wamp\www\site
npm ERR! node -v v0.10.12
npm ERR! npm -v 1.2.32
npm ERR! path C:\Users\MELVIN~1\AppData\Local\Temp\npm-6056\1376991180810-0.2472
5565989501774\package\package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\wamp\www\site\npm-debug.log
npm ERR! not ok code 0

C:\wamp\www\site>

I did do npm install grunt-contrib-ftpush as well, then I ran grunt ftpush --debug but the results were the same as in my previous post.

Use npm install git+https://github.com/inossidabile/grunt-contrib-ftpush.git

Use npm install git+https://github.com/inossidabile/grunt-contrib-ftpush.git

I'm afraid it gives me the same result..:

C:\wamp\www\site>grunt ftpush --debug
Running "ftpush:build" (ftpush) task
[D] Task source: C:\wamp\www\site\node_modules\grunt-contrib-ftpush\tasks\ftpush.coffee

C:\wamp\www\site> 

Here's the install log:

C:\wamp\www\site>npm install git+https://github.com/inossidabile/grunt-contrib-ftpush.git --save-dev
npm WARN package.json site@0.1.0 No repository field.
npm http GET https://registry.npmjs.org/sugar
npm http GET https://registry.npmjs.org/jsftp
npm http GET https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/jsftp
npm http 304 https://registry.npmjs.org/sugar
npm http GET https://registry.npmjs.org/streamer
npm http 304 https://registry.npmjs.org/streamer
npm WARN package.json dateformat@1.0.2-1.2.3 No repository field.
npm WARN package.json faye-websocket@0.4.4 'repositories' (plural) Not supported
.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json eyes@0.1.8 No repository field.
grunt-contrib-ftpush@0.2.2 node_modules\grunt-contrib-ftpush
├── async@0.2.9
├── sugar@1.3.9
└── jsftp@0.6.0 (streamer@0.2.1)

C:\wamp\www\site>

Could you please try once more? I've added more debug output 😱

Wait. You did install it from master right? Did you change grunt.loadNpmTasks 'grunt-ftpush' to grunt.loadNpmTasks 'grunt-contrib-ftpush'? Cause it's just using the old package :)

Could you please try once more? I've added more debug output

Of course! 👍 This is now the debug output:

C:\wamp\www\site>grunt ftpush --debug
Running "ftpush:build" (ftpush) task
[D] Task source: C:\wamp\www\site\node_modules\grunt-contrib-ftpush\tasks\ftpush.coffee
[D] Collecting information...
[D] Initializing synchronizer...

C:\wamp\www\site>

Wait. You did install it from master right? Did you change grunt.loadNpmTasks 'grunt-ftpush' to grunt.loadNpmTasks 'grunt-contrib-ftpush'? Cause it's just using the old package :)

Yep, I'm loading all grunt packages through require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); and I've removed the old grunt-ftpush from my packages.json

Blah. What a weird stuff... I can't even imagine why it can happen. It must be something connected to Windows then. Interesting! A little bit more of debug points 💃 Repeat please.

Blah. What a weird stuff... I can't even imagine why it can happen. It must be something connected to Windows then. Interesting! A little bit more of debug points Repeat please.

Haha, love your 💃 !

Here you go!

C:\wamp\www\allroleplay>grunt ftpush --debug
Running "ftpush:build" (ftpush) task
[D] Task source: C:\wamp\www\allroleplay\node_modules\grunt-contrib-ftpush\tasks\ftpush.coffee
[D] Collecting information...
[D] Initializing synchronizer...
[D] Local root set to 'C:\wamp\www\allroleplay'

C:\wamp\www\allroleplay>

Thought so. For some reason it dies somewhere in the recursive routine that tries to build local files tree https://github.com/inossidabile/grunt-contrib-ftpush/blob/master/tasks/ftpush.coffee#L133-L154. I think I should try to switch to grunt.file.recurse and not even try debugging it. Let me check.

Try again please.

Try again please.

Regrettably.. 😦
It got stuck at the "Local root set to..." line for about 1 minute I think, then it showed me the ability to input the next command again.

C:\wamp\www\allroleplay>grunt ftpush --debug
Running "ftpush:build" (ftpush) task
[D] Task source: C:\wamp\www\allroleplay\node_modules\grunt-contrib-ftpush\tasks\ftpush.coffee
[D] Collecting information...
[D] Initializing synchronizer...
[D] Local root set to 'C:\wamp\www\allroleplay'

C:\wamp\www\allroleplay>

I can't believe this :). Added one more log point. Repeat pls.

Okay, this build gave me a wall of debug text..!
I shall only copy the last few entries for your sake:

[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9daf5b146c43daa741c3a68382e7109cd40
0d95c.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9dbb5c9ddc27e642bd379fa8ff86a850f7b
8d238.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9dc457c2290f30c10f4e3b610afd995964b
c0924.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9dc5078b498162be558debc017fd35afec4
d8d4b.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9de943ab455f160f3dd87fdd9153e40db06
89b1d.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9df7c4c0f1b006afd74bb6e163d81c11ca4
eb5a2.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9d/9dfd510955ff9c7f18b7409699ae819d84a
4a975.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e0eaa9cc2de97d10cca105c8a825308dc5
ebdfa.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e2cc6023e468697ec5af76115918637a30
659c7.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e393828fe65a005697a09f37160feda15d
11f89.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e3a239d0524265fe2a8cb63026ae84a414
41aec.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e437d7bfdcef25ea41f6d9e170292b083c
97978.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e495008cfd28077a580efb09b8a88433d2
2f23c.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e5391cce7d2eb64ce39c9f27f7927e923d
b8dec.svn-base added to local tree
[D] C:/wamp/www/allroleplay/.svn/pristine/9e/9e565da4ebe0fe8539dcdcd74f19bccc417
8cead.svn-base added to local tree

C:\wamp\www\allroleplay>

That's a whole lot of .svn folders it goes through, does it not honor my exclusions array? Or maybe I've set it up incorrectly? Edit: It seems to only go through my .svn folder, I don't see it going anywhere else, as fast as it goes..

Here's my task again:

    ftpush: {
        build: {
            auth: {
                host: '127.0.0.1',
                port: 21
            },
            src: './',
            dest: 'root',
            exclusions: [
                'app/tmp',
                'app/node_modules',
                'app/composer.*',
                'app/webroot/.sass-cache',
                'app/webroot/config.rb',
                'app/webroot/js/full',
                'app/webroot/css/sass',
                '*.sql',
                '*.svn',
                '*.git',
            ],
            keep: [
                'app/webroot/img/uploads/*',
                'app/webroot/community/*',
            ]
        }
    }   

Okay. Please try once more. We have to figure out where it dies by the list of files. It should now tell you in details how it recurses into the directories. So probably we can find out what file it dies on.

Okay. Please try once more. We have to figure out where it dies by the list of files. It should now tell you in details how it recurses into the directories. So probably we can find out what file it dies on.

This is how far it gets:

[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\98
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\9809700a2817f4
01ef858a8ceffa0f8b926b935c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\981d6554665f83
2f184122e9b109c35f79dfbcab.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98204853402d7c
dcb7a53569236a55393e64f1bf.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\9822d35c4cef15
0b9aff1a000295bda9cb3b4ce0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\9836c863d7d535
f7976c43787611f09323580a27.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\9842db871c12b8
5163c2fb1fa145163fd33c9e41.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\984a438350bbcf
926b80705b6c4db2a9e21801f4.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\986708334f6e35
bee63ea2644d1d1af3872db10a.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\986aa8c0fe4afa
d9a2562a1400f075815362d673.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\986f0359a70bcd
2a4c1ceb65af74c6a2ee631661.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\9871bcbcb3e1cc
33e413519989422082c1a852b1.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\987b5d2b5853c4
cce94d5df7eb767c63056efc30.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\988dca587cba43
20a7a324c3c1eb6fb6f7799b46.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98a1d7327f947f
77f41c33f0b61e91434b4ffbd0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98a46f14715431
c4d028cf817cb7cdb88329bf8d.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98a83e774c956c
e2f281c46dabc6b3d91a8b1846.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98a98057766374
b5d1514a81933494d02220b15e.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98b8cb604bc768
98dd7b5a55026419fc039447b8.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98c45cd9ee88ab
2932906a403bf3e200b2e2f58c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98d22d74c5a366
22dc1b8516a04610003099d736.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98e15ca5e79d18
dabf3a2ea383027773922904d0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98e92a713f1115
e811f03bc00e454d026538d0bd.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\98\98e9ab58424f0a
ec9911853294cdcd3031f906d7.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\99
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\990e6d3cab0d93
4964a2f78e7776e5dde51b2495.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\990f8b2b80cf55
363b6c9f1fea8938a03c7f763b.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\991c68a664913c
fe5b900cb2a30a9f7238f042fa.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99227817a99cbe
36773e767fcb5894489e8e396b.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\994b32eb9761fe
96a59ec819a264fd40e0b7109b.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\994bf77e067678
da3ce4c5490ab52cd86c2d57b2.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\994ebecf672500
dcd7241ee5616694e0407a2929.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99746ac1d3f501
9a898d93782bd67cdb98583cf9.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\997a095afb35c8
a2b35ac66a6eab54c71a205fa0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\9980ff661ce0c7
959724dd627d882d567e39d4b1.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\9998b8405d5c41
6324329b61d0ad8ffd0138b279.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\9999a4d2285a4d
86d5a975086e39fd1c4dc2b1e1.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99b5f85641a0df
5fd90fa88beb7a75b159795e54.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99b830a4b25745
62d11d165ebc2010a31d0192c6.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99bef8f0a14793
68ee1e1313ea0ac320d22c2d3e.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99bfcaa6169d6c
5613568a78ec3868a488297fae.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99c1cd51333982
dede1ff480e19e6e93fa05b149.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99c5f5fb16641d
b873c545833afb6ed0ef7b120d.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99ca9a775205ec
77d601c16ea41f460698e91cb0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\99\99ecf2328898e5
c9e4796edeccc18f18b78ce1c5.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\9a
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a01f86e4f4a42
fca918954d9100ff2e94ec8ca0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a03353d6caa75
f36affd94b1ea1337d650d60fd.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a1697796ee1a3
4bf7932a5132760aad906df880.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a1f8678dbd47c
968aa15c489f2fc1745a6a760c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a22deb4dead79
13643bfb95ce06e7ec9c31f422.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a29d1d09356b6
bd7fd1674b2eb37f040a0cf957.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a2f0d2d87f641
4f84bce71f91b22ec3f35a6cf6.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a31254b38e1c8
1b01de3b95920cb4cf4bb470ed.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a39223ab929bc
3eda9486e5ba17b957bd213737.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a4074af5f5b1c
8b231f9fd677693fe7079c5d19.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a4f1e6585e2f9
81465b6015493df9dc3fa69f4e.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a58336c53f4c0
d1ae719b400328dc8c49779dd9.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a5dca3f07d121
ba852bb7b36e7e2ca459be89c9.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a677410fa99bf
93daf8eb20898b6b319470c4b0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a69543e6d5e0e
9c2feebd87b7050022a019e0a2.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a6d3808e88a4b
98ac4a76a7c0fa2ea87bb4f763.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a76f23605af35
c4eb951bcaebeab0cdb3910034.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9a7fe723dabdaf
4cd472bb0730fe54fde3557247.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9aa49c91e4cdd4
0ce12e6cc3332a01a45631def0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9ad3a6b94f0fa3
e1e8bb636167adf17c51da386a.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9ae7e91c15817f
c552b22eb52934591e11906f03.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9ae7f088611ec2
4035417531489572f2433aa44f.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9aef3d4295afce
ee0f498bd62c94b15d39c04746.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9af07cba220872
fa899cad13ad40610da6b37472.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9af3b46bb674d6
b3ddc25f22e6aaa9823c0fe715.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9afc92883a5cd9
55d6125ba8bb5b346923d8b1fd.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9a\9afe0642deb1bf
e172a81c85068107ad8209d27b.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\9b
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b088a2699219d
9365b8732e84f7ceb7a4f93959.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b15d3d412f279
c45169cb048d4853c697d8df6c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b2a393ae949f4
1704bf1fc3c3b5895c220515f3.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b2d7f6c96b686
0b4393afed97f18078eb2c6a60.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b2f951f35e357
6d367bbe8f18de5cfc25b061b7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b36773acffa1e
bf1bd95a7cfde13a5fa0859623.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b3d97e189e992
c4320e300b9268867ff559af11.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b5351b1a92bc2
96468092c9c57f2327179955c5.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b611edc7f906b
021f749fa6cba4e71075dd0f5c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b7803bd71a2d6
9120a3947a9c28cd38e5e7d635.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b7d409066c9b4
63001f8b09af4b0dc3766cbcac.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b9378466a9b42
7454c17316a79c366f46291915.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9b9583d52d87fe
970ce2db7e01356c942fd41d44.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9baf80d34c20ef
fd573f5de774765d33d73edb09.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9be760c3f58037
7a721115cd4cf7e99766dcaad1.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9bee8bcbbde92f
50b288b856cd4958d04595b51a.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9bf67e2200a156
c98ec0d34dc38fda317f9bc9cf.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9b\9bf86c4b9e07ce
4f26950769fbc9c94727d40e9f.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\9c
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c02053246e55b
aaab8f0e7b04613c1c4e306237.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c06d721a58868
7b68580a2ff4aca2f0d8a63a10.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c195b0a30733c
6192245e0f0bd5478cad705adc.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c1d9b3e8c0000
9f851d05883a8c062b5b106214.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c33805a4ae91f
5780b7948643a8cdc521047889.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c53a8c777e8e1
d4ece80323c5559d1ddf2d840f.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c56ce2e52266b
f48ea0d02d4353cf24d7c30dc2.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c5fcb40e87b4d
1be3d5bdedf714c576148a6b60.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c621069aa6e38
321a3c8dbc1338368329cc0233.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c692cb9d4e22e
835664a416d6d4ee202917cd0a.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c6f5985a8553e
1ac54339b083ba9a401e621f95.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c6fc0aacae128
211b9dbd28894fae65f98aaf1d.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c7808f0c48816
27e3f02e5ea219bf74526b39b7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c84cd8c90a970
2eb836f62564c5d13924f2a6a7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9c8ac387539978
3026a3c2352decef0479069d59.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9ca0ffa6810d05
b0c19f7bd331d7e782929f2e18.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9ca7db52941d98
02a742ab873495eb4b5fc14985.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9caf0136d19f21
6b19708353f5395db9fe20abaa.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9caf261ca8896c
313089a6494da2afb8f03454e6.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cb310e7d50be0
fd75db2a74bf57a9b171e5efa9.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cb555d3506337
0f5a7424b77c94599c97a3e075.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cbcc7cf050c0a
c4f8f21d29daf358a0eea9b418.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cbec245da7db1
4c3f4bab452421e6e907c790fd.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cc083cda87ad4
96cd2fab825828710bbbb576c7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cd26bcf07bf2a
3a885b7ca8ba53f4505b8afa1a.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cde9d16027ce1
c4af227583bd869addbc0d14f0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9c\9cf973f057d3c2
c458d0d3de946bbe45a0dc2e3b.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\9d
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d207d99702504
ec703bf2e692e3fffc39b78f0b.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d2e4a9d2cb827
9113324cb3b4a14fddaf492474.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d35482a8c8f2e
fa24f586b18917f0a66a4d7e8d.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d3e1c9a60c2a1
91c5252887ac702a0d31b807e9.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d45bb9d5b70ba
2e2b5dc8dfd8fb093ab3cef7e0.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d4922d90dd3de
e04fac684266f4adad87f4a35c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d516adc4a6f1a
591ad3513e5685e096a3b42b53.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d51b4a7d5159e
24df0a73f5eba23425dd403edf.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d656482096341
ae1f66525f37b4e725dcf2e4e5.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d704aa16d1540
bef5afc1a45ab52836483a2436.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d812c80490e40
daf6896aa517d16478e70fa663.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9d8654978e0335
d5eca1542e131ccada7a127f55.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9da1e18faf962b
0a50be5221c194aaf6d1ebfc16.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9da1fc81f3579a
2e314af926adb5c0c1966ff6d7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9da7454fd4dd48
ee4a0b61710c59683315e31ee6.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9daf5b146c43da
a741c3a68382e7109cd400d95c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9dbb5c9ddc27e6
42bd379fa8ff86a850f7b8d238.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9dc457c2290f30
c10f4e3b610afd995964bc0924.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9dc5078b498162
be558debc017fd35afec4d8d4b.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9de943ab455f16
0f3dd87fdd9153e40db0689b1d.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9df7c4c0f1b006
afd74bb6e163d81c11ca4eb5a2.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9d\9dfd510955ff9c
7f18b7409699ae819d84a4a975.svn-base
[D] Building tree: Recursing into C:\wamp\www\allroleplay\.svn\pristine\9e
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e0eaa9cc2de97
d10cca105c8a825308dc5ebdfa.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e2cc6023e4686
97ec5af76115918637a30659c7.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e393828fe65a0
05697a09f37160feda15d11f89.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e3a239d052426
5fe2a8cb63026ae84a41441aec.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e437d7bfdcef2
5ea41f6d9e170292b083c97978.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e495008cfd280
77a580efb09b8a88433d22f23c.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e5391cce7d2eb
64ce39c9f27f7927e923db8dec.svn-base
[D] Building tree: Added C:\wamp\www\allroleplay\.svn\pristine\9e\9e565da4ebe0fe
8539dcdcd74f19bccc4178cead.svn-base

C:\wamp\www\allroleplay>

Maybe if we can get it to ignore the .svn folders it will work? Or it might crash on a more "regular" file?

Well. Looks like your node simply crashes here. For whatever reason. It's not related to grunt-contrib-ftpush. Pretty sure in this now. But let's try to do few more things. At first – please use **/.svn to exclude svn. Excludes should already work at this stage.

Well. Looks like your node simply crashes here. For whatever reason. It's not related to grunt-contrib-ftpush. Pretty sure in this now. But let's try to do few more things. At first – please use **/.svn to exclude svn. Excludes should already work at this stage.

Alright, excluded the .svn folders like you said. This is what my exclusions array looks like now:

                exclusions: [
                    'app/tmp',
                    'app/node_modules',
                    'app/composer.*',
                    'app/webroot/.sass-cache',
                    'app/webroot/config.rb',
                    'app/webroot/js/full',
                    'app/webroot/css/sass',
                    '.sql',
                    '**/.svn',
                    '**/.git',
                ],

It does not seem to exclude .sql files, did I apply an incorrect syntax?

This is what files it goes through now:

...
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transformer\Image
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transformer\Image\CropTransformerTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transformer\Image\FlipTransformerTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transformer\Image\ResizeTransformerTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transformer\Image\ScaleTransformerTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\TransitTest.php
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transporter
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transporter\Aws
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transporter\Aws\GlacierTransporterTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Transporter\Aws\S3TransporterTest.php
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Validator
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Validator\ImageValidatorTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\tests\Transit\Validator\ValidatorTest.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Transit\version.md
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\composer.json
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\license.md
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader\Locale
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader\Locale\eng
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader\Locale\eng\LC_MESSAGES
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\Locale\eng\LC_MESSAGES\uploader.mo
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\Locale\eng\LC_MESSAGES\uploader.po
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader\Model
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\Uploader\Model\Behavior
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\Model\Behavior\AttachmentBehavior.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\Model\Behavior\FileValidationBehavior.php
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\readme.md
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\Uploader\version.md
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\XenForo
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\XenForo\Controller
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\XenForo\Controller\AppController.php
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\XenForo\View
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\Plugin\XenForo\View\Helper
[D] Building tree: Added C:\wamp\www\allroleplay\app\Plugin\XenForo\View\Helper\XenForoHelper.php
[D] Building tree: Recursing into C:\wamp\www\allroleplay\app\sql
[D] Building tree: Added C:\wamp\www\allroleplay\app\sql\ar_tables.sql

C:\wamp\www\allroleplay>

It seems to just stop there. If it were to be my node installation, I'm curious how it's possible.
Remember that grunt-ftp-deploy worked without any of these errors. Is there a major difference in how the tree-buildup works between grunt-ftp-deploy and grunt-contrib-ftpush ?

Use '*/.sql' to exclude sql.

There's a huge difference for sure. grunt-ftp-deploy doesn't build local tree at all. It doesn't support incremental upload. It always upload everything. That's why it's MUCH simpler internally.

Debugging it further like this seems impossible. You can try to play with this yourself patching file node_modules/grunt-contrib-ftpush/tasks/ftpush.coffee. If you try – I'll be here to help you.

Just to clarify what's going on:

https://github.com/inossidabile/grunt-contrib-ftpush/blob/master/tasks/ftpush.coffee#L53 - here it jumps into @buildTree routine that recursively collects all the paths that were not excluded AND there MD5 hashes (https://github.com/inossidabile/grunt-contrib-ftpush/blob/master/tasks/ftpush.coffee#L65 - this is where it probably dies in fact).

It never gets back from this function on your system for reason that's unknown to me. But well, if Node.js doesn't output any error and silently dies inside of a function that has no process-level calls... That must be a bug of Node unfortunately :(.

I suggest you to try modifying hash function here: https://github.com/inossidabile/grunt-contrib-ftpush/blob/master/tasks/ftpush.coffee#L66. That's probably everything I can do to help.

Excluding the .sql file gave me progress in the sence of it's showing me more and newer information than it did before:

[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\lib'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\test'
[D] Touch 'root\\plugins'
[D] Touch 'root\\vendors'
>> Got diff for \ 11 0 12
[D] Diff { upload:
   [ [ '.ftppass', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.ftppass.json', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.gitignore', 'cfd81457d4146ea4486d01eb65b3858c' ],
     [ '.htaccess', '61caf08f88ca38068aa69f59dc129de4' ],
     [ '.travis.yml', '9d13dae47e6d6912578b20150f3fe991' ],
     [ 'build.properties', '82d7069f275432655fe2f5c087556c51' ],
     [ 'build.xml', '3f999a68a37a1a1deecc813f36f1fcfb' ],
     [ 'Gruntfile.js', '3d133e33a5131f2570f98107ea1d5ec7' ],
     [ 'index.php', 'ab1037f8eb5626aaa5f93ddb32c3b788' ],
     [ 'package.json', '1faf412a7e0a69ead4bf6d15f1d898f5' ],
     [ 'README.md', '2ab3a5cf63e8a991580cee59ff114d60' ] ],
  rm: [],
  rmDir:
   [ 'Config',
     'Console',
     'Controller',
     'Lib',
     'Locale',
     'Model',
     'Plugin',
     'sql',
     'Test',
     'Vendor',
     'View',
     'webroot' ] }
[D] Upload '.ftppass' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.ftppass.json' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.gitignore' '\\' 'cfd81457d4146ea4486d01eb65b3858c'
[D] Upload '.htaccess' '\\' '61caf08f88ca38068aa69f59dc129de4'
[D] Upload '.travis.yml' '\\' '9d13dae47e6d6912578b20150f3fe991'
[D] Upload 'build.properties' '\\' '82d7069f275432655fe2f5c087556c51'
[D] Upload 'build.xml' '\\' '3f999a68a37a1a1deecc813f36f1fcfb'
[D] Upload 'Gruntfile.js' '\\' '3d133e33a5131f2570f98107ea1d5ec7'
[D] Upload 'index.php' '\\' 'ab1037f8eb5626aaa5f93ddb32c3b788'
[D] Upload 'package.json' '\\' '1faf412a7e0a69ead4bf6d15f1d898f5'
[D] Upload 'README.md' '\\' '2ab3a5cf63e8a991580cee59ff114d60'
[D] Delete directory 'Config' '\\'
[D] Delete directory 'Console' '\\'
[D] Delete directory 'Controller' '\\'
[D] Delete directory 'Lib' '\\'
[D] Delete directory 'Locale' '\\'
[D] Delete directory 'Model' '\\'
[D] Delete directory 'Plugin' '\\'
[D] Delete directory 'sql' '\\'
[D] Delete directory 'Test' '\\'
[D] Delete directory 'Vendor' '\\'
[D] Delete directory 'View' '\\'
[D] Delete directory 'webroot' '\\'
Fatal error: connect ECONNREFUSED

Huh. It passed through tree building :). Something is wrong with paths now. Let me see.

Huh. It passed through tree building :). Something is wrong with paths now. Let me see.

I have a feeling the .sql syntax in the exclusions array messed things up...

Can't be. It looks like it was hitting some kind of memory limit after that it was simply crashing silently. But anyway, look what it tries to upload. It includes the whole node_modules directory which is not something you want I believe. Currently it already works on the server. And it gets disconnected while trying to remove webroot directory. Probably it just doesn't have proper permissions to do that. Some FTP servers do not report access errors properly, just disconnect you.

Can't be. It looks like it was hitting some kind of memory limit after that it was simply crashing silently.

The .sql file was quite big in size I believe.

This is the FTP log:

(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\lib
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules\lru-cache
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules\lru-cache\lib
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules\lru-cache\test
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules\sigmund
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\node_modules\sigmund\test
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\node_modules\matchdep\node_modules\minimatch\test
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\plugins
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> stat root\vendors
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 500 Syntax error, command unrecognized.
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> pasv
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,62,194)
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> list root\
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 150 Connection accepted
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 226 Transfer OK
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> pasv
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,62,196)
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> list root\app
(000001)8/20/2013 14:00:58 PM - melvin (127.0.0.1)> 550 Directory not found.
(000001)8/20/2013 14:00:59 PM - melvin (127.0.0.1)> disconnected.

Also, my FTP user has full read/write/change/delete permissions on both files and folders.

Update from master and add useList: true to your config.

Update from master and add useList: true to your config.

Thanks for your continued efforts in helping me out, @inossidabile. I'm very fortunate to have you here.
So I have added the useList option and set it to true, unfortunately it still gives me:

[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test\\pyftpdli
b\\contrib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test\\test_c9'

[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib\\extra'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib\\locales'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\release'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp\\array'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp\\string'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments\\node'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments\\sugar'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\ja
vascripts'
[D] Touch 'root\\node_modules\\grunt-ftpush\\tasks'
[D] Touch 'root\\node_modules\\matchdep'
[D] Touch 'root\\node_modules\\matchdep\\lib'
[D] Touch 'root\\node_modules\\matchdep\\node_modules'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\lib'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\test'
[D] Touch 'root\\plugins'
[D] Touch 'root\\vendors'
>> Got diff for \ 10 0 12
[D] Diff { upload:
   [ [ '.ftppass', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.ftppass.json', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.htaccess', '61caf08f88ca38068aa69f59dc129de4' ],
     [ '.travis.yml', '9d13dae47e6d6912578b20150f3fe991' ],
     [ 'build.properties', '82d7069f275432655fe2f5c087556c51' ],
     [ 'build.xml', '3f999a68a37a1a1deecc813f36f1fcfb' ],
     [ 'Gruntfile.js', '91283f09d6d86fb11fc095774d4b424b' ],
     [ 'index.php', 'ab1037f8eb5626aaa5f93ddb32c3b788' ],
     [ 'package.json', '1faf412a7e0a69ead4bf6d15f1d898f5' ],
     [ 'README.md', '2ab3a5cf63e8a991580cee59ff114d60' ] ],
  rm: [],
  rmDir:
   [ 'Config',
     'Console',
     'Controller',
     'Lib',
     'Locale',
     'Model',
     'Plugin',
     'sql',
     'Test',
     'Vendor',
     'View',
     'webroot' ] }
[D] Upload '.ftppass' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.ftppass.json' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.htaccess' '\\' '61caf08f88ca38068aa69f59dc129de4'
[D] Upload '.travis.yml' '\\' '9d13dae47e6d6912578b20150f3fe991'
[D] Upload 'build.properties' '\\' '82d7069f275432655fe2f5c087556c51'
[D] Upload 'build.xml' '\\' '3f999a68a37a1a1deecc813f36f1fcfb'
[D] Upload 'Gruntfile.js' '\\' '91283f09d6d86fb11fc095774d4b424b'
[D] Upload 'index.php' '\\' 'ab1037f8eb5626aaa5f93ddb32c3b788'
[D] Upload 'package.json' '\\' '1faf412a7e0a69ead4bf6d15f1d898f5'
[D] Upload 'README.md' '\\' '2ab3a5cf63e8a991580cee59ff114d60'
[D] Delete directory 'Config' '\\'
[D] Delete directory 'Console' '\\'
[D] Delete directory 'Controller' '\\'
[D] Delete directory 'Lib' '\\'
[D] Delete directory 'Locale' '\\'
[D] Delete directory 'Model' '\\'
[D] Delete directory 'Plugin' '\\'
[D] Delete directory 'sql' '\\'
[D] Delete directory 'Test' '\\'
[D] Delete directory 'Vendor' '\\'
[D] Delete directory 'View' '\\'
[D] Delete directory 'webroot' '\\'
Fatal error: connect ECONNREFUSED

C:\wamp\www\allroleplay>

With the following FTP log:

(000004)8/20/2013 14:23:05 PM - melvin (127.0.0.1)> 230 Logged on
(000004)8/20/2013 14:23:05 PM - melvin (127.0.0.1)> syst
(000004)8/20/2013 14:23:05 PM - melvin (127.0.0.1)> 215 UNIX emulated by FileZilla
(000004)8/20/2013 14:23:05 PM - melvin (127.0.0.1)> type I
(000004)8/20/2013 14:23:05 PM - melvin (127.0.0.1)> 200 Type set to I
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> pasv
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,80,110)
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> list root\
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> 150 Connection accepted
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> 226 Transfer OK
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> pasv
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,80,112)
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> list root\app
(000004)8/20/2013 14:23:06 PM - melvin (127.0.0.1)> 550 Directory not found.
(000004)8/20/2013 14:23:07 PM - melvin (127.0.0.1)> disconnected.

Once again – are you sure you want to use your actual root as upload base? It tries to upload node_modules. Before we try to understand what really is going on you have to reduce the noice. It tries to upload THOUSANDS of files it should not for you. Can you get rid of them and paste the whole output?

Can you get rid of them and paste the whole output?

I've tried to add it to the exclusions object but I think the format is wrong:

                exclusions: [
                    'node_modules/*',
                    'app/tmp/*',
                    'app/composer.*',
                    'app/webroot/.sass-cache',
                    'app/webroot/config.rb',
                    'app/webroot/js/full',
                    'app/webroot/css/sass',
                    '**/*.sql',
                    '**/.svn',
                    '**/.git*',
                    '**/.git',
                ],

'*' is one file. With your pattern you exclude all the direct files of node_modules. Just put node_modules instead.

Hmm, that does not seem to work. It adds it to the tree and the process ends with this:

[D] Touch 'root\\node_modules\\grunt-ftp-deploy\\node_modules\\prompt\\test'
[D] Touch 'root\\node_modules\\grunt-ftp-deploy\\tasks'
[D] Touch 'root\\node_modules\\grunt-ftpscript'
[D] Touch 'root\\node_modules\\grunt-ftpscript\\tasks'
[D] Touch 'root\\node_modules\\grunt-ftpush'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\async'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\async\\lib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.c9revisions'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.c9revisions\\
lib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.c9revisions\\
test'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.idea'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.idea\\inspect
ionProfiles'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\.idea\\scopes'

[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\lib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\node_modules'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\node_modules\\
streamer'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\node_modules\\
streamer\\demos'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\node_modules\\
streamer\\docs'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\node_modules\\
streamer\\tests'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test\\pyftpdli
b'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test\\pyftpdli
b\\contrib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\jsftp\\test\\test_c9'

[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib\\extra'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\lib\\locales'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\release'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp\\array'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\tmp\\string'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments\\node'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\en
vironments\\sugar'
[D] Touch 'root\\node_modules\\grunt-ftpush\\node_modules\\sugar\\unit_tests\\ja
vascripts'
[D] Touch 'root\\node_modules\\grunt-ftpush\\tasks'
[D] Touch 'root\\node_modules\\matchdep'
[D] Touch 'root\\node_modules\\matchdep\\lib'
[D] Touch 'root\\node_modules\\matchdep\\node_modules'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\lib'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
lru-cache\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\node_modules\\
sigmund\\test'
[D] Touch 'root\\node_modules\\matchdep\\node_modules\\minimatch\\test'
[D] Touch 'root\\plugins'
[D] Touch 'root\\vendors'
>> Got diff for \ 10 0 0
[D] Diff { upload:
   [ [ '.ftppass', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.ftppass.json', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.htaccess', '61caf08f88ca38068aa69f59dc129de4' ],
     [ '.travis.yml', '9d13dae47e6d6912578b20150f3fe991' ],
     [ 'build.properties', '82d7069f275432655fe2f5c087556c51' ],
     [ 'build.xml', '3f999a68a37a1a1deecc813f36f1fcfb' ],
     [ 'Gruntfile.js', 'f02793390d7244f8a6fe3c08973ae366' ],
     [ 'index.php', 'ab1037f8eb5626aaa5f93ddb32c3b788' ],
     [ 'package.json', '1faf412a7e0a69ead4bf6d15f1d898f5' ],
     [ 'README.md', '2ab3a5cf63e8a991580cee59ff114d60' ] ],
  rm: [],
  rmDir: [] }
[D] Upload '.ftppass' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.ftppass.json' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.htaccess' '\\' '61caf08f88ca38068aa69f59dc129de4'
[D] Upload '.travis.yml' '\\' '9d13dae47e6d6912578b20150f3fe991'
[D] Upload 'build.properties' '\\' '82d7069f275432655fe2f5c087556c51'
[D] Upload 'build.xml' '\\' '3f999a68a37a1a1deecc813f36f1fcfb'
[D] Upload 'Gruntfile.js' '\\' 'f02793390d7244f8a6fe3c08973ae366'
[D] Upload 'index.php' '\\' 'ab1037f8eb5626aaa5f93ddb32c3b788'
[D] Upload 'package.json' '\\' '1faf412a7e0a69ead4bf6d15f1d898f5'
[D] Upload 'README.md' '\\' '2ab3a5cf63e8a991580cee59ff114d60'
Fatal error: connect ECONNREFUSED

C:\wamp\www\allroleplay>

Update and try once more.

Alright, that seemed to have done the trick for excluding node_modules

Here's the task output:

[D] Touch 'root\\lib\\Cake\\Test\\Case\\Model\\Datasource\\Database'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Model\\Datasource\\Session'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Model\\Validator'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Network'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Network\\Email'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Network\\Http'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Routing'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Routing\\Filter'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Routing\\Route'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\TestSuite'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\Utility'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\View'
[D] Touch 'root\\lib\\Cake\\Test\\Case\\View\\Helper'
[D] Touch 'root\\lib\\Cake\\Test\\Fixture'
[D] Touch 'root\\lib\\Cake\\Test\\test_app'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Config'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Command'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Command\\Task'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Templates'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Templates\\test'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Templates\\test\\classes'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Console\\Templates\\test\\views'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Controller'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Controller\\Component'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Error'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib\\Cache'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib\\Cache\\Engine'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib\\Log'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib\\Log\\Engine'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Lib\\Utility'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\cache_test_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\cache_test_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\eng'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\eng\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\ja_jp'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\po\\LC_MONETARY'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_0_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_0_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_0_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_0_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_10_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_10_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_10_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_10_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_11_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_11_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_11_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_11_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_12_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_12_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_12_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_12_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_13_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_13_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_13_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_13_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_14_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_14_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_14_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_14_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_1_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_1_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_1_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_1_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_2_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_2_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_2_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_2_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_3_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_3_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_3_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_3_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_4_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_4_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_4_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_4_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_5_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_5_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_5_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_5_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_6_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_6_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_6_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_6_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_7_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_7_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_7_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_7_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_8_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_8_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_8_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_8_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_9_mo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_9_mo\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_9_po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\rule_9_po\\LC_MESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Locale\\time_test'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Model'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Model\\Behavior'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Model\\Datasource'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Model\\Datasource\\Database'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Model\\Datasource\\Session'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\PluginJs'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\PluginJs\\Config'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\PluginJs\\webroot'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\PluginJs\\webroot\\js'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\PluginJs\\webroot\\js\\one'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Config'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Config\\Schema'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Console'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Console\\Command
'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Console\\Command
\\Task'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Console\\Templat
es'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Controller'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Controller\\Comp
onent'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Cache'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Cache\\Engi
ne'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Custom'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Custom\\Pac
kage'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Error'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Log'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Log\\Engine
'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Routing'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Lib\\Routing\\Fi
lter'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Locale'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Locale\\po'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Locale\\po\\LC_M
ESSAGES'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Locale\\po\\LC_M
ONETARY'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Model'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Model\\Behavior'

[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Model\\Datasourc
e'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Model\\Datasourc
e\\Database'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Model\\Datasourc
e\\Session'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Utility'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Vendor'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Vendor\\Example'

[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\Vendor\\sample'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Elements'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Elements\\
sub_dir'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Emails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Emails\\te
xt'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Helper'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Layouts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Layouts\\E
mails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Layouts\\E
mails\\text'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\View\\Tests'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\css'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\flash'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\img'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\js'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\js\\tes
t_plugin'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPlugin\\webroot\\pdfs'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo\\Config'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo\\Console'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo\\Console\\Comm
and'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo\\Console\\Comm
and\\Task'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Plugin\\TestPluginTwo\\Console\\Temp
lates'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\tmp'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Utility'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor\\css'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor\\img'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor\\sample'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor\\somename'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\Vendor\\Test'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Elements'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Elements\\nocache'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Emails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Emails\\html'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Emails\\text'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Errors'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Helper'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\Emails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\Emails\\html'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\Emails\\text'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\js'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\json'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\rss'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Layouts\\xml'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Pages'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Posts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Posts\\json'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Posts\\xml'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Scaffolds'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\TestsApps'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\TestsApps\\json'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Elements'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Emails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Emails\\tex
t'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Layouts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin\\Tes
tPlugin'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin\\Tes
tPlugin\\Emails'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin\\Tes
tPlugin\\Emails\\text'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin\\Tes
tPlugin\\Layouts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Plugin\\Tes
tPlugin\\Tests'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\Posts'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\cs
s'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\fl
ash'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\im
g'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\js
'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\js
\\one'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\View\\Themed\\TestTheme\\webroot\\pd
fs'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot\\img'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot\\theme'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot\\theme\\test_theme'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot\\theme\\test_theme\\css'
[D] Touch 'root\\lib\\Cake\\Test\\test_app\\webroot\\theme\\test_theme\\img'
[D] Touch 'root\\lib\\Cake\\TestSuite'
[D] Touch 'root\\lib\\Cake\\TestSuite\\Coverage'
[D] Touch 'root\\lib\\Cake\\TestSuite\\Fixture'
[D] Touch 'root\\lib\\Cake\\TestSuite\\Reporter'
[D] Touch 'root\\lib\\Cake\\TestSuite\\templates'
[D] Touch 'root\\lib\\Cake\\Utility'
[D] Touch 'root\\lib\\Cake\\View'
[D] Touch 'root\\lib\\Cake\\View\\Elements'
[D] Touch 'root\\lib\\Cake\\View\\Errors'
[D] Touch 'root\\lib\\Cake\\View\\Helper'
[D] Touch 'root\\lib\\Cake\\View\\Scaffolds'
[D] Touch 'root\\plugins'
[D] Touch 'root\\vendors'
>> Got diff for \ 10 0 0
[D] Diff { upload:
   [ [ '.ftppass', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.ftppass.json', 'bd5260b1e5131d648aa3ee241952a96d' ],
     [ '.htaccess', '61caf08f88ca38068aa69f59dc129de4' ],
     [ '.travis.yml', '9d13dae47e6d6912578b20150f3fe991' ],
     [ 'build.properties', '82d7069f275432655fe2f5c087556c51' ],
     [ 'build.xml', '3f999a68a37a1a1deecc813f36f1fcfb' ],
     [ 'Gruntfile.js', 'f02793390d7244f8a6fe3c08973ae366' ],
     [ 'index.php', 'ab1037f8eb5626aaa5f93ddb32c3b788' ],
     [ 'package.json', '1faf412a7e0a69ead4bf6d15f1d898f5' ],
     [ 'README.md', '2ab3a5cf63e8a991580cee59ff114d60' ] ],
  rm: [],
  rmDir: [] }
[D] Upload '.ftppass' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.ftppass.json' '\\' 'bd5260b1e5131d648aa3ee241952a96d'
[D] Upload '.htaccess' '\\' '61caf08f88ca38068aa69f59dc129de4'
[D] Upload '.travis.yml' '\\' '9d13dae47e6d6912578b20150f3fe991'
[D] Upload 'build.properties' '\\' '82d7069f275432655fe2f5c087556c51'
[D] Upload 'build.xml' '\\' '3f999a68a37a1a1deecc813f36f1fcfb'
[D] Upload 'Gruntfile.js' '\\' 'f02793390d7244f8a6fe3c08973ae366'
[D] Upload 'index.php' '\\' 'ab1037f8eb5626aaa5f93ddb32c3b788'
[D] Upload 'package.json' '\\' '1faf412a7e0a69ead4bf6d15f1d898f5'
[D] Upload 'README.md' '\\' '2ab3a5cf63e8a991580cee59ff114d60'
Fatal error: connect ECONNREFUSED

C:\wamp\www\allroleplay>

And the FTP log:

(000010)8/20/2013 14:47:51 PM - (not logged in) (127.0.0.1)> user melvin
(000010)8/20/2013 14:47:51 PM - (not logged in) (127.0.0.1)> 331 Password required for melvin
(000010)8/20/2013 14:47:51 PM - (not logged in) (127.0.0.1)> pass ******
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 230 Logged on
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> syst
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 215 UNIX emulated by FileZilla
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> type I
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 200 Type set to I
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> pasv
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,101,245)
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> list root\
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 150 Connection accepted
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 226 Transfer OK
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> pasv
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,101,247)
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> list root\app
(000010)8/20/2013 14:47:51 PM - melvin (127.0.0.1)> 550 Directory not found.
(000010)8/20/2013 14:47:52 PM - melvin (127.0.0.1)> disconnected.

Do you actually have folder root on your ftp server?

Do you actually have folder root on your ftp server?

Yessir! And it's empty 👯

I'm back. Did you have any progress?

I'm back. Did you have any progress?

Thanks for getting back to this.

I've tried messing around in it a bit, but nothing too major. I don't know any CoffeeScript or the likes either, so I had to drop the work with hopes of a solution being found with external help. Would you have any other directions I could look into/test?

The problem here comes from your FTP server. When it gets the "wrong" request on listing of non-existent directory it closes the connection (for some reason). Which server do you use?

I installed the latest Filezilla FTP server locally on my windows, for the sake of testing my deployment process through Grunt.

Any (Windows) alternatives I should try out which you'd recommend?

I did some additional investigations and news are bad. I understand that you probably went on with some another solution (and that's right). JSFtp being the core of this grunt task appears to be way to buggy and unstable. I will try to switch to node-ftp as soon as I have time. I'll leave this open but it's probably everything I can do for now. Sorry and thanks for assistance.

Forgot to thank you for your last reply; I haven't found another solution but I haven't been actively searching either. The original ftp-deploy works but is missing features such as excluding certain directories. I shall be patient in the hope you ever find some time to look into node-ftp

It might happen soon. Even better in fact, the issue that's blocking you right away has just been pull requested at #12

It might happen soon. Even better in fact, the issue that's blocking you right away has just been pull requested at #12

Oh that's great to read!

Please try master.

I'm pretty concerned 0.3.0 should fix this for you. So I'm closing the issue, please reopen if you need further assistance.