Commit Graph

178 Commits

Author SHA1 Message Date
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00
bryan sefcik
f58e75e476 Pass 2 on cleaning up build.cs files.
#jira
#preflight 631b7a79304480f8f8b48580

[CL 21931324 by bryan sefcik in ue5-main branch]
2022-09-09 19:41:38 -04:00
patrick laflamme
613bcd7b4d Fixed the 'Submit Window' saving the description of the default changelist into a new changelist without moving the files.
- In the 'Submit' window, renamed the 'Apply' button to 'Save' button.
  - If the user saves with the 'default' changelist, a new changelist is created with the user description and files are moved into that changelist.
  - If the user saves with any other changelist, ony the description is edited.

#rb Luc.Eygasier
#preflight 631a13a2304480f8f85aba2c

[CL 21909342 by patrick laflamme in ue5-main branch]
2022-09-08 20:48:26 -04:00
patrick laflamme
6819c99704 Removed the creation of hundreds of unneccesary temporary strings while parsing P4 results.
#rb Patrick.Enfedaque
#preflight 6310a693e352708d4462e191

[CL 21743001 by patrick laflamme in ue5-main branch]
2022-09-01 12:40:50 -04:00
SRombauts
8df7cabe69 Updated the changelist window to handle the Enter and Delete keys to Submit or Delete the currently selected changelist if conditions to do these operations are met. This mimics P4V behavior.
Updated the changelist window to handle double clicking on a changelist. This opens the submit dialog if the submit conditions are met. This mimics P4V behavior.

PR #9433: [Source Control] Changelists window: intercept Enter and Delete keys to Submit or Delete the current changelist (Contributed by SRombauts)
#jira UE-160314
#rb Patrick.Enfedaque
#preflight 630d1e68f92416fb92702657

[CL 21709874 by SRombauts in ue5-main branch]
2022-08-30 17:17:25 -04:00
Patrick Laflamme
67dacf2baa Fixed memory leak when a long source control operation blocks the main thread while the rendering thread renders to animate the source control feedback popup.
Note: This popup is currently disabled for P4.

#jira UE-161263 - GitHub 9492 : [UE-100291][UE-160299] Fix source control progress bar crashing out of video memory in case of long-running operation
#jira UE-160395 - GitHub 9464 : fix FScopedSourceControlProgress memory leak.
#jira UE-160299 - GPU memory leak during large source control operations

#rb Vincent.Gauthier
#preflight 63078403e674580995224875

[CL 21563977 by Patrick Laflamme in ue5-main branch]
2022-08-25 10:33:13 -04:00
luc eygasier
48a54c4e48 Fixes packages from different project paths unable to be reverted.
#rb Patrick.Enfedaque
#preflight 62fe8dcaaa546d5e9d05d0a4
#changelist validated

[CL 21499945 by luc eygasier in ue5-main branch]
2022-08-22 21:22:48 -04:00
patrick laflamme
7f2a598696 Refactored the Changelist Window UI to work better with large changelists along with bug fixes.
This submit should not regress any existing functionalites of the previous widget.

Along with the user interface changes, notable bug fixes were included
  - If a changelist is not specified for P4 operations 'Mark for Add', 'Mark for Delete and 'Checkout', defaulted to the 'default' P4 changlist. Without a valid changelist, the cache wasn't properly updated.
  - Fixed updating the cache for P4 'Mark for delete' operation not correctly updating the file changelist cached in the file state.

Other changes:
  - P4 changelists are now always returned sorted by changelist number, ascending.
  - Some of the safe operations were running synchronous are not running asynchrnous (create new changelist, delete empty changelist, delete shelved files).

This submit addresses the following Jiras:

#jira UE-155207 - Refactor the changelist window layout to have the left/right panel.
#jira UE-155209 - Add the context menu on right click on a file or a changelist.
#jira UE-155218 - Support creating new empty changelist from the changelist view.
#jira UE-155220 - Support moving files from the selected changelist (right view) to another changelist (left view)
#jira UE-155211 - Add visual feedback for any operation taking more than 0.5s.
#jira UE-155212 - Display a list of uncontrolled files in the left panel of the changelist window
#jira UE-155499 - Changelist windows buttons should be disabled if SCC is disabled
#jira UE-155229 - Add an option to automatically refresh the changelist window when new assets are imported|created (as uncontrolled), marked for add, checked out, marked for delete
#jira UE-107577 - Source Control's Changelists dialog does not refresh to reflect changes made while open

