void UpdateKeysOfInterrest(SVNStatusDatabase statusDatabase) { var svnKeysOfInterrest = from keys in statusDatabase.Keys where !keys.EndsWith(".meta") let svnStatus = statusDatabase[keys] let metaStatus = statusDatabase.GetMetaStatus(keys) where (svnStatus.fileStatus != ESVNFileStatus.Normal || svnStatus.owner != null || (metaStatus != null && metaStatus.fileStatus != ESVNFileStatus.Normal)) orderby svnStatus.fileStatus select new SVNKeyValuePair(keys, svnStatus); mKeysOfInterrest = svnKeysOfInterrest.ToList(); UpdateFilteringOfKeys(); }
void RefreshGUI(object source, SVNDatabaseArgs e) { if (e is SVNDatabaseUpdatedArgs) { var args = e as SVNDatabaseUpdatedArgs; mSVNBusy = false; mSVNStatusDatabase = args.statusDatabase; UpdateKeysOfInterrest(args.statusDatabase); svnCommandHistory.Add(args.output); Repaint(); mCheckForConflicts = true; SaveState(); mCurrentSVNOperation = null; } if (e is SVNDatabaseBusyArgs) { var args = e as SVNDatabaseBusyArgs; mCurrentSVNOperation = args.commandlineOperation.command; mSVNBusy = true; Repaint(); } if (e is SVNDatabaseErrorArgs) { var args = e as SVNDatabaseErrorArgs; CommandLineOutput output = args.output; string userMessage = output.command + " " + output.arguments + "\n\n" + output.errorStr + "\nExitCode:" + output.exitcode; if (output.exception != null) { userMessage += "\nException: \n" + output.exception.Message; } if (ImportantSVNError(output)) { Debug.LogWarning(userMessage); EditorUtility.DisplayDialog("SVN Warning", userMessage, "OK"); } else { Debug.Log("Verbose SVN message:\n" + userMessage); } } }