Skein, the only provider that returns 'true' for 'UsesSnapshots()' requires the user to be at head when doing a check-in operation, or the check-in will fail.
This is enforced within the plugin, not the CLI, by performing an FSync prior to doing an FCheckIn. It's not easy to do the sync within the CLI as part of the check-in as the editor doesn't release its file locks when doing an FCheckIn, causing syncs to fail.
For this, a code path was introduced in SourceControlMenuHelpers that triggers a sync before triggering the check-in, when clicking the 'Check In Changes' button visible in the bottom right of the editor within UEFN.
However, this approach fails if other code paths in the editor call ChoosePackagesToCheckIn directly. This is known to happen for the MainFrame's "Submit Content" action, which was therefore disabled for Skein in #26272334, but the issue could be more widespread.
To provide a definitive fix for this issue, the sync is moved to within ChoosePackagesToCheckIn, triggered only when 'UsesSnapshots()' is true, which effectively means Skein only.
#rnx
[CL 27582511 by wouter burgers in ue5-main branch]
Unsaved asset drag-and-drop handler: When unsaved assets are selected and then dropped onto a changelist entry, they are checked out, saved, and then moved to the target changelist.
#jira UE-181906
#rb @zach.rammell
[CL 26976967 by han chu in ue5-main branch]
+ Expand source control menu context with selected changelist,
+ Expose information about if changelist is default and its source control specific identifier,
#rb Patrick.Enfedaque, Patrick.Laflamme, zach.rammell
#preflight skip
#p4v-cherrypick 25526575
#preflight 64665919b91ab13b09c2089c
[CL 25528171 by jordan hoffmann in ue5-main branch]
A side effect of showing conflicted items greyed out in the Submit Files window is that the Revert operation is also disabled as greyed-out items are not selectable. This is not desirable as the user may well want to get out of a conflict situation by reverting the conflicted file and the submit dialog is a convenient place to do that.
#rb stuart.hill, manuel.lang
#preflight none
[CL 25333894 by marco anastasi in ue5-main branch]
Previously only refreshed the changelist view
#jira UE-181901
#rb ronald.koppers
#preflight 644832fc864f15ebf5dbe7aa
[CL 25188908 by zach rammell in ue5-main branch]
* Option to check in an asset from the Content Browser Source Control Context Menu is now enabled if the SCC does not use Snapshots instead of if it uses File Revisions
* Option to check in an asset from the Scene Outliner Source Control Context Menu is now enabled if the SCC does not use Snapshots instead of if it uses File Revisions
* Ability to uncheck files in the Submit Files Window is now enabled if the SCC does not use Snapshots instead of if it uses File Revisions
* Option to revert the writable flag on an asset in the Content Browser Source Control Context Menu is now enabled if the SCC uses checkout instead of if it uses File Revisions (like the 'Make Writable' option)
#jira UCS-6630
#rb brooke.hubert, wouter.burgers
#lockdown jeanmichel.dignard
#preflight 640e6b41482188d710ff8316
[CL 24724061 by marco anastasi in ue5-main branch]
- Can be enabled/disabled via cvar (default disabled, enabled in Skein).
- Can revert unsaved in ContentBrowser (=new)
- Can revert unsaved in SceneOutliner (=existing)
#preflight 641059120e1f02786b3dd9ee
[CL 24636117 by wouter burgers in ue5-main branch]
#jira UE-179855 - Validation system is Failing to Append '#changelist validated' Tag in CL Description
#rb Brooke.Hubert
#preflight 640f28c4af3fc35292b3b252
[CL 24634288 by Patrick Laflamme in ue5-main branch]
This previously resulted in the level being deleted irreversibly.
#jira UE-169781
#rb brooke.hubert, ronald.koppers
#lockdown jeanmichel.dignard
#preflight 63ebff59514832b24268590f
[CL 24224931 by zach rammell in ue5-main branch]