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); }
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); }