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]
UETOOL-332 - Collections 2.0
Removed some duplicated data from FCollection (AssetList and AssetSet) as they had to be manually kept in sync. Only AssetSet exists now, and is converted into an array and sorted before being written to disk (to keep the order consistent for diffing). DiskAssetList has also been converted into a set (now DiskAssetSet) as this is only ever used for lookup queries.
All manually memory management has been removed from FCollectionManager, and the array of maps to collections has been converted into a single map using FCollectionNameType as its key. This simplifies collection lookup code in most cases, and removes the need to manually track the total number of collections outside of the map (NumCollections has now been removed).
Renamed ICollectionManager::GetCollectionsContainingAsset to ICollectionManager::GetCollectionsContainingObject as the function checks for any objects, not just assets.
Renamed FCollection::IsAssetInCollection to FCollection::IsObjectInCollection as the function checks for any objects, not just assets.
Made ICollectionManager::IsCollectionEmpty const.
Replaced all appropriate loop usage with range-based-for, and replaced any NULL with nullptr.
[CL 2560621 by Jamie Dale in Main branch]
#ttp 331349 Editor: Source Control: Some issues with creating new source control provider
#change Fixed up conflation of enum with bool in if() blocks when calling Execute().
#fix Fixed QueueStatusUpdate not checking for NULL source control state.
reviewed by Andrew.Brown
[CL 2049714 by Thomas Sarkanen in Main branch]