I’m getting the error “Local couldn’t load the file list!” when attempting to list files for push.
Local version is Version 8.3.2+6660
Inspection of the logs finds:
{"class":"SshService","level":"debug","message":"Running SSH with following args: '-F', '/dev/null', '-o', 'IdentitiesOnly=yes', '-o', 'PubkeyAcceptedKeyTypes=+ssh-rsa', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=30m', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=120', '-o', 'StrictHostKeyChecking=no', '-o', 'UserKnownHostsFile=/dev/null', '-i', '%%userDataPath%%/ssh/wpe-connect', 'redacted@redacted.ssh.wpengine.net', ''cd sites/redacted/ && find . -path \"./wp-config.php\" -prune -o -path \"./_wpeprivate\" -prune -o -path \"./.wpe-devkit\" -prune -o -path \"./.wpengine-conf\" -prune -o -path \"./.wpe-connect\" -prune -o -path \"./wp-content/mu-plugins/wpe-devkit.php\" -prune -o -path \"./wp-content/mysql.sql\" -prune -o -path \"./.git\" -prune -o -path \"./autoupdater_backup_*\" -prune -o -path \"./wp-content/object-cache.php\" -prune -o -path \"./.bin/*\" -prune -o -path \"./vendor/bin/*\" -prune -o -path \"./node_modules/puppeteer\" -prune -o -path \"./wp-content/mu-plugins/mu-plugin.php\" -prune -o -path \"./wp-content/mu-plugins/wpengine-common\" -prune -o -path \"./wp-content/mu-plugins/slt-force-strong-passwords.php\" -prune -o -path \"./wp-content/mu-plugins/force-strong-passwords\" -prune -o -path \"./wp-content/mu-plugins/wpe-wp-sign-on-plugin.php\" -prune -o -path \"./wp-content/mu-plugins/wpe-wp-sign-on-plugin\" -prune -o -path \"./wp-content/mu-plugins/wpengine-security-auditor.php\" -prune -o -path \"./wp-content/mu-plugins/wpe-cache-plugin\" -prune -o -path \"./wp-content/mu-plugins/wpe-cache-plugin.php\" -prune -o -path \"./local-phpinfo.php\" -prune -o -path \"./local-xdebuginfo.php\" -prune -o -path \"./wp-content/mu-plugins/local-by-flywheel-demo-urls.php\" -prune -o -path \"./wp-content/mu-plugins/local-by-flywheel-live-link-helper.php\" -prune -o -path \"./.wpe-pull-ignore\" -prune -o -path \"./.wpe-push-ignore\" -prune -o -path \"./.gitignore\" -prune -o -path \"./# This file lists which files should not be pushed by WPE DevKit. Feel free to\" -prune -o -path \"./# add, remove, or comment lines to change the sync behavior, but note that this\" -prune -o -path \"./# file will be recreated with the default values if it is missing. There are a\" -prune -o -path \"./# few additional files, including wp-config.php, which are ignored no matter\" -prune -o -path \"./# what as synchronizing these files would almost certainly result in an unusable\" -prune -o -path \"./# install.\" -prune -o -path \"./# Temporary and OS files\" -prune -o -path \"./*~\" -prune -o -path \"./.DS_Store\" -prune -o -path \"./*.swp\" -prune -o -path \"./Thumbs.db\" -prune -o -path \"./# Version Control files\" -prune -o -path \"./*.bak\" -prune -o -path \"./.svn\" -prune -o -path \"./.cvs\" -prune -o -path \"./#.git\" -prune -o -path \"./# WordPress specific files\" -prune -o -path \"./# NOTE:\" -prune -o -path \"./# WP Engine automatically updates part or all of WordPress under certain\" -prune -o -path \"./# circumstances, so generally it is desirable to not push local copies of the\" -prune -o -path \"./# WordPress files to a production server. However, in case you do have some\" -prune -o -path \"./# specific need to push local changes to production, you can comment out these\" -prune -o -path \"./# lines.\" -prune -o -path \"./wp-config.php\" -prune -o -path \"./wp-content/blogs.dir\" -prune -o -path \"./wp-content/upgrade/*\" -prune -o -path \"./wp-content/backup-db/*\" -prune -o -path \"./wp-content/advanced-cache.php\" -prune -o -path \"./wp-content/wp-cache-config.php\" -prune -o -path \"./wp-content/cache/*\" -prune -o -path \"./wp-content/cache/supercache/*\" -prune -o -path \"./wp-content/uploads/*\" -prune -o -path \"./# WP Engine specific files\" -prune -o -path \"./# NOTE:\" -prune -o -path \"./# These files are specific to running a WordPress site at WP Engine and would\" -prune -o -path \"./# likely result in a broken production site if modified in production (in\" -prune -o -path \"./# fact, permissions would prevent modification for many of these files). It is\" -prune -o -path \"./# strongly recommended that you do not attempt to modify these files in\" -prune -o -path \"./# production.\" -prune -o -path \"./_wpeprivate\" -prune -o -path \"./wp-content/mu-plugins/mu-plugin.php\" -prune -o -path \"./wp-content/mu-plugins/slt-force-strong-passwords.php\" -prune -o -path \"./wp-content/mu-plugins/stop-long-comments.php\" -prune -o -path \"./wp-content/mu-plugins/force-strong-passwords*\" -prune -o -path \"./wp-content/mu-plugins/wpe-devkit*\" -prune -o -path \"./wp-content/mu-plugins/wpengine-common*\" -prune -o -path \"./wp-content/mu-plugins/wpengine-excerpt*\" -prune -o -path \"./wp-content/mu-plugins/wpe-wp-sign-on-plugin*\" -prune -o -path \"./wp-content/plugins/wpengine-snapshot/snapshots\" -prune -o -path \"./wp-content/mysql.sql\" -prune -o -path \"./wp-content/plugins/autoupdater*\" -prune -o -path \"./# Some other files which may be desirable to skip under certain circumstances\" -prune -o -path \"./#.listing\" -prune -o -path \"./#plugins/wp-file-cache/cache\" -prune -o -path \"./#.cache\" -prune -o -path \"./#temp\" -prune -o -path \"./#tmp\" -prune -o -path \"./#*.tmp\" -prune -o -path \"./#imagecache*\" -prune -o -path \"./#*_backup\" -prune -o -path \"./#gt-cache\" -prune -o -path \"./#wp-config-sample.php\" -prune -o -path \"./#/wp-content/w3tc*\" -prune -o -path \"./#/wp-content/w3-*\" -prune -o -path \"./#/wp-content/uploads/snapshots\" -prune -o -path \"./#/wp-content/backup*\" -prune -o -path \"./#/wp-content/uploads/backup*\" -prune -o -path \"./#/wp-content/temp*\" -prune -o -path \"./#log.txt\" -prune -o -path \"./#debug.log\" -prune -o -path \"./#/wp-content/plugins/plugins\" -prune -o -path \"./#.a\" -prune -o -path \"./#w3tc/dbcache\" -prune -o -path \"./#w3tc/objectcache\" -prune -o -path \"./#w3tc/pgcache\" -prune -o -path \"./#w3tc\" -prune -o -path \"./#plugins/w3-total-cache\" -prune -o -path \"./#pclzip*\" -prune -o -path \"./#*.gz\" -prune -o -path \"./#*.zip\" -prune -o -path \"./#*.tar\" -prune -o -path \"./#*.tgz\" -prune -o -path \"./##\" -prune -o -path \"./# CUSTOM HEREAFTER\" -prune -o -path \"./##\" -prune -o -path \"./# Ignore WP Engine's cache plugin to avoid push failures on Windows machines\" -prune -o -path \"./wp-content/mu-plugins/wpe-cache-plugin\" -prune -o -path \"./# Ignore Github Action workflow files\" -prune -o -path \"./.github/*\" -prune -o -path \"./deployment-inclusions.txt\" -prune -o -path \"./# Ignore Node/Tailwind artifacts\" -prune -o -path \"./*/node_modules\" -prune -o -path \"./*/package.json\" -prune -o -path \"./*/package-lock.json\" -prune -o -path \"./*/postcss.config.js\" -prune -o -path \"./# PHP Composer\" -prune -o -path \"./*/composer.json\" -prune -o -path \"./*/composer.lock\" -prune -o -path \"./*/vendor\" -prune -o -path \"./*/phpcs*\" -prune -o -printf \"%y|%p|%s|%T@\n\"''","thread":"main","timestamp":"2024-03-19T23:19:36.057Z"}
Notice the entries such as # add, remove, or comment lines to change the sync behavior, but note that this
that are from the .wpe-push-ignore
file.
The head of our ignore file looks like:
# This file lists which files should not be pushed by WPE DevKit. Feel free to
# add, remove, or comment lines to change the sync behavior, but note that this
# file will be recreated with the default values if it is missing. There are a
# few additional files, including wp-config.php, which are ignored no matter
# what as synchronizing these files would almost certainly result in an unusable
# install.
# Temporary and OS files
*~
.DS_Store
*.swp
Thumbs.db
# Version Control files
*.bak
.svn
.cvs
#.git
Removing comments from the .wpe-push-ignore
file fixes the problem. I’m new to Local but we’ve got this pattern around a bunch of our Repos here, and I can find it on some other public Github repos, but I can’t find official documentation on the ignore file format.
Are comments supported?
Are these comments properly formatted?
Any and all help is appreciated.
Thanks!