* Allow --include and --exclude options
* Compute approximate patch size from manifest A to B
#rb none
#preflight skip
[CL 25437799 by Yuriy ODonnell in ue5-main branch]
* Count scavenged blocks as "base" data for stats/telemetry
* Gracefully handle missing/invalid scavenge root path
* Cancel reading blocks from a particular source if a hash mismatch was found
#rb none
#jira UE-178864
#preflight skip
[CL 25326911 by Yuriy ODonnell in ue5-main branch]
* Log progress when scavenging blocks from local files
* Move prorress logging helper code to dedicated files
#rb none
#preflight skip
[CL 25247737 by Yuriy ODonnell in ue5-main branch]
This is useful for people who want to download each data set into a uniquely named directory, instead of always patching the last downloaded version.
Current implementation is highly experimental and should only be used for testing purposes.
#jira UE-178864
#rb none
#preflight skip
[CL 25190443 by Yuriy ODonnell in ue5-main branch]
Explicitly specify UNIVERSAL_NAME_INFOW instead of UNIVERSAL_NAME_INFO that depends on the compiler flags
#rb none
#preflight skip
[CL 25152835 by Yuriy ODonnell in ue5-main branch]
* This improves download performance of data sets with large numbers of small files due to reduced impact of latency
* Small files are grouped into ~4MB batches
#jira UE-175966
#preflight skip
#rb robert.millar
[CL 25150472 by Yuriy ODonnell in ue5-main branch]
* This removes any leftover files from a previous sync that may have used a different exclusion filter
* Stale files in some cases may cause errors (for example, serialization scheme may change and new executables may no longer be compatible with old data)
* If necessary, --cleanup-exclude [string] may still be used to explicitly prevent deletion of specific stale files
* Improved `info` command (which displays basic information about a manifest file) to detect if input path is a directory or a manifest file itself
#rb none
#preflight skip
[CL 24885471 by Yuriy ODonnell in ue5-main branch]
Add --files flag to info subcommand to list files in manifests
#jira none
#rb yuriy.odonnell
#preflight there are no horde jobs that build unsync
[CL 21487301 by Robert Millar in ue5-main branch]
* Use --cleanup-exclude [comma,separated,words] option to skip deleting specific files/directories after sync (such as saved logs, configs, etc.)
* Use UNSYNC_CLEANUP_EXCLUDE environment variable to provide extra exclusion rules
#rb none
#preflight skip
[CL 21226431 by Yuriy ODonnell in ue5-main branch]