* Use explicit file attribute cache when possible, to avoid redundant filesystem ops in some cases
* Skip generating stable manifest signature during normal sync
* Fix few redundant memory allocations
* Add few log events around potentially expensive ops
[CL 29159251 by yuriy odonnell in ue5-main branch]
* Use instead of std::filesystem::relative() when possible, to avoid filesystem operations (lexically_relative() does not handle the case where only one of the input paths is UNC)
[CL 29057958 by yuriy odonnell in ue5-main branch]
* Derive output filename if one was not provided explicitly
* Include all encountered files and directories in the search query, not just leaf
* Bump version to 1.0.60
#rb none
[CL 28547863 by yuriy odonnell in ue5-main branch]
* Change EFileMode from regular enum to flags
* Add GetAnonymizedMachineId helper function
* Use MachineGuid registry key on Windows
#rb none
[CL 28160398 by yuriy odonnell in ue5-main branch]
Also minor fixes and improvements:
* Fix error code handling when connecting a socket
* Fix some of the naming convention violations
* Add --print-http-header option to login command
#rb none
[CL 27702511 by yuriy odonnell in ue5-main branch]
* Add --login flag to sync command
* Add in-process token cache
* Add auth token when quering server features
* Use direct download path when supported by server
#jira UE-192913
#rb none
[CL 27535921 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]
* Suppress warnings in CLI11 headers
* Use WIN32_LEAN_AND_MEAN=1 and include specific headers when they're needed
Some windows headers (at least in some versions of the SDKs) do not pop the warning suppression states, which causes inconsistent warning reporting whenever Windows.h is included.
By adding WIN32_LEAN_AND_MEAN, we avoid the issue at least in the common case.
* Suppress various deprecation warnings in Windows headers (_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING, _WINSOCK_DEPRECATED_NO_WARNINGS, _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING, _CRT_SECURE_NO_WARNINGS)
* Fix blake3 include path when using cmake
This fixes compilation warnings when using Windows SDK 10.0.22000.0.
#rb Martin.Ridgers
#preflight 6216532d0f71e491cc023eec
[CL 19111912 by Yuriy ODonnell in ue5-main branch]
This is a binary patching and incremental downloading tool, similar to rsync or zsync. It aims to improve the large binary download processes that previously were served by robocopy (i.e. full packages produced by the build farm).
The original code can be found in `//depot/usr/yuriy.odonnell/unsync`. This commit is a branch from the original location to preserve history.
While the codebase is designed to be self-contained and does not depend on any engine libraries, it mostly follows the UE coding guidelines and can be built with UBT.
Currently only Windows is supported, however the tool is expected to also work on Mac and Linux in the future.
#rb Martin.Ridgers
#preflight skip
[CL 18993571 by Yuriy ODonnell in ue5-main branch]