@@ -176,6 +176,7 @@ abstract class Server {
176
176
public $existing_paths_cache;
177
177
public $clean_directories;
178
178
public $ignore_files;
179
+ public $ignore_directories;
179
180
public $upload_untracked;
180
181
public $server;
181
182
@@ -185,6 +186,7 @@ abstract class Server {
185
186
$this->ignore_files = array_merge(array(
186
187
'.gitignore', '.gitattributes', '.gitmodules', 'deploy.ini', 'git-deploy', $deploy_script
187
188
), $server['ignore_files']);
189
+ $this->ignore_directories= $server['ignore_directories'];
188
190
$this->upload_untracked = $server['upload_untracked'];
189
191
$this->host = "{$server['scheme']}://{$server['user']}@{$server['host']}:{$server['port']}{$server['path']}";
190
192
$this->connect($server);
@@ -219,6 +221,12 @@ abstract class Server {
219
221
if (in_array($file, $this->ignore_files)) {
220
222
unset($changes['upload'][$file]);
221
223
}
224
+ foreach($this->ignore_directories as $ignoreDir) {
225
+ if (strpos($file, $ignoreDir) !== false) {
226
+ unset($changes['upload'][$file]);
227
+ break;
228
+ }
229
+ }
222
230
}
223
231
224
232
foreach ($this->upload_untracked as $file) {
@@ -624,6 +632,7 @@ class Config {
624
632
'passive' => true,
625
633
'clean_directories' => array(),
626
634
'ignore_files' => array(),
635
+ 'ignore_directories' => array(),
627
636
'upload_untracked' => array()
628
637
), $options);
629
638
0 commit comments