私はgulpで次のタスクを持っています:
gulp.task('sync-frontend', /*['build-frontend'],*/ function()
{
if(config.layout.frontend.syncOnBuild)
return gulp
.src(config.layout.frontend.distDir + '/**')
.pipe(changed(config.layout.frontend.distDir, {hasChanged: changed.compareSha1Digest}))
//.pipe(debug())
.pipe(gulp.dest(config.layout.frontend.distDir))
.pipe(sftp
({
host: config.sftp.host,
port: config.sftp.port,
user: config.sftp.user,
pass: config.sftp.pass,
remotePath: (config.layout.frontend.remotePath ? config.layout.frontend.remotePath : config.sftp.remotePath )
}));
});
config.layout.frontend.distDir の値は「httpdocs」です。
問題は、ファイルが変更されているかどうかに関係なく、ファイルがアップロードされていないことです (デフォルトで gulp-changed の hasChange オプションを残そうとしました。常に次の出力が得られます。
[20:45:52] Using gulpfile /Storage/Portable/Sync/Projects/Prataria/web-prataria/gulpfile.js
[20:45:52] Starting 'sync-frontend'...
[20:45:52] gulp-sftp: No files uploaded
[20:45:52] Finished 'sync-frontend' after 503 ms
何か案は?