#rb Patrick.Enfedaque
#preflight 62ff946ef7404b55a326297b

[CL 21499885 by patrick laflamme in ue5-main branch]
2022-08-22 21:20:05 -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
578bc094cd SCC: Dependency validation only on hard refs
#rb jeanfrancois.dube
#preflight 62fa5395153b17e746322f0c

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 21387351 via CL 21390995 via CL 21391795
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21394315 by patrick enfedaque in ue5-main branch]
2022-08-15 17:13:39 -04:00
paul chipchase
da282e1873 Add FSourceControlBackend support for storing virtualized payloads in a stream type depot.
#rb Per.Larsson
#rnx
#jira UE-160619
#preflight 62f37c86b66d5d93133d67e3

- Based on work from Jess.Kube

### Virtualization
- The source control backend now takes an optional config option "ClientStream" which takes the name of the client stream to use.
- If a client stream is set then workspaces created for payload submission will use that and not provide a client-view mapping.

#ushell-cherrypick of 21195584 by Jess.Kube
### PerforceSourceControl
- Allow FCreateWorkspace to create workspaces with streams as well as classic workspaces cia FCreateWorkspace::SetStream.
- Add a method FCreateWorkspace::ClearClientViewMappings which will clear any client view mappings already added to the operation.
- If we detect that a FCreateWorkspace operation has both a stream set and client view mappings set then FPerforceCreateWorkspaceWorker will return an error. Perforce will allow us to creat a client spec with both entries, but will default to using the stream. Technically we could allow this too but it might cause unexpected behaviour to the caller. It is better to give a clear error and fail the workspace creation.

[CL 21316756 by paul chipchase in ue5-main branch]
2022-08-10 08:51:05 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
marc audy
0edc19c939 Duplicating assets should keep a perforce relationship to the original file
#rb Brooke.Hubert
#jira

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 21119014 via CL 21119416 via CL 21119491
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21142516 by marc audy in ue5-main branch]
2022-07-17 22:46:56 -04:00
paul chipchase
8dd016450e We now call the virtualization process directly when submitting content via the editor rather than invoking a delegate.
#rb trivial
#rnx
#preflight 62d15f427e1c26dcd715699c

- Now that the IVirtualizationSystem interface supports both virtualization and rehydration of package files, it seems pointless to keep a delegate that occurs on pre-submit, rather than just calling the system we really want to call directly.
- Deprecating the public methods accessing the delegate from ISourceControlModule should prevent licensees from trying to use it. The delegate was added in 5.0 so even though it is unlikely to have been used by anyone we need to go through the deprecation steps to remove it.
-- This leaves the calling code a little more complicated than I'd like, but cannot be avoided.

[CL 21109464 by paul chipchase in ue5-main branch]
2022-07-15 09:52:19 -04:00
Patrick Boutot
05001865a2 Update the size of SSourceControlLogin to let the user-defined source control plugin auto-adjust its size.
#rb lauren.barnes
#preflight 62cf8359a4645cf7b0e4eb58

[CL 21089449 by Patrick Boutot in ue5-main branch]
2022-07-14 07:37:58 -04:00
marc audy
cd4b7d3c78 Game user settings fix and rollback of 20905839, which was itself a rollback of 20029182
#rb [at]Josh.Adams
#preflight

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: mic.rooney
#ROBOMERGE-SOURCE: CL 20973575 via CL 20978259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 20980862 by marc audy in ue5-main branch]
2022-07-07 01:55:35 -04:00
marc audy
c4f29a0675 Fixup files that did not merge properly/got included in the merge unintentionally
#jira
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 20962704 via CL 20962785 via CL 20962797
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20964187 by marc audy in ue5-main branch]
2022-07-06 05:41:03 -04:00
marc audy
7c7733328f Update Main from //Fortnite/Dev-EngineMerge [at] 20952818
This represents UE5/Main [at] 20628573
#jira
#rnx

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 20960321 via CL 20962677 via CL 20962692
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20963796 by marc audy in ue5-main branch]
2022-07-06 05:11:09 -04:00
mic rooney
f5a58f4e71 Temp backout while Josh is out so that we don't break workflows and he can re-backout/unrevert this when he's back in.
* Contains some selected back outs from other cls that included config context dependent changes, though it's limited to only backing out broken parts as much as possible to minimize surface area.

