public static TM_UserData load_UserData_FromGitRepo(this TM_UserData userData) { try { var gitConfig = userData.tmConfig().Git; if (gitConfig.UserData_Git_Enabled.isFalse()) { return(userData); } var gitLocation = TM_Xml_Database.Current.TM_Server_Config.getActive_UserData_Repo_GitPath(); if (gitLocation.valid()) { //Adjust Path_UserData so that there is an unique folder per repo var extraFolderName = "_Git_"; // extra mode to switch of multiple Git_Hosting in same server extraFolderName += gitLocation.replace("\\", "/").split("/").last().remove(".git").safeFileName(); userData.Path_UserData = userData.Path_UserData_Base + extraFolderName; //userData.Path_UserData.createDir(); "[handleExternalGitPull] userData.Path_UserData set to: {0}".debug(userData.Path_UserData); if (MiscUtils.online().isFalse()) { return(userData); } if (userData.Path_UserData.isGitRepository()) { if (gitConfig.UserData_Auto_Pull.isFalse()) //skip if this is set { return(userData); } "[TM_UserData][GitPull]".info(); var nGit = userData.Path_UserData.git_Open(); nGit.pull(); //var nGit = userData.Path_UserData.git_Pull(); userData.pushUserRepository(nGit); } else { var start = DateTime.Now; "[TM_UserData][GitClone] Start".info(); gitLocation.git_Clone(userData.Path_UserData); "[TM_UserData][GitClone] in ".info(start.duration_To_Now()); } } } catch (Exception ex) { ex.log("[handleExternalGitPull]"); } return(userData); }
public static TM_UserData handle_External_GitPull(this TM_UserData userData) { try { //var gitLocationFile = HttpContextFactory.Server.MapPath("gitUserData.config"); var gitLocationFile = TMConfig.Current.getGitUserConfigFile(); if (gitLocationFile.fileExists()) { "[TM_UserData][handleExternalGitPull] found gitConfigFile: {0}".info(gitLocationFile); var gitLocation = gitLocationFile.fileContents(); if (gitLocation.notValid()) { return(userData); } //if (userData.Path_UserData.dirExists() && userData.Path_UserData.files().empty()) // userData.Path_UserData.delete_Folder(); //Adjust Path_UserData so that there is an unique folder per repo var extraFolderName = "_Git_"; // extra mode to switch of multiple Git_Hosting in same server extraFolderName += gitLocation.replace("\\", "/").split("/").last().remove(".git").safeFileName(); userData.Path_UserData = userData.Path_UserData_Base + extraFolderName; //userData.Path_UserData.createDir(); "[handleExternalGitPull] userData.Path_UserData set to: {0}".debug(userData.Path_UserData); if (MiscUtils.online().isFalse()) { return(userData); } if (userData.Path_UserData.isGitRepository()) { "[TM_UserData][GitPull]".info(); var nGit = userData.Path_UserData.git_Pull(); userData.pushUserRepository(nGit); } else { var start = DateTime.Now; "[TM_UserData][GitClone] Start".info(); gitLocation.git_Clone(userData.Path_UserData); "[TM_UserData][GitClone] in ".info(start.duration_to_Now()); } } } catch (Exception ex) { ex.log("[handleExternalGitPull]"); } return(userData); }