Commit Graph

128 Commits

Author SHA1 Message Date
luc eygasier
10d4800ede Rework Source Control Changelist Window?s Asset beautification:
* Adds Source Control Asset Data cache. Preventing Source Control Changelist Window to rebuild AssetData from scratch when UI refresh takes place
* Modifies Source Control beautification to async process, preventing crowded changelists to block the workflow. The filenames are now beautified when available.
* Parallelize AssetData information retrieval from SourceControl
* Updates message displayed when refreshing window's items

#rb Sebastien.Lussier, JeanFrancois.Dube
#jira UETOOL-3522

#changelist validated

#ROBOMERGE-SOURCE: CL 17375288 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17375337 by luc eygasier in ue5-release-engine-test branch]
2021-08-31 15:14:29 -04:00
luc eygasier
6ebdfb0526 * Adds "Validate Changelist" contextual action in Source Control Changelists window.
* Moves validation logs to message logs so they can be both accessible in OutputLogs and Hyperlink to SourceControl MessageLog

#rb JeanFrancois.Dube

#changelist validated

#ROBOMERGE-SOURCE: CL 17141186 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17141235 by luc eygasier in ue5-release-engine-test branch]
2021-08-11 15:42:24 -04:00
luc eygasier
023de629a0 Adds "LastSynced" flag to Perforce Sync operation, allowing to force sync (ie revert) to the last synced version of an asset.
Modifies Revert operation on Uncontrolled assets to force sync to last synced version instead of head revision.

#rb Sebastien.Lussier

#changelist validated

#ROBOMERGE-SOURCE: CL 16943684 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16943688 by luc eygasier in ue5-release-engine-test branch]
2021-07-23 20:22:17 -04:00
luc eygasier
9f354adce4 Use AssetRegistry to add writable files to Reconcile cache.
Adds UncontrolledChangelistValidator, reconciling writable assets, warning the user if new uncontrolled changes are found during changelist validation

#rb Sebastien.Lussier
#preflight 60d0965a367e6700013a0083

#changelist validated

#ROBOMERGE-SOURCE: CL 16728469 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16728483 by luc eygasier in ue5-release-engine-test branch]
2021-06-21 11:05:22 -04:00
luc eygasier
b886cd904f Updates Uncontrolled Changelists module so unload operations removes files from reconcile cache.
* Removes "clear cache" contextuals actions from reconcile menu.
* Refresh action in Changelist Window now cleans loaded files cache to reconcile

#rb Sebastien.Lussier

#changelist validated

#ROBOMERGE-SOURCE: CL 16693262 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16693278 by luc eygasier in ue5-release-engine-test branch]
2021-06-16 14:37:34 -04:00
luc eygasier
87c6e2529b Update contextual menu in Changelist window to support Uncontrolled Changelists
* Update MarkForAdd operation to operate on a specified changelist
* Adds Force option in sync operation to be able to revert uncontrolled files
* Adds the resulting new changelist to FNewChangelist operation
* Adds support for "mark for add" files when moving from UCL to C
* Adds support for reverting Uncontrolled Changelist, Uncontrolled Changelist files, or mixes of controlled/uncontrolled files
* Adds support of "Move files to..." contextual action for Uncontrolled files and to Uncontrolled Changelists

#rb Sebastien.Lussier

#changelist validated

#ROBOMERGE-SOURCE: CL 16662633 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16662640 by luc eygasier in ue5-release-engine-test branch]
2021-06-14 15:25:40 -04:00
luc eygasier
244b636666 Adds Offline files to Uncontrolled Changelists
* Adds Offline files to Source Control Changelist Window
* Use TSet.Remove return value to update state.

#rb Sebastien.Lussier

#changelist validated

#ROBOMERGE-SOURCE: CL 16593836 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16593849 by luc eygasier in ue5-release-engine-test branch]
2021-06-08 17:12:28 -04:00
luc eygasier
8a36dd39f0 Adds automatic discovery of potentially modified files out of SourceControl.
* Adds reconcile contextual actions to manually trigger the verification process
* Loads UncontrolledChangelists module along UnrealEd to be able to hook loaded/saved files sooner
* Adds CPU Trace for FPerforceUpdateStatusWorker::Execute and ParseUpdateStatusResults
* Changes FPerforceCheckOutWorker to update Changelist State if checked out directly to a CL
* Changes FPerforceRevertWorker to update Changelist State after revert

#rb Sebastien.Lussier

#changelist validated

[CL 16477108 by luc eygasier in ue5-main branch]
2021-05-26 18:15:46 -04:00
luc eygasier
a5608833a9 Adds moving files from Uncontrolled Changelist to Changelist.
#rb Sebastien.Lussier
#preflight 609c2b365b35c60001e51d6c

[CL 16306199 by luc eygasier in ue5-main branch]
2021-05-12 17:06:06 -04:00
Lauren Barnes
39f1923ed0 Deprecating .Icon() as a slate attribute on SDockTab. By default, tab icons fall back to using the one for the tab spawner's menu item. SetTabIcon can be used in the edge cases where an icon needs to be set that doesn't match the default. Updating all found cases of .Icon() usage on SDockTab.
#jira UETOOL-3429
#preflight 60996a2bdd2e00000126ff25
#rb Matt.Kuhlenschmidt

