TeamMentor.CoreLib.TM_Xml_Database_Git_ExtensionMethods.setupGitSupport C# (CSharp) Method

setupGitSupport() public static method

public static setupGitSupport ( this tmDatabaseGit ) : TM_Xml_Database
tmDatabaseGit this
return TM_Xml_Database
        public static TM_Xml_Database setupGitSupport(this TM_Xml_Database_Git tmDatabaseGit)
        {
            var tmFileStorage = TM_FileStorage.Current;
            var tmDatabase = tmFileStorage.TMXmlDatabase;

            var gitConfig = tmFileStorage.tmServer().Git;

            if (gitConfig.LibraryData_Git_Enabled)
            {
                var online = WebUtils.online();
                if (online)
                    "[TM_Xml_Database] [setupGitSupport] we are online, so git Pull and Pull will be attempted".info();
                else
                    "[TM_Xml_Database] [setupGitSupport] we are offline, so no git Pull and Pulls".info();
                foreach (var library in tmDatabase.tmLibraries())
                {
                    var libraryPath = tmFileStorage.xmlDB_Path_Library_XmlFile(library).parentFolder();
                    if (libraryPath.isGitRepository())
                    {
                        var nGit = libraryPath.git_Open();
                        if (online)
                        {
                            nGit.git_Pull_Library();
                            nGit.git_Push_Library();
                        }
                        tmDatabaseGit.NGits.Add(nGit);
                    }
                    else
                        "[TM_Xml_Database] [setupGitSupport]  library {0} is currently not a git repo".info(libraryPath.folderName());
                }
                tmDatabaseGit.triggerGitCommit();
            }
            return tmDatabase;
        }