/** * Create a backup of the specified packages. A backup is only created if a specified * package meets specific criteria, as outlined in the comments for ShouldBackupPackage(). * * @param InPackage Package which should be backed up * * @see FAutoPackageBackup::ShouldBackupPackage() * * @return true if all provided packages were successfully backed up; false if one or more * were not */ bool FAutoPackageBackup::BackupPackages( const TArray<UPackage*>& InPackages ) { bool bAllPackagesBackedUp = true; for ( TArray<UPackage*>::TConstIterator PackageIter( InPackages ); PackageIter; ++PackageIter ) { UPackage* CurPackage = *PackageIter; check( CurPackage ); if ( !BackupPackage( *CurPackage ) ) { bAllPackagesBackedUp = false; } } return bAllPackagesBackedUp; }
void FAssetContextMenu::ExecuteSCCSync() { TArray<FString> PackageNames; GetSelectedPackageNames(PackageNames); TArray<FString> PackageFileNames = SourceControlHelpers::PackageFilenames(PackageNames); TArray<UPackage*> Packages; GetSelectedPackages(Packages); if(PackageTools::UnloadPackages(Packages)) { ISourceControlModule::Get().GetProvider().Execute(ISourceControlOperation::Create<FSync>(), PackageFileNames); for( TArray<FString>::TConstIterator PackageIter( PackageNames ); PackageIter; ++PackageIter ) { PackageTools::LoadPackage(*PackageIter); } } else { FMessageDialog::Open( EAppMsgType::Ok, LOCTEXT("SCC_Sync_PackageUnloadFailed", "Could not unload assets when syncing from source control") ); } }