public static TM_Xml_Database setupGitSupport(this TM_Xml_Database tmDatabase)
        {
            var gitConfig = tmDatabase.tmConfig().Git;

            if (gitConfig.LibraryData_Git_Enabled)
            {
                foreach (var library in tmDatabase.tmLibraries())
                {
                    var libraryPath = tmDatabase.xmlDB_Path_Library_XmlFile(library).parentFolder();
                    if (libraryPath.isGitRepository())
                    {
                        var nGit = libraryPath.git_Open();
                        try
                        {
                            nGit.git_Pull_Library();
                            nGit.git_Push_Library();
                        }
                        catch (Exception ex)
                        {
                            ex.log();
                        }

                        tmDatabase.NGits.Add(nGit);
                    }
                }
                tmDatabase.triggerGitCommit();
            }
            return(tmDatabase);
        }
 public static TM_Xml_Database   triggerGitCommit(this TM_Xml_Database tmDatabase)
 {
     if (tmDatabase.tmConfig().Git.LibraryData_Git_Enabled)
     {
         foreach (var nGit in tmDatabase.NGits)
         {
             if (nGit.status().valid())
             {
                 nGit.gitCommit_SeparateThread();
             }
         }
     }
     return(tmDatabase);
 }
예제 #3
0
        public static string get_GuidRedirect(this TM_Xml_Database tmXmlDatabase, Guid id)
        {
            var virtualArticle = tmXmlDatabase.virtualArticle(id);

            if (virtualArticle.notNull())
            {
                if (virtualArticle.Action == "Redirect")
                {
                    var redirect = virtualArticle.Redirect_Uri.str();
                    "Found Guid Rediction: {0} -> {1}".info(id, redirect);
                    return(redirect);
                }
            }
            var virtualArticles_Config = tmXmlDatabase.tmConfig().VirtualArticles;

            if (virtualArticles_Config.AutoRedirectIfGuidNotFound)
            {
                var redirect = virtualArticles_Config.AutoRedirectTarget.pathCombine(id.str());
                "[AutoRedirectIfGuidNotFound is set] set redirection to {0}".info(redirect);
                return(redirect);
            }
            return(null);
        }