/// <summary> /// Loads external link definitions from the settings. /// </summary> public IReadOnlyList <ExternalLinkDefinition> Load(RepoDistSettings settings) { var cachedSettings = new RepoDistSettings(null, settings.SettingsCache, settings.SettingLevel); var xml = cachedSettings.GetString(SettingName, null); return(LoadFromXmlString(xml)); }
public void LoadFromSettings() { if (LowerPriority != null) { LowerPriority.LoadFromSettings(); } var xml = Settings.GetString("RevisionLinkDefs", null); LinkDefs = LoadFromXmlString(xml); }
public void LoadFromSettings() { if (LowerPriority != null) { LowerPriority.LoadFromSettings(); } LinkDefs = null; try { var serializer = new XmlSerializer(typeof(List <GitExtLinkDef>)); StringReader stringReader = null; try { var xml = Settings.GetString("RevisionLinkDefs", null); if (xml == null) { LinkDefs = new List <GitExtLinkDef>(); return; } stringReader = new StringReader(xml); using (var xmlReader = new XmlTextReader(stringReader)) { stringReader = null; LinkDefs = serializer.Deserialize(xmlReader) as List <GitExtLinkDef>; } } finally { if (stringReader != null) { stringReader.Dispose(); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); LinkDefs = null; } if (LinkDefs == null) { LinkDefs = new List <GitExtLinkDef>(); } }
public static void UsingContainer(RepoDistSettings aSettingsContainer, Action action) { SettingsContainer.LockedAction(() => { var oldSC = SettingsContainer; try { _SettingsContainer = aSettingsContainer; action(); } finally { _SettingsContainer = oldSC; //refresh settings if needed SettingsContainer.GetString(string.Empty, null); } } ); }
public void SetUp() { _executable = new MockExecutable(); // Work around: When running unittest, Application.UserAppDataPath always points to // %APPDATA%Roaming\Microsoft Corporation\Microsoft.TestHost.x86 // We need to correct it to %APPDATA%\GitExtensions\GitExtensions for v3 at least var userAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var settingPath = Path.Combine(userAppDataPath, "GitExtensions\\GitExtensions\\GitExtensions.settings"); var settingContainer = new RepoDistSettings(null, GitExtSettingsCache.FromCache(settingPath), SettingLevel.Unknown); _appPath = Path.Combine(settingContainer.GetString("gitbindir", ""), "git.exe"); // Execute process in GitExtension working directory, so that git will return success exit-code // git always return non-zero exit code when run git reset outside of git repository // NUnit working directory always default to MS test host var workingDir = Path.GetDirectoryName(Assembly.GetAssembly(typeof(ExecutableExtensionsTests)).Location); _gitExecutable = new Executable(_appPath, workingDir); }
/// <summary> /// Loads external link definitions from the settings. /// </summary> public IReadOnlyList<ExternalLinkDefinition>? Load(RepoDistSettings settings) { var xml = settings.GetString(SettingName, null); return LoadFromXmlString(xml); }