[CL 16251489 by Lauren Barnes in ue5-main branch]
2021-05-10 14:19:15 -04:00
luc eygasier
9787a46325 Adds Base for Uncontrolled Changelist module.
#rb Sebastien.Lussier

#changelist validated

[CL 16224279 by luc eygasier in ue5-main branch]
2021-05-06 14:40:16 -04:00
Luc Eygasier
0719865734 Fixes temporary CL left being when submitting default changelist.
Changing CL description just before submitting if needed, only if it is not the default CL.
Restore previous changelist description (before tag), in case the submit failed.

#rb Sebastien.Lussier, Julien.LHeureux
#jira UE-114188, UETOOL-3408
#changelist validated

[CL 16113557 by Luc Eygasier in ue5-main branch]
2021-04-26 09:23:26 -04:00
luc eygasier
18edf5ba3d Adds validation tag in changelist description.
#rb Sebastien.Lussier

#changelist validated

[CL 16051226 by luc eygasier in ue5-main branch]
2021-04-19 11:21:23 -04:00
luc eygasier
c45b45fb0c Enables "Locate file" only if assets are accessible from ContentBrowser.
#rb Sebastien.Lussier

[CL 15934324 by luc eygasier in ue5-main branch]
2021-04-06 16:11:32 -04:00
luc eygasier
49e2ce208b Adds notifications on success/failure when submitting with SourceControlChangelistsWidget
#lockdown Simon.Tourangeau
#rb Sebastien.Lussier
#jira UE-112896
#robomerge Release-5.0-EarlyAccess

[CL 15933038 by luc eygasier in ue5-main branch]
2021-04-06 14:20:24 -04:00
louise rasmussen
825c64a6f5 Level Editor Menu Re-org, Part 1
#JIRA UETOOL-3039
#rb Lauren.Barnes
#lockdown Simon.Tourangeau
#preflight 606b8e0315d4190001b1698b

#ROBOMERGE-SOURCE: CL 15924633 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15924652 by louise rasmussen in ue5-main branch]
2021-04-05 19:11:24 -04:00
Patrick Enfedaque
41d0fa18a5 OFPA: Add new static ULevel::GetExternalActorsFolderName() method to avoid proliferation of "__ExternalActors__" in code
#rb jeanfrancois.dube, jeff.farris
#preflight 605cb5a59f571900013ea12f
#robomerge Release-5.0-EarlyAccess

[CL 15826153 by Patrick Enfedaque in ue5-main branch]
2021-03-25 13:03:49 -04:00
julien lheureux
e1004780ae Added timer on changelist refresh operation
Added Move files operation on files in changelist dialog (incl. move to new)
Added new changelist button in toolbar
Added cancellable "path beautification" when we have deleted/shelved files with no matching file, until we make it lazy and/or batched

#rb sebastien.lussier

[CL 15797238 by julien lheureux in ue5-main branch]
2021-03-24 08:29:57 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
LIMITATIONS:

1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.

KNOWN ISSUES:

1) Changes to enumerations and structures will not be reflected in existing blueprints.  However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.

CHANGES:

1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.

2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API

3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.

Robert did the review on the changes covered by Part 2.  Remaining changes are all straightforward.

#rb robert.manuszewski
#jira UE-74493

[CL 15736777 by Tim Smith in ue5-main branch]
2021-03-18 08:13:59 -04:00
patrick enfedaque
925afa781b SourceControl: Replace main menu "Submit" menu with "View Changelists..."
#rb sebastien.lussier

#ROBOMERGE-SOURCE: CL 15725157 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15727212 by patrick enfedaque in ue5-main branch]
2021-03-17 13:43:31 -04:00
Sebastien Lussier
fbd129105f Source control changelists - Disable submit button if the validation contains errors
#rb richard.malo
#robomerge Release-5.0-EarlyAccess

[CL 15668594 by Sebastien Lussier in ue5-main branch]
2021-03-10 15:03:45 -04:00
sebastien lussier
ef589f0b39 Minor UX improvements to the Source Control Changelists window
#rb none

#ROBOMERGE-SOURCE: CL 15554968 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15554971 by sebastien lussier in ue5-main branch]
2021-02-28 23:55:37 -04:00
julien lheureux
aa5b17da40 Fix "shelved files" from default changelist, now has the same behavior as in P4V.
Fix an issue where editing a changelist containing shelved files would fail silently.

#rb sebastien.lussier
#jira UE-107676

[CL 15359009 by julien lheureux in ue5-main branch]
2021-02-08 15:32:48 -04:00
julien lheureux
a460459eed Added possibility to get asset data from history, with a max fetch size (until we have a better solution)
Changed the way we associate shelved files with their local filename to facilitate mapping (perforce operations)
Implemented what was needed on the SCC side to support diff against shelve
Improved way we display object names for deleted & shelved files

#rb sebastien.lussier

[CL 15356101 by julien lheureux in ue5-main branch]
2021-02-08 09:36:20 -04:00
julien lheureux
57426a7c27 Refactored changelist tree items to be shareable with the submit dialog (allows symmetrical display)
Added an exception to changelist validation for deleted files
Improved display of deleted & shelved objects in changelists & submit dialog - improvements related to OFPA in a subsequent change.

#rb sebastien.lussier
#jira UE-107677, UE-107768

[CL 15322858 by julien lheureux in ue5-main branch]
2021-02-04 17:41:41 -04:00