Commit Graph

199 Commits

Author SHA1 Message Date
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
patrick laflamme
2abc22e6e8 Inverted the 'Save' and 'Submit' button position in the SSourceControlSubmit widget to be in the same position as Perforce submit dialog (from left to right now we have [Submit, Save, Cancel] instead of [Save, Submit, Cancel])
#rb Aditya.Ravichandran
#preflight 6362b9b2522c8f7ab34bd892

[CL 22937881 by patrick laflamme in ue5-main branch]
2022-11-02 23:06:08 -04:00
patrick laflamme
187570e7ff Optimized source control changelist to handle a reasonably large number of files smootly (5000-20000).
- Handling simple source control updates nofications, for example when user scroll the outliner which query source control status of the scrolled files, usually took 450ms with 15000 files to refresh in the changelist window now takes about 3ms.
  - Cached UI item to reuse them when user change the filter.
  - Detect and update only the item that changed.
  - Preserved the item sort order from the previous update when possible.
  - Lazily read the file modification timestamp only when the item is fist displayed.
  - Updated files modification in background (triggred when when a package is saved).
  - Only monitor source control file status for files that are visible (unless the view is sorted by status)
  - Splitted Uncontrolled Changelist and Source Controlled Changelist update to update then independently and just  update the one that was notified as updated.
  - Converted the file view from a STreeView to a SListView.

Updated changelist UI to display (X out of Y files) when a filter is active and remove files from the view.

#rb Luc.Eygasier
#jira UE-139957 Changelists window refreshes excessively
#preflight 63615588ce68f7cbb695d54a

[CL 22890915 by patrick laflamme in ue5-main branch]
2022-11-01 16:30:00 -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
29ffae40b5 Optimized the SSourceControlChangelist to prevent copying one string per selected item several times just to display the context menu.
- The function GetSelectedFiles() copied the full pathname of each selected files (can be thoudands) several times when opening the context menu, making it non-responsive.

#rb Patrick.Enfedaque
#preflight 635a9154f1493f9786662587

[CL 22811459 by patrick laflamme in ue5-main branch]
2022-10-27 11:59:24 -04:00
patrick laflamme
ce6eba40cc Fixed reverting non-packages files from the changelist window that would never revert because they were not packages.
#rb Patrick.Enfedaque
#preflight 63592e488e260b1409e3d769

[CL 22802873 by patrick laflamme in ue5-main branch]
2022-10-26 22:20:10 -04:00
patrick laflamme
bdb87d6d26 Optimized source control changelist sorting
- Removed conversion/creation of temporary strings when sorting.
  - Removed several branching operations.
  - Used Stricmp rather than operator<() as it tells if the string is <> or == in a single operation.
  - Sorted the 'Last Modified' column using FDateTime rather that the FText/FString.
  - Mesured before/after the change with Insight, in average, the sorting 15 now times faster. (avg 2.4 ms for 7600 items).
 - Do not sort by default, waited until the user decide to sort to enable the feature.

#rb Patrick.Enfedaque
#jira UE-139957 - Changelists window refreshes excessively (Partially adressing this issue).
#preflight 63500e398176062ea7e3f6ed

[CL 22635606 by patrick laflamme in ue5-main branch]
2022-10-19 15:31:41 -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
clint levijoki
baa43a500d Added an editor project option to hide the 'Submit Content' menu action. This menu item is unwanted in some projects as it's not running any validation before submitting.
#preflight 63484914ce524ed356914926
#preflight 6349b46fa8717e9453e14b0b

[CL 22547966 by clint levijoki in ue5-main branch]
2022-10-15 02:16:54 -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
marco anastasi
2411b8a4cc Added SCC conflict warning dialog
#rb wouter.burgers
#preflight 6345cc19f93be0f63415d1df

[CL 22491713 by marco anastasi in ue5-main branch]
2022-10-12 21:54:50 -04:00
wouter burgers
3561bdca77 SourceControl / UEFN: Change #22353231 added a check on FPaths::IsRelative to see if a string is a 'package name' or a 'config file'. However, that functions consider UEFN's "/MyProject/Path/To/Package.uasset" to be a rooted path instead of a relative path (even on Windows!). This fixes the intended behavior by separating project files out of the original function and handling them separately.
#preflight 6344218d7045f13c96b4b20b

