Way to list included/excluded files?

Steve B     Apr 14 12:50PM 2018 GUI

I'm attempting to set up my include/exclude patterns. The documentation is a little confusing. Is there a way to do a "test run" that simply lists all of the files and folders that are included (and optionally excluded) by the current configuration, without actually processing any of them? Bonus points if the command also prints the include/exclude rule responsible for the inclusion/exclusion.

Although I'm primarily using the GUI version,it would be fine if this functionality was only available through the command-line version.

If something like this does not currently exist, please add it. This would be invaluable for testing and debugging include/exclude rulesets.

EDIT: I just found and tried the "backup -dry-run" option. That looks to be close to what I want, except Duplicacy still spends time doing a bunch of work unrelated to simply listing the files included/excluded by the filter rules, which is all I'm looking for.


gchen    Apr 15 8:49PM 2018

Right, duplicacy -d backup -dry-run should be the closest. With the -dry-run option Duplicacy still attempts to connect to the storage to download the last snapshot which may take some time depending on the storage.


Steve B    Apr 15 10:14PM 2018

With -dry-run, in addition to connecting to storage, Duplicacy also spends time packing and chunking the data, and other things. Basically, it does everything involved in a full backup except for the actual uploading. Also, in the end, the list you get is only any new files that would have been uploaded since the last snapshot, rather than a full listing of the repository (as defined by the filter patterns).

I actually took a stab at implementing the functionality I was looking for myself, and I'm quite happy with the result. You should see this soon as a pull request on github. Disclaimer, though: I have no prior experience with either the go language or with github (or with contributing to open-source projects in general). Let me know where I messed up, and I'll try to fix it. :-)