Instead of using the (cached) state, we cache the brush to use to display the state and only hit the state cache when state changes.
Also updated Execute() calls to providers to only do relative-path conversions if the path is already relative.
Added SourceControlHelpers::AbsoluteFilenames to aid conversion.
TTP# 335201 - ContentBrowser: Improve idle performance
#codereview Andrew.Brown
[CL 2075346 by Thomas Sarkanen in Main branch]
To allow for further abstraction & extension using DVCS systems like Git & Mercurial, we expose a new CanCheckIn() function that is used when determing 'modifed' files to check in.
#github https://github.com/EpicGames/UnrealEngine/pull/151
TTP# 335099 - [GitHub] 151 : Add ISourceControlState::CanCheckIn()
reviewed by Max.Preussner
[CL 2073950 by Thomas Sarkanen 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]
#ttp 331118 LIVE: Editor: Source Control: Engine content is displayed in Check In dialog
#add Added a CanAdd() function to the source control state API & implemented this for both providers.
#change Changed asset context menu to restrict operations that can be performed based on the new information provided by CanAdd().
#fix Fixed a terrible bug in the SVN provider where only the first batch of 50 files would have their status returned correctly.
reviewed by Andrew.Brown
[CL 2043041 by Thomas Sarkanen in Main branch]