Commit Graph

212 Commits

Author SHA1 Message Date
stuart hill
df6df596f7 Ensure the camera does not reset when we are syncing or reverting a file or all files via source control
A scoped class is added to retain and restore all camera views which is used when we reload or sync packages.

#preflight 63d2766de55deff624ed1b5a

[CL 23867883 by stuart hill in ue5-main branch]
2023-01-26 10:15:04 -05:00
marco anastasi
b29f599449 * Refactored Sync Latest operation to improve performance
* 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]
2023-01-20 15:31:16 -05:00
stuart hill
d8b31f7ed0 Add a flag to the source control provider to tell us if 'uncontrolled' changelists are supported.
#rb Marco.Anastasi, zach.rammell
#prelight 6398633f8c5081ee9a275f20

[CL 23499875 by stuart hill in ue5-main branch]
2022-12-13 18:18:02 -05:00
aditya ravichandran
87a76764d5 Revision Control Style: Update conflicted icon color
#rb trivial

[CL 23480874 by aditya ravichandran in ue5-main branch]
2022-12-12 14:30:17 -05:00
marco anastasi
d28eb652fb Implemented Asset Revert functionality from Scene Outliner.
Fixed 'Cannot revert umaps with Skein' by reloading all assets when attempting to revert a map
Implemented 'Revert All' button

#rb patrick.enfedaque, wouter.burgers, stuart.hill, manuel.lang
[FYI] francis.hurteau, brooke.hubert
#preflight 6388f51d4c3ce8ae5dbfb18f

#preflight 639340545c5308d18c28b967

[CL 23475314 by marco anastasi in ue5-main branch]
2022-12-11 23:09:22 -05:00
JeanMichel Dignard
5fc36285ba Fixed typos reported by localization
#jira UE-170395
#rb none
#preflight 63939b065c5308d18c4adbab

[CL 23468692 by JeanMichel Dignard in ue5-main branch]
2022-12-09 15:54:23 -05:00
aditya ravichandran
28eccf9aa0 Revision Control Iconography Update:
Update the default set of revision control icons
Create FRevisionControlStyleManager to manage the currently active revision control style and add a default style that is used by all providers
#rb lauren.barnes, brooke.hubert
#preflight 639364ee67018b14b5fb9891

[CL 23466976 by aditya ravichandran in ue5-main branch]
2022-12-09 14:18:01 -05:00
marco anastasi
3ff24ee93a Added separate toast description for generic error on failed auto-checkout
#rb manuel.lang, zach.rammell, wouter.burgers
#preflight 6387aad2b21cdd3a26d45878

[CL 23345359 by marco anastasi in ue5-main branch]
2022-11-30 21:18:15 -05:00
richard malo
27956d595f Avoid getting spam warnings coming from world outliner usaved column trying to resolve actor memory package path when running PIE.
#rb jeanfrancois.dube
#preflight 6386298df213a116eb293e15

[CL 23312521 by richard malo in ue5-main branch]
2022-11-29 12:35:57 -05:00
aditya ravichandran
f8b7ee5555 Replace any instances of "Source Control" with "Revision Control" in text in the Editor
#rb JeanMichel.Dignard, Robb.Surridge
#preflight 637d180efa348e8480e8837e

[CL 23250808 by aditya ravichandran in ue5-main branch]
2022-11-23 11:57:50 -05:00
paul chipchase
85c3793e92 Allow FGetChangelistDetails to accept the changelist number as part of the constructor, allowing it to be passed in as an arg for ISourceControlOperation::Create
#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]
2022-11-22 04:38:16 -05:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
patrick laflamme
c710b14d86 Optimized the source control changelist to more efficienty update the list of source controlled files to monitor.
- 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]
2022-11-02 23:06:17 -04:00
stuart hill
1fc502d9b1 Give the option to disable being able to diff files in the Source Control Submit Widget. To allow this, AllowsDiffAgainstDepot function should return false.
#preflight 6360fd498768c5532f5425f0
#rb Marco.Anastasi, Patrick.Laflamme

[CL 22888653 by stuart hill in ue5-main branch]
2022-11-01 15:09:57 -04:00
patrick laflamme
dd7503e556 Reduce a check to an ensure, as we are aware of some cases files are dirtied off the main thread.
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]
2022-10-31 21:22:58 -04:00
christian savoie
fd89edb9be Add access to local revision number for all source control systems.
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]
2022-10-31 11:08:06 -04:00
patrick laflamme
3d0ecd8bed Fixed possible out-of-memory issue with the FSourceControlFileStatusMonitor reserving -1 items in an array.
- 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]
2022-10-26 17:29:44 -04:00
patrick laflamme
e28ebcb558 Fixed crash in SourceControlFileStatusMonitor not checking of the Map iterator was valid before using it.
#rb trivial
#preflight trivial

[CL 22711581 by patrick laflamme in ue5-main branch]
2022-10-22 14:44:43 -04:00
marco anastasi
9d30e5f3ac Fixed bug with the way used to determine whether a source control provider uses a custom project base directory
#rb wouter.burgers, stuart.hill
[FYI] patrick.laflamme
#preflight 634e8c558c653695a7a8b2f0

[CL 22604838 by marco anastasi in ue5-main branch]
2022-10-18 13:16:32 -04:00
wouter burgers
2a2222ade7 SourceControl: Generalized the 'checked out by other' text in the AssetBrowser tooltip to a 'source control text'.
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]
2022-10-18 04:42:35 -04:00
patrick laflamme
878d1ae127 Instrumented source control upcate callbacks with with cpu scopes for monitoring performances.
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]
2022-10-13 11:24:42 -04:00
patrick enfedaque
5b51457a6c - Remove UUnrealEdEngine::OnSourceControlFilesDeleted delegate (Unloading/Reloading of packages should be handled by USourceControlHelpers::ApplyOperationAndReloadPackages)
- 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]
2022-10-11 08:37:16 -04:00
patrick laflamme
75ca107c39 Fixed CIS for not finding the correct hash function of uintptr_t in SourceControlFileStatusMonitor.h
#rb none
#preflight none

[CL 22322257 by patrick laflamme in ue5-main branch]
2022-10-03 20:38:57 -04:00
patrick laflamme
068b6058ab Implemented the 'Unsaved' Editor status bar button that displays the number of unsaved assets (dirty packages) the user and potential warnings with respect to the source control those asset may have.
- 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]
2022-10-03 20:38:09 -04:00
patrick enfedaque
aa180f6f09 Fix not being able to revert Uncontrolled Changelist changes with files not at head revision. (files were forced synched to proper revision but would stay in the UC)
- 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]
2022-09-30 11:39:49 -04:00