Commit Graph

40 Commits

Author SHA1 Message Date
paul chipchase
7532065020 Fix a potential shutdown crash in the uncontrolled changelist module.
#rb Patrick.Enfedaque
#jira UE-225282

- When FUncontrolledChangelistsModule::ShutdownModule is called we do try to ensure that the start up task has completed if it is still running but in very rare cases the job will not get time to run on worker threads until the engine exit path has already started to exit and things that it relies on, such as the asset registry have already shutdown. In these cases we can hit an assert.
- We now hook into the OnEnginePreExit delegate which is invoked before major engine systems start to shutdown.
- We also try to first cancel the job, in case it is still pending on the task system as that is the fastest way to stop it from running.
- If the job has already started we will have to wait for it to complete.
- Note that the job will try to early out once it detect that the engine is shutting down so the wait here should be relatively short.
- There is now no need to check that the start up task has finished during ::ShutdownModule so we now double check for future coding errors with an assert instead.

[CL 36760604 by paul chipchase in 5.5 branch]
2024-10-01 19:58:20 -04:00
jeanmichel dignard
e3f746c7a2 Fixed crash with UncontrolledChangelists
- Added a sanitization pass when loading the json from disk and when writing it to disk to enforce one file being part of one cl.

#jira UE-205965
#rb Patrick.Enfedaque

[CL 32805746 by jeanmichel dignard in ue5-main branch]
2024-04-08 16:34:29 -04:00
patrick enfedaque
1663d7c0be SCC: Fix Uncontrolled Changelist reconcile
- Make sure we don't register to OnAssetAdded before the initial AR Scan completes
- StartupTask will only run after initial AR Scan catching all on disk assets

#jira UE-172243
#rb  luc.eygasier, Bob.Tellez, brooke.hubert

[CL 31517576 by patrick enfedaque in ue5-main branch]
2024-02-15 08:53:49 -05:00
han chu
2c25f2c11e New feature:
Unsaved asset drag-and-drop handler: When unsaved assets are selected and then dropped onto a changelist entry, they are checked out, saved, and then moved to the target changelist.

#jira UE-181906
#rb @zach.rammell

[CL 26976967 by han chu in ue5-main branch]
2023-08-09 18:41:28 -04:00
zach rammell
bc0e3c125e Fix FUncontrolledChangelistsModule::OnAssetAddedInternal()
PR #10272
#rb zach.rammell
#lockdown jeanmichel.dignard
#preflight 64223aaf973e609670cea4fc
#jira UE-180948

[CL 24821278 by zach rammell in ue5-main branch]
2023-03-28 12:38:53 -04:00
bob tellez
f2dd06e65e #UE Disable expensive uncontrolled changelists asset registry OnAssetAdded function
[FYI] luc.eygasier

[CL 24667987 by bob tellez in ue5-main branch]
2023-03-16 01:40:40 -04: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
ecd02d133c For Source Control systems which don't support Uncontrolled Changelists, disable the entire Uncontrolled Changelists module, rather than just UI elements (as was done in CL 23490912).
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]
2023-01-16 10:48:10 -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
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
patrick enfedaque
ff9b96647f Uncontrolled Changelist: Optimization
- OnStateChanged sets a dirty flag, SaveState is performed on End of frame if needed.

#rb luc.eygasier, richard.malo
#preflight 63457ad3e76c1171e7f1a5a3
#rnx

[CL 22467213 by patrick enfedaque in ue5-main branch]
2022-10-11 18:30:44 -04:00
rex hill
dde95823ae Add insights scope to a function that requires optimization
#preflight skip

[CL 22424987 by rex hill in ue5-main branch]
2022-10-09 23:37:46 -04:00
patrick enfedaque
377869bfc1 Uncontrolled Changelist: deleted files support
- Deleted files will show up in the Uncontrolled Changelists when a Source Control provider is selected
- Deleted files won't show up if SCC is disabled but will still be tracked in case SCC is renabled

#jira UE-164493
#rb luc.eygasier
#preflight 633af0bcba39998ce83121b4

[CL 22322389 by patrick enfedaque in ue5-main branch]
2022-10-03 20:43:35 -04:00
patrick enfedaque
4e1dff0b87 Fix unsaved writable files appearing in Uncontrolled Changelist
- Files are now added to the reconcile list when marked writable
- They are later on added to the UC when they are saved (if they still are not checked out)

#rb luc.eygasier
#preflight 6336cfa7c37844870a040e20

