#rb Per.Larsson
#rnx
#preflight
- Added a FStringView and FString&& versions of the constructor so we should be covered for all use cases.
[CL 23232563 by paul chipchase in ue5-main branch]
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch
#preflight 63635997876630122adeab9f
#rb none
[CL 22958990 by henrik karlsson in ue5-main branch]
- Added function to the source control file status monitor to easily set the exact list of file to monitor efficiently
Fixed the source control changelist not monitoring all the files in view.
#rb Aditya.Ravichandran
#preflight 6362b9bf1a32af63a8f5b719
[CL 22937889 by patrick laflamme in ue5-main branch]
This is a temporary stop gap until a better fix can be put in for the offending assets in a future release, and it is not intended for assets to dirty off the main thread.
#rnx
#rb Brooke.Hubert
#jira UE-168825 - Crash opening skeletal mesh
#preflight 636040b766696ca050787cbc
[CL 22876436 by patrick laflamme in ue5-main branch]
Change perforce Revert option to be based on if an item is checked out or marked for add, rather than if it can be checked in.
#tests Used to implement source control menu refactor https://p4-swarm.epicgames.net/reviews/22528870
[CL 22863683 by christian savoie in ue5-main branch]
- Fixed an issue that didn't correctly account the number a pending files to check when source control provider changed.
- Added check to be sure the monitor is called on the main thread.
#rb Patrick.Enfedaque
#preflight 6357df4e36767b3e1e62c9ee
[CL 22792937 by patrick laflamme in ue5-main branch]
In essense, this was already true because 'FPerforceSourceControlState::GetDisplayTooltip()' would return the 'IsConflicted' or '!IsCurrent' text before considering the 'IsCheckedOutByOther' text, so the tooltip would potentially already contain warning texts.
#preflight 634d26a79c29024c9819df27
[CL 22595449 by wouter burgers in ue5-main branch]
Optimized Collection code invoked at each source control update to avoid comparing large set to detect if the in-memory collection is different from the collection on disk.
#rb Julien.StJean
#preflight 6346e2cf663dafe4162e8c9e
[CL 22505265 by patrick laflamme in ue5-main branch]
- Change ApplyOperationAndReloadPackages so that it calls DeleteObjectsUnchecked instead of UnloadPackage (which is what OnSourceControlFilesDeleted did)
#rb luc.eygasier
#preflight 634040d8437603cb0e2b7d03
#rnx
[CL 22456126 by patrick enfedaque in ue5-main branch]
- Implemented the UnsavedAssetTrackers plugin and enabled it by default.
- Added the 'Unsaved' button to the Editor taskbars to display the number of unsaved packages along with a warning icon if warning are associated with one of the unsaved files.
- Updated the 'Save Content' package to display warnings if one of the packages has warnings.
- Added a class to monitor and periodically update the source controlled status of a collection of files/packages.
- Changed the default value of PromptForCheckoutOnAssetModification settings to False because the Unsaved button flow is complementary (and the popup was noisy for OFPA users).
- Updated the changelist window to use the soure control file status monitor.
#jira UE-163734 - Implement the 'Unsaved' Editor Taskbar Button
#rb Patrick.Enfedaque
#preflight 633ae915b12b8af5fde80f7c
[CL 22322224 by patrick laflamme in ue5-main branch]
- Add flag to SourceControlOperation to test modified status against synched revision (p4 #have)
- Use this new flag when testing for modifications in UncontrolledChangelist
#jira UE-165558
#rb luc.eygasier
#preflight 633633b7936ff7e3dcda5f92
[CL 22271768 by patrick enfedaque in ue5-main branch]
#rb wouter.burgers, patrick.laflamme
#preflight 63301d3d665f6b8f7fab0066
RESOLUTION: Resolved conflict with IsAtLatestRevision() and GetNumLocalChanges()
[CL 22193646 by marco anastasi in ue5-main branch]
Before:
Total CPU Time: 53783.640625 s
Total time in Parallel executor: 558.66 seconds
After:
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds
#jira
[CL 22173145 by bryan sefcik in ue5-main branch]
#rb Per.Larsson
#jira UE-163834
#rnx
#preflight 632d98e4b4515b7e221654ec
### Virtualization
- At the moment there is no way in the editor UX to change the source control settings for the source control backend, so what ever settings are found in the global environment would be applied when the editor is first run and then saved to a config file under the <saved> directory. From this point onwards those settings would always be used when setting up the source control backend. If the settings were wrong, the first time that the editor was started, then we'd continue to use the incorrect settings even if the global enviroment was fixed. Making the backend work at that point would require that the user know about the local ini file and change the settings there.
- We cannot fix this by just ignoring the ini file as it has been requested that users can add their settings there in case they want to customize things, so we just need to avoid saving to it.
- Added documentation to the source control backends header file on how to set up the ini file if needed.
### Perforce
- FSourceControlInitSettings now accepts EConfigBehavior which describes how we want the source control provider to deal with its settings with regards to the ini file.
- Note that EConfigBehavior is not a bitfield as we do not wish to support only writing to the ini file, there is no point if it cannot be read from.
- When the source control provider is creatred we pass on the into from EConfigBehavior to the FPerforceSourceControlSettings to enable/disable saving and loading.
[CL 22163769 by paul chipchase in ue5-main branch]