This previously resulted in the level being deleted irreversibly.
#jira UE-169781
#rb brooke.hubert, ronald.koppers
#lockdown jeanmichel.dignard
#preflight 63ebff59514832b24268590f
[CL 24224931 by zach rammell in ue5-main branch]
In addition, I refactored AssetViewUtils::SyncPathsFromSourceControl somewhat.
- Added alternative (preferred) way to get affected files/packages using the FSyncPreview operation as opposed to querying the AssetRegistry.
- Added support for hot reloading the world if one of its external packages (actor/object) got synced so those changes are reflected in the viewport.
- Added support for passing in either content paths or absolute paths to sync.
- Deprecated the 'bIsSyncLatestOperation' parameter from SyncPackagesFromSourceControl.
Note that SyncPackagesFromSourceControl now has a single internal caller (FAssetSourceControlContextMenuState::ExecuteSCCSync).
Note that SyncPathsFromSourceControl now has a single internal caller (FSourceControlWindows::SyncLatest).
[REVIEW]
#preflight 63e3a014244dc45a201c918d
[CL 24074948 by wouter burgers in ue5-main branch]
- Side panel no longer compressed
- Name changed to "View Changes"
#jira UE-175840
#rb ronald.koppers
#preflight 63daeceb4965eb8c33d456e5
#lockdown jeanmichel.dignard
[CL 23961626 by zach rammell in ue5-main branch]
* Sync Latest no longer listing and reloading all packages when the source control provider provides a sync preview functionality. When a Sync Preview is available, Sync Latest unloads only the files that are going to be overwritten by the sync operation, and then reloads them and the world
* Refactored Revert All operation to improve performance
* Revert All no longer lists and reloads all packages when the source control provider provides a sync preview functionality. Instead it unloads only the files that may be overwritten by the revert operation (i.e. submittable files), and then reloads them and the world
* Replaced RevertAndReloadAllPackages with RevertAndReloadWorld, no longer listing and reloading all packages (see https://p4-swarm.epicgames.net/reviews/23244245/)
This review is a combination of the two archived reviews https://p4-swarm.epicgames.net/reviews/23736137 and https://p4-swarm.epicgames.net/reviews/23736282
#rb wouter.burgers, stuart.hill, brooke.hubert, francis.hurteau
#preflight 63c9c7786a00f3cc8ead6779
[CL 23796067 by marco anastasi in ue5-main branch]
This prevents uncontrolled icons being shown in the outliner when not supported by the current source control.
#rb brooke.hubert, Marco.Anastasi, wouter.burgers
#preflight 63c54df6b0652247509d67bb
[CL 23729713 by stuart hill in ue5-main branch]
#rb Per.Larsson
#jira UE-169626
#rnx
#preflight 63bd670a71079a8d1c0e837b
- Since the API was forcing the caller to pass in a results structure to be filled in, we might as well make it the return value.
- Added a ::WasSuccessful method to the results structures that can be used instead of checking if the result had errors or not.
- Remove the reset method from FVirtualizationResult/FRehydrationResult as they no longer need it.
- The older deprecated methods still use the results enum, so we cannot easily deprecate those enums yet.
[CL 23626072 by paul chipchase in ue5-main branch]
#rb Per.Larsson
#jira UE-169626
#rnx
#preflight 639c4112012902cb8db43e13
- This allows us to provide the user with more ways to customize the virtualization and return more detailed info about it if the calling code wishes to log additional info. In both cases we can extend the options and the data returned without changing the API.
- Previously if we virtualized a package that was not checked out in revision control we would warn the user and then skip updating the package file on disk. This means the payloads would be uploaded but the user would be left with no local changes. Since sometimes we know we don't need to check out any package (virtualizing the packages in a change list for example) we don't want to always incur the cost of polling reivision control to see which packages do need checking out. This is why we now allow the caller to request package files be checked out via the new options enum EVirtualizationOptions.
-- If the EVirtualizationOptions::Checkout flag is provided we will poll the revision control status of all package files and then check out those which need it.
-- We still check if packages can be modified and warn the user if they can't, as package files could be locked in other ways.
- Added a new utility function to SourceControlUtilties to make it easier to check out packages. There is similar functionality elsewhere in the code base but the virtualization module is too low level to make use of it.
- Updated existing code that calls ::TryVirtualizePackages and add cases of ''using namespace UE::Virtualization' where required to improve readability.
- The UnrealVirtualizationTool now supports a new cmdline option "-checkout" that can be used when virtualizing packages. This will checkout any package that was actually virtualized so the result can be saved back out to the workspace domain. This means we no longer require the caller to have checked out the packages before running the tool.
[CL 23536832 by paul chipchase in ue5-main branch]