Commit Graph

216 Commits

Author SHA1 Message Date
wouter burgers
25ed23158a SourceControl: Changelist #22880108 added support to the Submit window with support for exposing the diff functionality yes/no, depending on the SourceControl provider used. This changelist does the same for the History window.
#preflight none

[CL 23674935 by wouter burgers in ue5-main branch]
2023-01-13 02:29:22 -05:00
patrick boutot
2fc7dab67f Add the ellipsis at the end of the description when the changelist description is too long to be displayed correctly.
[FYI] chris.morrison

[CL 23662529 by patrick boutot in ue5-main branch]
2023-01-12 09:46:14 -05:00
paul chipchase
7c4a834261 Change TryVirtualizePackages/TryRehydratePackages to return the corresponding results structure rather than an enum value.
#rb Per.Larsson
#jira UE-169626
#rnx
#preflight 63bd670a71079a8d1c0e837b

- Since the API was forcing the caller to pass in a results structure to be filled in, we might as well make it the return value.
- Added a ::WasSuccessful method to the results structures that can be used instead of checking if the result had errors or not.
- Remove the reset method from FVirtualizationResult/FRehydrationResult as they no longer need it.
- The older deprecated methods still use the results enum, so we cannot easily deprecate those enums yet.

[CL 23626072 by paul chipchase in ue5-main branch]
2023-01-10 09:15:11 -05:00
brooke hubert
a3e3f4240b Disable menu option for view changelists window if changelists are not supported by the current provider
#rb lauren.barnes
#preflight 63b594e5ff7b9ad703e6443d

[CL 23580246 by brooke hubert in ue5-main branch]
2023-01-04 15:48:40 -05:00
stuart hill
894c619283 In the View Changelist window, hide the "Assets to check for reconcile" text if 'uncontrolled' changelists are not supported.
#rb brooke.hubert
#preflight 639c85052540a78d2741c962

[CL 23539911 by stuart hill in ue5-main branch]
2022-12-16 13:43:53 -05:00
paul chipchase
80beaf7cc8 Add a new overload to IVirtualizationSystem::TryVirtualizePackages, which takes additional options (via a bitfield enum) and returns more info about the resulting process. The original version has been drepcated.
#rb Per.Larsson
#jira UE-169626
#rnx
#preflight 639c4112012902cb8db43e13

- This allows us to provide the user with more ways to customize the virtualization and return more detailed info about it if the calling code wishes to log additional info. In both cases we can extend the options and the data returned without changing the API.
- Previously if we virtualized a package that was not checked out in revision control we would warn the user and then skip updating the package file on disk. This means the payloads would be uploaded but the user would be left with no local changes. Since sometimes we know we don't need to check out any package (virtualizing the packages in a change list for example) we don't want to always incur the cost of polling reivision control to see which packages do need checking out. This is why we now allow the caller to request package files be checked out via the new options enum EVirtualizationOptions.
-- If the EVirtualizationOptions::Checkout flag is provided we will poll the revision control status of all package files and then check out those which need it.
-- We still check if packages can be modified and warn the user if they can't, as package files could be locked in other ways.
- Added a new utility function to SourceControlUtilties to make it easier to check out packages. There is similar functionality elsewhere in the code base but the virtualization module is too low level to make use of it.
- Updated existing code that calls ::TryVirtualizePackages and add cases of ''using namespace UE::Virtualization' where required to improve readability.
- The UnrealVirtualizationTool now supports a new cmdline option "-checkout" that can be used when virtualizing packages. This will checkout any package that was actually virtualized so the result can be saved back out to the workspace domain. This means we no longer require the caller to have checked out the packages before running the tool.

[CL 23536832 by paul chipchase in ue5-main branch]
2022-12-16 06:25:07 -05:00
aditya ravichandran
0d52522f00 Submit Files: Fix missing revision control icons
#jira UE-172827
#rb trivial

[CL 23531436 by aditya ravichandran in ue5-main branch]
2022-12-15 15:58:40 -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
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
jordan hoffmann
52755b77d7 [BugFix] Diffing Assets against depot can cause them to get saved with the PKG_ForDiffing flag
- non-temp assets shouldn't be loaded with the LOAD_ForDiff flag.
#jira UE-160889
#rb dan.oconnor
#rb phillip.kavan
[FYI] julien.lheureux
#preflight 63911c8e255f07df8e817474

[CL 23439362 by jordan hoffmann in ue5-main branch]
2022-12-07 20:12:12 -05:00
SRombauts
69941d023e PR #9868: Revision Control History display file size with best unit (Contributed by SRombauts)
#Jira UE-171295
#rb brooke.hubert
#preflight 638e59c7bb6fefa4726bc89b

[CL 23399428 by SRombauts in ue5-main branch]
2022-12-05 16:28:05 -05:00
brooke hubert
2900a9310e Fixed an issue in the history window where strings that began with whitespace could show as empty in the description column
Standardized changelist description single line to a helper function to ensure the changelist window and history window have consistency

#rb wouter.burgers
#preflight 638e09551776b8c21c18e716

[CL 23394656 by brooke hubert in ue5-main branch]
2022-12-05 13:19:35 -05:00
aditya ravichandran
338fb4be16 Replace some remaining instances of "Source Control" with "Revision Control" in text
#rb JeanMichel.Dignard, Robb.Surridge

[CL 23251078 by aditya ravichandran in ue5-main branch]
2022-11-23 12:08:16 -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
wouter burgers
1d05967695 SourceControl: For source control providers supporting the GetNumLocalChanges API, which returns a TOptional<bool>, the 'Submit Content' button in the Mainframe and SourceControl bar (bottom right) will only activate if there are changes to check-in.
#preflight none

[CL 23230899 by wouter burgers in ue5-main branch]
2022-11-21 20:38:43 -05:00
wouter burgers
1161fdcd00 SourceControl / UEFN: Get latest on project with the shortcut F5.
This introduces a MainFrame menu item under TOOLS -> SOURCE CONTROL called 'Sync Content', similar to the existing 'Submit Content' option. The new menu item is tied to the F5 hot key.

#preflight 63722efcb6636838285ea216

[CL 23129394 by wouter burgers in ue5-main branch]
2022-11-14 18:26:11 -05:00
wouter burgers
b8e2f116ae SourceControl: Fixed status bar in 'View Changelists' dialog displaying 'Updating Changelists...' indefinitely when the provider does not support changelists (because the operation is unsupported, the callback is never called).
#preflight none

[CL 23069559 by wouter burgers in ue5-main branch]
2022-11-09 20:57:45 -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
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