static AppSettings() { ApplicationDataPath = new Lazy <string>(() => { if (IsPortable()) { return(GetGitExtensionsDirectory()); } else { //Make applicationdatapath version independent return(Application.UserAppDataPath.Replace(Application.ProductVersion, string.Empty)); } } ); _SettingsContainer = new RepoDistSettings(null, GitExtSettingsCache.FromCache(SettingsFilePath)); GitLog = new CommandLogger(); if (!File.Exists(SettingsFilePath)) { ImportFromRegistry(); } }
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"); RepoDistSettings settingContainer = new(null, GitExtSettingsCache.FromCache(settingPath), SettingLevel.Unknown); _appPath = settingContainer.GetString("gitcommand", "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); }
static AppSettings() { ApplicationDataPath = new Lazy <string>(() => { if (IsPortable()) { return(GetGitExtensionsDirectory()); } else { //Make applicationdatapath version independent return(Application.UserAppDataPath.Replace(Application.ProductVersion, string.Empty)); } } ); SettingsContainer = new SettingsContainer <RepoDistSettings>(null, GitExtSettingsCache.FromCache(SettingsFilePath)); Version version = AppVersion; GitExtensionsVersionString = version.Major.ToString() + '.' + version.Minor.ToString(); if (version.Build > 0) { GitExtensionsVersionString += '.' + version.Build.ToString(); } if (!EnvUtils.RunningOnWindows()) { PathSeparator = '/'; PathSeparatorWrong = '\\'; } GitLog = new CommandLogger(); if (!File.Exists(SettingsFilePath)) { ImportFromRegistry(); } }