internal static GitConfigFile Load(GitNamedConfigFile name, string workingDir = null) { if (name == GitNamedConfigFile.System) { return(new WellKnown(GitNamedConfigFile.System)); } if (name == GitNamedConfigFile.Global) { return(new WellKnown(GitNamedConfigFile.Global)); } if (workingDir == null) { workingDir = Environment.CurrentDirectory; } workingDir = workingDir.ToDir(); var gitDir = workingDir.FindFileAbove(GitDirName, directory: true); if (gitDir == null) { return(null); } var path = gitDir + GitLocalConfigFileName; return(new WellKnown(GitNamedConfigFile.Local, workingDir, path)); }
public GitConfigFile GetConfigFile(GitNamedConfigFile name) { if (ConfigFile.Name == name) { return(ConfigFile); } if (Parent == null) { return(null); } return(Parent.GetConfigFile(name)); }
internal WellKnown(GitNamedConfigFile name, string workingDir = null, string path = null) { m_name = name; m_workingDir = workingDir; m_path = path; }