Example #1
0
            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));
            }
Example #2
0
        public GitConfigFile GetConfigFile(GitNamedConfigFile name)
        {
            if (ConfigFile.Name == name)
            {
                return(ConfigFile);
            }

            if (Parent == null)
            {
                return(null);
            }

            return(Parent.GetConfigFile(name));
        }
Example #3
0
 internal WellKnown(GitNamedConfigFile name, string workingDir = null, string path = null)
 {
     m_name       = name;
     m_workingDir = workingDir;
     m_path       = path;
 }