We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.
Forum Discussion
jvasileff
5 years agoHelpful | Level 6
Feedback on the new desktop app "ignore files" feature.
@Daphne that's great news! I look forward to trying it out.
But it would also be nice to have a configuration file, like ".dropboxignore", to list paths or patterns to exclude. The reason is that extended attributes are tied to the actual file or folder, and will be gone if the file or folder is deleted and recreated.
The common use case for this is a software build folder that gets deleted and recreated on clean builds. Under xattr system, the "new" build folder would sync to Dropbox even if the "old" build folder had the necessary com.dropbox.ignored xattr.
- nickyhajalHelpful | Level 6
DaphneAs jvasileff mentioned, this is awesome! Already putting it into action and taking it for a spin.
To build on their comment, I have a ton of projects that have a bunch of common folders like, "node_modules", "Pods", "vendor", "build", "public", etc. It's fairly challenging to have to manually go through all my projects and ignore those files.
Are there any plans to have a centralized place in the Dropbox app where we can add file patterns to ignore?
Thanks!
- cabreuHelpful | Level 6
It is true that ignored folders will no longer appear in dropbox.com but substantial problems remain in place with this feature.
In particular, it seems that dropbox still monitors what happens inside ignored folders. When I have a "build" folder that is set to be ignored where thousand of files change suddenly, dropbox still tries to index and even sync all files, consuming a lot of system resources.
This can easily be replicated. If I go inside the build folder that I ignored and create a simple .txt file, dropbox immediately starts indexing and syncing it.
- sebastian_Collaborator | Level 8A .dropboxignore would be a very simple straight forward solution for developers as it conforms to the .gitignore standard which is proven and already used globally by developers. Further, this feature / solution would not confuse general Dropbox users because it’s an invisible file that only developers would likely work with.Per recommendation from @Lucil community advocate, please see the post below for a developer-grade workaround since the Swap-a-Roo Ignore Hack stopped working.(Updated Link)Hope this helps.
- dkobiaHelpful | Level 5
sebastian_ the fundamental problem here is that using xattr is a hacky solution that probably won't work in the long run, as the attributes are tied to a specific file or folder. Many developers have ephemeral node_modules or build folders that create new files/folders without extended attributes.
Dropbox changed their selective sync process which is a major step backwards. My laptop is running hot most of the time now with constant useless dropbox syncs. Previously all I had to do was uncheck folders like build, node_modules, temp, logs and others to ignore them. Now all that does is create selective sync conflicts. Grrrr!! :tired_face:
- hardcodetHelpful | Level 6
The Powershell hack is completely broken, at least for developers. You just go to another machine and create that ignored folder (e.g. by building), and you're in a world of pain again.
Still can't understand that developers themselves wouldn't just add the .ignore file option as the initial and trivial solution. Gotta be honest: next time I'm taking on a software development project where I use Dropbox along with Git, I'm off to the competition...
- ssyk3sExplorer | Level 4
This feature is long overdue. It's not just a simple matter to "just put folders you want to ignore outside of dropbox".
It's very common when working in some types of projects (especially involving code) to want to avoid crufty temp files or machine generated files saving to the cloud, and at the same time, for the human created files to upload normally.
This is why .gitignore is a thing.
Of course I use version control, and can do this outside of Dropbox, but I've found it's quite annoying when collaborating, and I have a perfect project folder to work out of, which has art assets and such under Dropbox, to then need to completely set up a separate duplicate project outside of the folder structure just to get Dropbox to ignore some folders. - jvasileffHelpful | Level 6
> Dropbox team -- Pelase add a real .dropboxignore w/o reindexing
Ditto. Symbolic links are hacky workarounds with significant downsides, and the xattr approach has problems too.
But for the time being, for Java developers on macs, the code below can be added to `.gradle/init.gradle` to:
- Automatically reconfigure build directories to directories within `~/Downloads/builds` using the default build directory as a template. So, for example, a gradle project `~/Dropbox/Projects/myproject` will build to `~/Downlods/Dropbox/Projects/myproject/build`.
- Automatically create convenience symlinks as necessary. For example, after the build of `myproject`, the following symlink would be created: `~/Dropbox/Projects/myproject/build` -> `~/Downlods/Dropbox/Projects/myproject/build`
The idea is similar to the `node_modules` symlink workaround, but fully automated.
Code to add to `~/.gradle/init.gradle`:
import java.io.File import java.nio.file.Files import java.nio.file.LinkOption def updateBuildPaths(p) { // change build dir to // ~/Downloads/builds/DEFAULT_BUILD_PATH_RELATIVE_TO_HOME def homePath = new File(System.env.HOME).toPath() def buildBasePath = homePath.resolve("Downloads/builds") def projectPath = p.projectDir.toPath() def relativeProjectPath = homePath.relativize(projectPath) p.ext.defaultBuildDir = projectPath.resolve("build") p.ext.newBuildDir = buildBasePath.resolve(relativeProjectPath) .resolve("build") p.buildDir = p.ext.newBuildDir // recurse into subprojects p.subprojects { s -> updateBuildPaths(s) } } def updateBuildDirSymlinks(p) { def defaultExists = Files.exists( p.ext.defaultBuildDir, LinkOption.NOFOLLOW_LINKS) def newExists = Files.exists( p.ext.newBuildDir, LinkOption.NOFOLLOW_LINKS) def linkExists = Files.isSymbolicLink(p.ext.defaultBuildDir) && Files.readSymbolicLink(p.ext.defaultBuildDir) == p.ext.newBuildDir // add symlinks for build directory if possible & necessary if (!defaultExists && newExists) { Files.createSymbolicLink(p.ext.defaultBuildDir, p.ext.newBuildDir) } // print warning if pre-existing default build file or dir exists but is // not a link to the new build directory if (defaultExists && !linkExists) { println( "WARNING: unused default build directory exists at '" + "${p.ext.defaultBuildDir}'; please delete or link to " + "actual build directory '${p.ext.newBuildDir}'" ) } // remove symlinks to non-existent build dirs if (!newExists && linkExists) { Files.delete(p.ext.defaultBuildDir) } // recurse into subprojects p.subprojects { s -> updateBuildDirSymlinks(s) } } gradle.projectsLoaded { updateBuildPaths(rootProject) } gradle.buildFinished { updateBuildDirSymlinks(rootProject) }
- hardcodetHelpful | Level 6
Dropbox is being built by developers, and a simple (!) ignore for folders or files shoud not only be trivial, but really essential for developers. Just copy the darn sources from any SCC. On top of that, selective sync simply doesn't work reliably - I just had Dropbox mess with an "ignored" node_modules folder again. Srsly guys....
Just my 0.02$
- ccd1Helpful | Level 6
this is a big headache please fix...
- DaphneDropbox Staff
Hello everyone, I hope you're all doing well!
I just wanted to ping you all as I've moved your feedback on this feature here, so that we can better keep track of all your comments.
I've passed this all along to our devs for them to review, so thank you for taking the time to share your thoughts and experience on using this feature so far.
The feature is still in beta, so the team is still working on this. Your feedback is therefore very important to us so please keep it coming!
Just for reference too, the thread you all initially posted in is here. You should still all be subscribed there, just mentioning the thread as an FYI if needed.
If you need anything, please give me a nudge here and I'd be happy to help.
Have a great day ahead!
- adamLHelpful | Level 5
I'm now doing all web development outside of my Dropbox folder, and have an rsync script watching my web dev folder to copy files BACK into the Dropbox folder (ignoring node_modules and other files I don't want clogging up my Dropbox account and resources). And I know this is not a solution that will work for everyone especially considering it takes up extra space on my hard drive. But that's what I've had to resort to, adding to the many other war stories on this thread.
I use Selective Sync to offload big files to Dropbox, which works fine, except it completely removes the folder from my local computer. I would completely forget the folder is there because I don't see it (I'm aware I could be using the "Smart Sync" feature, but I do not like it ... it can be a disaster if you have to copy files over to a new hard drive).
Therefore when I use Selective Sync, I usually create a folder locally with the same name as the one I just offloaded, thus creating a folder on my computer with the "little gray minus icon". Which tells me that "this folder is on Dropbox".
With the new ignore feature, things are a bit more complex. My new process is:
- Make folder
- Move big files into folder
- Uncheck folder via selective sync and wait for process to complete
- Create folder with same name
- Dropbox will rename folder with (Selective Sync Conflict)
- Do terminal command: xattr -w com.dropbox.ignored 1 /Volumes/Storage/Dropbox/. . . /Your Folder Name
- Rename local folder with same name as remote folder
Not sure if this makes any sense at all, but this is my experience, and obviously it could be less complex. In any case, not sure why we're beating around the bush with long stories such as mine. Other people have already offered a decent solution for situation:
Dropbox needs a way to globally and locally ignore files. And if something gets ignored, it LITERALLY gets ignored ... Removed from remote Dropbox. No folder renaming. No syncing. No indexing. Dropbox leaves it on the local computer and walks away.
- ccd1Helpful | Level 6
For anyone else who is sick of it and has the option, seafile handles this issue very elegantly. Wish I had made the change months ago.
- DaphneDropbox Staff
Hey again everyone, thanks so much for sharing all your feedback on this with us here!
Just wanted to let you know that this has all been shared with the developers and we'll let you know as soon as possible in regarding any updates on this feature.
In the meantime, please feel free to send along any other feedback you have and I'll make sure to keep our devs updated too.
I hope you all have a great day and stay safe!
- Yehuda D.Helpful | Level 6
Hi Daphne,
From the help page (https://help.dropbox.com/files-folders/restore-delete/ignored-files), it seems that you can right-click on a file/folder in the desktop app and click "Don’t sync to dropbox.com."
I'm running 99.4.501 (latest stable version as of 6/24/2020), but I don't see any such option for the files and folders that I right-clicked on. Was this help page updated prematurely?
I'm not a business user (which the help page says it doesn't work for yet).
Thanks!
About Apps and Installations
Have a question about a Dropbox app or installation? Reach out to the Dropbox Community and get solutions, help, and advice from members.
Need more support
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!