[CL 22455673 by wouter burgers in ue5-main branch]
2022-10-11 07:54:27 -04:00
wouter burgers
63d0fbdf50 SourceControl / UEFN: Fixed non package files missing from check in dialog (uefnproject, uplugin, etc). Within UEFN projects, the FPaths::GetProjectFilePath() still returns the 'FortniteGame.uproject' file, instead of the '.uefnproject' file (unfortunately). To avoid adding a whole bunch of exceptions for UEFN specific files I check for any files under the GetSourceControlProjectDir that need to be submitted (the '.uefnproject' file, the '.uplugin' file or any other UEFN specific file).
#preflight 6336c34cd165c45137fc3327

[CL 22366132 by wouter burgers in ue5-main branch]
2022-10-05 19:08:41 -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 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
b1ba9a9d10 Fix FOfflineFileTreeItem display name (Folders)
- Use same code to retrieve asset display information then FFileTreeItem

#rb patrick.laflamme
#preflight 6336cec7e72271755f0e7bea

[CL 22272707 by patrick enfedaque in ue5-main branch]
2022-09-30 12:21:26 -04:00
marco anastasi
dd01cd42b5 Create shortcut buttons in Status Bar for Skein operations
#rb wouter.burgers, patrick.laflamme
#preflight 63301d3d665f6b8f7fab0066


RESOLUTION: Resolved conflict with IsAtLatestRevision() and GetNumLocalChanges()

[CL 22193646 by marco anastasi in ue5-main branch]
2022-09-26 16:32:49 -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
patrick laflamme
b74c0e6144 Fixed a crash when refreshing the shelved files in the Changelist Window.
#rb Patrick.Enfedaque
#preflight 6324dacdf258fccf98d91791

[CL 22064940 by patrick laflamme in ue5-main branch]
2022-09-16 21:25:44 -04:00
patrick laflamme
d9a04862a3 Added the 'Last Saved' and 'User' column to the changelist window.
- Implemented sorting and searching for the new columns.
  - Added a FUpdateStatus request to the source control provider when the user selects a changelist.  This gets the users that checked out the files along with extra file status.

Added support to enable/disable changelist window columns for 'Type', 'Last Saved' and 'User' columns and persisted the settings.
Added tooltips over the changelist row that display the content of a column. Useful when the value is clipped because the column is too small.
Added tooltips over the changelist row header.
Prevented creation of useless temporary strings in PerforceSourceControlOperations.cpp

#rb Patrick.Enfedaque
#preflight 6323613367163bf6600d4fc6

[CL 22040806 by patrick laflamme in ue5-main branch]
2022-09-15 18:45:09 -04:00
patrick laflamme
2edfdf21fd Fixed updating the description of the default changelist from the changelist window.
- The P4 default changelist cannot be saved, so a new changelist is created and all the files in the default changelist are moved in the new CL.

#rb Patrick.Enfedaque
#preflight 631f34f98c5f7af11bc3464b

[CL 21973981 by patrick laflamme in ue5-main branch]
2022-09-12 18:13:31 -04:00
patrick laflamme
aeddf4fe0c Implemented text search/filtering in the changelist window.
Changed the color of the uncontrolled changelist from gray to orange
Added an icon in the to the file status column header.

#jira UE-155216 - Make the selected changelist view (list of files in a CL) searchable.
#jira UE-155213 - Make the list of changelists searchable.
#rb Patrick.Enfedaque
#preflight 631b8c332b7fe03eb601ec03

[CL 21973932 by patrick laflamme in ue5-main branch]
2022-09-12 18:11:36 -04:00
luc eygasier
b8e3c2dc0e Fixes moving uncontrolled files to existing changelist.
#rb Patrick.Laflamme
#jira UE-162549
#preflight 631b50d4d135b61bc56332c4

[CL 21929890 by luc eygasier in ue5-main branch]
2022-09-09 18:18:54 -04:00
bryan sefcik
cb0456c6d4 Cleaned up build.cs files by removing any include paths that were already being added by UBT. This was done to help identify how include paths are being added and to help with future refactoring.
#jira
#preflight 631a5c04967ffc68fbf0dd8f

[CL 21911226 by bryan sefcik in ue5-main branch]
2022-09-08 21:44:02 -04:00