[CL 22272829 by patrick enfedaque in ue5-main branch]
2022-09-30 12:24:14 -04:00
rex hill
fd010712d1 Fix UncontrolledChangelists warnings seen for cooked assets
#preflight 6331c24e0d6a7155ba356e3b
#rb luc.eygasier

[CL 22203037 by rex hill in ue5-main branch]
2022-09-27 06:54:18 -04:00
luc eygasier
abfd119ea2 Enabled Uncontrolled Changelists by default.
Adds setting to disable uncontrolled changelists.

#rb Patrick.Laflamme
#jira UE-163064
#preflight 6328649b8c3def91aa6d9576
#changelist validated

[CL 22086935 by luc eygasier in ue5-main branch]
2022-09-19 21:54:38 -04:00
luc eygasier
96f1950f5a Adds new uncontrolled changelist option to "Move Files To..." dialog.
#preflight 63284d978131e92d659351bf
#rb Patrick.Laflamme

#changelist validated

[CL 22084693 by luc eygasier in ue5-main branch]
2022-09-19 19:50:22 -04:00
luc eygasier
92a1bc7f30 Adds support for multiple uncontrolled changelists
* Add creation of new uncontrolled changelists
* Add modification of uncontrolled changelists description
* Add uncontrolled changelists deletion

#preflight 6318ebec980179553e9254aa
#jira UE-163065
#rb Patrick.Laflamme

[CL 21892780 by luc eygasier in ue5-main branch]
2022-09-08 09:19:01 -04:00
luc eygasier
1dcadd2e97 Moves FUncontrolledChangelist::Name to FUncontrolledChangelistState::Description.
#rb Patrick.Laflamme
#preflight 6318ac73f448dc6e585d5fbd
#jira UE-163065

[CL 21864892 by luc eygasier in ue5-main branch]
2022-09-07 18:11:16 -04:00
luc eygasier
c4dec1008a Adds Source Control File Dialog.
Displays source control file dialog when checkouting files is impossible during conversion from Uncontrolled Changelist to Changelist.

#preflight 630f740ce352708d444276e0
#rb Patrick.Laflamme

[CL 21727336 by luc eygasier in ue5-main branch]
2022-08-31 16:14:08 -04:00
luc eygasier
0cda7fc8ed Modifies revert operations in source control window to also reload packages.
Adds Source Control Helper method to perform a modular source control operation and reload the concerned packages

#rb Patrick.Enfedaque
#preflight 62fd4e63e64b1a510937890b
#changelist validated

[CL 21444877 by luc eygasier in ue5-main branch]
2022-08-18 13:03:11 -04:00
patrick enfedaque
74fd7a10b8 Uncontrolled Changelist: Make sure background task is completed on module shutdown
#jira UE-160847
#rb richard.malo, jeanfrancois.dube
#preflight 62f68bca185b21882a9438d3

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 21359248 via CL 21359468 via CL 21359507
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21362286 by patrick enfedaque in ue5-main branch]
2022-08-12 15:52:47 -04:00
luc eygasier
f431296a8a Changes reverting UncontrolledChangelist new assets to also delete them.
#rb Patrick.Enfedaque
#preflight 62f56afaad3bd8ad642e2a79

#ROBOMERGE-AUTHOR: luc.eygasier
#ROBOMERGE-SOURCE: CL 21354458 via CL 21354491 via CL 21354503
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21356205 by luc eygasier in ue5-main branch]
2022-08-12 11:43:42 -04:00
patrick enfedaque
b1948f9827 Uncontrolled Changelist: Filter out /Tmp assets + Procedural/Auto saves
#rb jeanfrancois.dube, luc.eygasier
#preflight 62f53a8cb66d5d9313a35714

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 21342544 via CL 21342580 via CL 21342599
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21345594 by patrick enfedaque in ue5-main branch]
2022-08-11 17:19:27 -04:00
patrick enfedaque
29c089706b Uncontrolled Changelist
-Startup scan is now a background task (Saves 1min15 editor startup time on projects with lots of assets)
-Wait on startup task with dialog on reconcile if it isn't finished
-Don't allow changing module enabled state past startup (CVar read at startup only)

#rb richard.malo, jeanfrancois.dube
#preflight 62f4eeb5b66d5d9313960f4e

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 21338280 via CL 21339224 via CL 21339734
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21341653 by patrick enfedaque in ue5-main branch]
2022-08-11 14:46:56 -04:00