[Backout] - CL20029182
[FYI] josh.adams
Original CL Desc
-----------------------------------------------------------------
- Adding FConfigContext which is used to repalce LoadExternalIniFile, LoadLocalIniFile, etc, as well as have localized data for all configs read on a thread (like the other platform configs loaded in the editor)
- The Load*IniFile functions will create a Context, but eventually those APIs will go away and the Context will be the only way to load ini files
- Simplified some of the ini loading code, like removing the HierarchyCache (it wasn't helping editor load times, and added much complexity, and was not thread-safe, and it shouldn't actually be helpful because all the calls to Load*IniFile should eventually be replaced with either GConfig or FCOnfigCacheIni::ForPlatform(), which won't need to re-read in files
- Ini reading time actually went down due to the simplification, including Cache removal
- Left in old code for now behing a #define (USE_CONTEXT) in case something goes wrong
- Added in VERIFY_CONTEXT mode which I used to run original and Context modes and compare (including preflighting builds) (I also added a Compare function that we may want to keep around to use for future debugging)
- Added a separate set of config layers for plugins which speeds up plugin parsing, but also will fix the issue with BaseEngine.ini vs DefaultEngine.ini in Engine vs Project plugins (this shows how Contexts can bring useful information down into the guts - however a later change will enable it)
- Once this is all seen to be working, I will clean up the non-Context functions, and some globals vs static members, etc
#rb paul.chipchase
#preflight 62716c1c5e6ce673f452005a


#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 20029165 via CL 20029180 via CL 20905839 via CL 20905880
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20908094 by mic rooney in ue5-main branch]
2022-06-30 20:54:32 -04:00
vlad golovan
e378ef3273 Adding Async version of QueryFileState.
#rb Patrick.Laflamme

#ROBOMERGE-OWNER: vlad.golovan
#ROBOMERGE-AUTHOR: vlad.golovan
#ROBOMERGE-SOURCE: CL 20599361 via CL 20599875 via CL 20599876
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20601769 by vlad golovan in ue5-main branch]
2022-06-10 16:29:12 -04:00
stanley hayes
5dbfb6b452 #JIRA: SOL-2791
Updates to source control helpers that:
- allow for reverting files marked for delete
- return success on a successful 'mark for delete'
#rb YiLiang.Siew
#rnx
#preflight 629fca23617cbe81d33de34d

#ROBOMERGE-AUTHOR: stanley.hayes
#ROBOMERGE-SOURCE: CL 20569168 via CL 20569170 via CL 20569172 via CL 20569174 via CL 20569176
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20570262 by stanley hayes in ue5-main branch]
2022-06-08 22:17:43 -04:00
josh adams
46a830d6b4 - Replacing many uses of LoadGlobalIniFile and LoadExternalIniFile with FCOnfigContext
#rb matt.peters
#p4v-preflight-copy 20293528
#preflight 629665d15238916c514359ad

[CL 20441581 by josh adams in ue5-main branch]
2022-05-31 16:25:06 -04:00
wouter burgers
cc6477999d SourceControl: Add FGetSubmittedChangelists operation.
#jira UCS-3549
#review-20287134
#preflight 628745339a4fcb31acdd42e6

[CL 20292011 by wouter burgers in ue5-main branch]
2022-05-20 03:46:02 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
7ad238a806 AssetRegistry includes (Engine/Source): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270509a220f89f0ad573030

[CL 20016982 by Matt Peters in ue5-main branch]
2022-05-02 18:06:48 -04:00