Added code when filtering rocket files to search through build products for target files and add their runtime dependencies to the filter rules.
#jira UEB-372
[CL 2672116 by Matthew Griffin in Main branch]
By default, Mac has a shim that executes svn from the currently active xcode package which interferes with the original fix for UE-9429. We now explicitly check for /usr/bin/svn and check to see if an active xcode version is installed before using that as the svn client executable. If any of this fails, we fall back to the shipped binary.
Reviewed by Michael.Trepka
[CL 2616786 by Andrew Rodham in Main branch]
This addresses issues where users have repositories and checkouts that were made with different versions of SVN to the client binary we ship. We now attempt to detect a system-level svn binary, and only use the shipped binary as a fallback.
Users can completely override the binary executable location by specifying a ExecutableLocation=/path/to/svn in their SourceControlSettings.ini. This is useful where the client tools do not exist in the system environment path.
This addresses UE-9429 - Cannot connect to SVN on OSX even after setting up keychain
[CL 2615163 by Andrew Rodham in Main branch]
UE-17109 - Collections cannot be created when using SVN as your SCC provider
The collection was trying to add itself to source control before the file had been created. Perforce allows this, but SVN and Git do not.
Additionally, SVN was trying to recursively commit any added parent folders when committing a file within those folders (required to avoid the commit operation failing), however that was failing to get the current SVN status of anything but the most immediate parent folder, causing the recusive check to fail.
[CL 2588523 by Jamie Dale in Main branch]
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
* Made nullptr checks consistent (the plurality of the changes are of this type)
* Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
* Removed unused variables
* Removed redundant initializations
* WidgetNavigationCustomization.cpp was fixed by the owner
* integers converted to floats where result was stored in a float
* Removed redundent null checks (e.g. before delete statements)
* Renamed variables to prevent non-obvious shadowing
* Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
* Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)
[CL 2498053 by Dan Oconnor in Main branch]
Added a hint flag to prevent us from needing to perform whole-repo updates for every multi-file status update (such as those in the content browser). This also keeps the performance improvements we get form querying the workign copy root when 'Submit to source control...' is clicked.
Also added a temp fix for a crash when initializing the file list in the submit dialog where plugin content would not resolve package names correctly. Right now we just display the filename. A proper fix is hopefully incoming from Rob M (listed as UE-11493) which measn we can revert back to using package names.
From this UDN:
https://udn.unrealengine.com/questions/238672/potential-threading-issue-using-subversion-in-edit.html
UE-11466 - SVN status can take a very long time in certain circumstances, and possibly crash
[CL 2473604 by Thomas Sarkanen in Main branch]
#jira UE-6304 - Source Control: Add the ability to commit file deletions from the editor
#reviewedby Thomas.Sarkanen
[CL 2446774 by Richard TalbotWatkin in Main branch]
API break: added new pure virtual ISourceControlProvider::UsesChangelists()
API break: added new pure virtual ISourceControlState::FindHistoryRevision(const FString&)
API break: added new pure virtual ISourceControlRevision::GetRevision()
Implementing a Git provider requires us to be able to display revisions that are not indices as Git revisions are hashes. This updates the relvant code to allow us to display these revisions correctly.
[CL 2411986 by Thomas Sarkanen in Main branch]
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.
#codereview robert.manuszewski
[CL 2400883 by Steve Robb in Main branch]
Before this commit, FSubversionUpdateStatusWorker::Execute called svn status --show-updates <paths> giving it all assets. This resulted in two connections to svn server per each file. For example, on ShooterGame demo "Checking for assets to checkin" took 2 minutes even over 1Gbps LAN.
This commit replaces svn status --show-updates <paths> with svn status --show-updates <working_copy_root> whenever more than one path is requested.
Unfortunately, svn status doesn't recurse into unversioned directories, so preinit all states to NotControlled/NotAWorkingCopy.
GitHub PR# 519 - https://github.com/EpicGames/UnrealEngine/pull/519
[CL 2398687 by Thomas Sarkanen in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]