Commit Graph

26 Commits

Author SHA1 Message Date
yuriy odonnell
3661ad26bc unsync - Fix GetRelativePath() for network paths
[CL 35101305 by yuriy odonnell in ue5-main branch]
2024-07-25 20:45:40 -04:00
yuriy odonnell
19fa4207c8 unsync - Fix directory separators when syncing from Horde
* Also handle some more errors that may be encountered during unsuccessful sync

[CL 34220309 by yuriy odonnell in ue5-main branch]
2024-06-07 20:17:08 -04:00
yuriy odonnell
703013dc43 unsync - Basic implementation of Horde blob download
[CL 34218083 by yuriy odonnell in ue5-main branch]
2024-06-07 18:21:05 -04:00
yuriy odonnell
0bc836c31d unsync - Use deferred open mechanism for base files
* Avoid opening base files unnecessarily

[CL 34126244 by yuriy odonnell in ue5-main branch]
2024-06-05 11:21:32 -04:00
Yuriy ODonnell
3ee01ac3cc unsync - Use pack files when downloading blocks from server when possible
#jira none

[CL 33954792 by Yuriy ODonnell in ue5-main branch]
2024-05-28 17:45:20 -04:00
Yuriy ODonnell
0979b26d4a unsync - Add an abstraction for remote file system listing and manifest file downloads
#jira none

[CL 33925622 by Yuriy ODonnell in ue5-main branch]
2024-05-27 12:44:20 -04:00
Yuriy ODonnell
81ab3f820c unsync - Move various utility code from UnsyncCore to separate modules
#jira none

[CL 33917087 by Yuriy ODonnell in ue5-main branch]
2024-05-26 02:04:36 -04:00
Yuriy ODonnell
8bb904ef62 unsync - Store uncompressed blocks by in packs by default
#jira none

[CL 33915306 by Yuriy ODonnell in ue5-main branch]
2024-05-25 12:06:28 -04:00
Yuriy ODonnell
50f882f5ec unsync - Groundwork for packing small files into a custom container during manifest generation
#jira none

[CL 33912288 by Yuriy ODonnell in ue5-main branch]
2024-05-24 20:21:04 -04:00
yuriy odonnell
d39ff6fb57 unsync - Basic implementation of unpack command
* Only filesystem based packs at this point

[CL 29457142 by yuriy odonnell in ue5-main branch]
2023-11-04 01:04:21 -04:00
yuriy odonnell
e82582b637 unsync - Groundwork for pack command
* This can be used to generate a compressed pack of a directory
* Supports using p4 have output to limit what is included in the pack

[CL 29223576 by yuriy odonnell in ue5-main branch]
2023-10-29 11:26:35 -04:00
yuriy odonnell
7fe8c5a1e7 unsync - Store read-only file status in the manifest and apply it after sync, tweak background task balancing and other minor optimizations
* 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]
2023-10-26 20:34:50 -04:00
yuriy odonnell
9972ec2091 unsync - Several Linux compatibility fixes (more still required for full support)
* Implement SetFileMtime and SetFileReadOnly
* Only allow --flag command line syntax, not /flag

[CL 29058493 by yuriy odonnell in ue5-main branch]
2023-10-24 23:10:40 -04:00
yuriy odonnell
35ea899fc4 unsync - Add GetRelativePath() that handles UNC paths
* 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]
2023-10-24 22:50:01 -04:00
yuriy odonnell
ce65262807 unsync - Direct file download and search query improvements
* 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]
2023-10-06 13:37:16 -04:00
yuriy odonnell
0008562522 unsync - Add EFileMode::IgnoreDryRun mode to always allow certain file write operations
* 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]
2023-09-22 18:11:34 -04:00
yuriy odonnell
f455aaecc7 unsync - Add support for HTTP HEAD requests
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]
2023-09-07 23:20:15 -04:00
yuriy odonnell
8c7bdecb04 unsync - Add support for direct manifest download from proxy server (bypassing SMB)
* 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]
2023-08-31 16:20:09 -04:00
Yuriy ODonnell
74997a586f unsync - Cleanup scavenged manifest paths
* Remve UNC prefixes on Windows

#rb none
#preflight skip

[CL 25198195 by Yuriy ODonnell in ue5-main branch]
2023-04-26 10:40:29 -04:00
Yuriy ODonnell
7389b826b6 unsync - Initial implementation of the "scavenge" mode which aims to reduce download times by reusing data outside of the final sync directory
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]
2023-04-25 17:41:49 -04:00
Yuriy ODonnell
1702de7c3f unsync - Add available disk check before starting sync, add anonymized machine name to telemetry
#rb none
#preflight none

[CL 22490002 by Yuriy ODonnell in ue5-main branch]
2022-10-12 20:45:24 -04:00
Yuriy ODonnell
738c0f421c unsync - Handle long paths on Windows, bump version to 1.0.39
#rb none
#preflight skip

[CL 19333815 by Yuriy ODonnell in ue5-main branch]
2022-03-10 03:23:41 -05:00
Yuriy ODonnell
fa2684b9d7 unsync - Remove std::filesystem namespace alias and add wrappers for various filesystem functions
#rb none
#preflight skip

[CL 19301694 by Yuriy ODonnell in ue5-main branch]
2022-03-08 08:17:08 -05:00
Yuriy ODonnell
41d40191b5 unsync - Fix few badly auto-converted function names
Also fix missing header include

#rb none (trivial)
#preflight skip

[CL 19300753 by Yuriy ODonnell in ue5-main branch]
2022-03-08 05:13:41 -05:00
Yuriy ODonnell
53695fbd49 unsync - Fix compile errors on Mac
#rb Martin.Ridgers
#preflight skip

[CL 19070501 by Yuriy ODonnell in ue5-main branch]
2022-02-22 05:37:15 -05:00