Commit Graph

123 Commits

Author SHA1 Message Date
wouter burgers
b47523fd5f SourceControl: Changing capitalization of 'revision control' to 'Revision Control' per UX guidelines.
#preflight none

[CL 24046484 by wouter burgers in ue5-main branch]
2023-02-07 05:41:38 -05:00
wouter burgers
1d6ef4b2e3 SourceControl: Added CanExecuteOperation to ISourceControlProvider interface.
#preflight 63de1752fe33a06594fc2e02

[CL 24018386 by wouter burgers in ue5-main branch]
2023-02-04 10:54:03 -05:00
zach rammell
1edfb3ed31 Unsaved Assets in Changelist Window
#jira UE-169781
#preflight 63d4247a5354589b5c022e4c
#rb brooke.hubert
#lockdown jeanmichel.dignard

[CL 23923988 by zach rammell in ue5-main branch]
2023-01-31 01:26:50 -05: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
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
JeanMichel Dignard
5fc36285ba Fixed typos reported by localization
#jira UE-170395
#rb none
#preflight 63939b065c5308d18c4adbab

[CL 23468692 by JeanMichel Dignard in ue5-main branch]
2022-12-09 15:54:23 -05:00
aditya ravichandran
28eccf9aa0 Revision Control Iconography Update:
Update the default set of revision control icons
Create FRevisionControlStyleManager to manage the currently active revision control style and add a default style that is used by all providers
#rb lauren.barnes, brooke.hubert
#preflight 639364ee67018b14b5fb9891

[CL 23466976 by aditya ravichandran in ue5-main branch]
2022-12-09 14:18:01 -05:00
marco anastasi
3ff24ee93a Added separate toast description for generic error on failed auto-checkout
#rb manuel.lang, zach.rammell, wouter.burgers
#preflight 6387aad2b21cdd3a26d45878

[CL 23345359 by marco anastasi in ue5-main branch]
2022-11-30 21:18:15 -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
paul chipchase
85c3793e92 Allow FGetChangelistDetails to accept the changelist number as part of the constructor, allowing it to be passed in as an arg for ISourceControlOperation::Create
#rb Per.Larsson
#rnx
#preflight

- Added a FStringView and FString&& versions of the constructor so we should be covered for all use cases.

[CL 23232563 by paul chipchase in ue5-main branch]
2022-11-22 04:38:16 -05: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
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
christian savoie
fd89edb9be Add access to local revision number for all source control systems.
Change perforce Revert option to be based on if an item is checked out or marked for add, rather than if it can be checked in.

#tests Used to implement source control menu refactor https://p4-swarm.epicgames.net/reviews/22528870

[CL 22863683 by christian savoie in ue5-main branch]
2022-10-31 11:08:06 -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
wouter burgers
2a2222ade7 SourceControl: Generalized the 'checked out by other' text in the AssetBrowser tooltip to a 'source control text'.
In essense, this was already true because 'FPerforceSourceControlState::GetDisplayTooltip()' would return the 'IsConflicted' or '!IsCurrent' text before considering the 'IsCheckedOutByOther' text, so the tooltip would potentially already contain warning texts.

#preflight 634d26a79c29024c9819df27

[CL 22595449 by wouter burgers in ue5-main branch]
2022-10-18 04:42:35 -04:00
patrick laflamme
75ca107c39 Fixed CIS for not finding the correct hash function of uintptr_t in SourceControlFileStatusMonitor.h
#rb none
#preflight none

[CL 22322257 by patrick laflamme in ue5-main branch]
2022-10-03 20:38:57 -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
aa180f6f09 Fix not being able to revert Uncontrolled Changelist changes with files not at head revision. (files were forced synched to proper revision but would stay in the UC)
- Add flag to SourceControlOperation to test modified status against synched revision (p4 #have)
- Use this new flag when testing for modifications in UncontrolledChangelist

#jira UE-165558
#rb luc.eygasier
#preflight 633633b7936ff7e3dcda5f92

[CL 22271768 by patrick enfedaque in ue5-main branch]
2022-09-30 11:39:49 -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
paul chipchase
623ba6cc9e The source control settings for the VA source control connection are no longer saved to a local ini file.
#rb Per.Larsson
#jira UE-163834
#rnx
#preflight 632d98e4b4515b7e221654ec

### Virtualization
- At the moment there is no way in the editor UX to change the source control settings for the source control backend, so what ever settings are found in the global environment would be applied when the editor is first run and then saved to a config file under the <saved> directory. From this point onwards those settings would always be used when setting up the source control backend. If the settings were wrong, the first time that the editor was started, then we'd continue to use the incorrect settings even if the global enviroment was fixed. Making the backend work at that point would require that the user know about the local ini file and change the settings there.
- We cannot fix this by just ignoring the ini file as it has been requested that users can add their settings there in case they want to customize things, so we just need to avoid saving to it.
- Added documentation to the source control backends header file on how to set up the ini file if needed.

### Perforce
- FSourceControlInitSettings now accepts EConfigBehavior which describes how we want the source control provider to deal with its settings with regards to the ini file.
- Note that EConfigBehavior is not a bitfield as we do not wish to support only writing to the ini file, there is no point if it cannot be read from.
- When the source control provider is creatred we pass on the into from EConfigBehavior to the FPerforceSourceControlSettings to enable/disable saving and loading.

[CL 22163769 by paul chipchase in ue5-main branch]
2022-09-23 20:05:59 -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
wouter burgers
286e2234bf SourceControl / UEFN: Remove / disable 'sync' context menu item in Content Browser.
For SourceControl providers that do not support individual file revisions, the 'Sync' option in the context menu of the Content Browser is misleading as it suggests only the selected files/folders will be synced, while in reality the sync is project wide. I've left the current behavior as the default behavior for all but Skein/Git of which I know they do not support individual file revisions.

#preflight 631ec93359159ac1832b5538

[CL 22086921 by wouter burgers in ue5-main branch]
2022-09-19 21:54:19 -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
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